TerminalStudio / xterm.dart

💻 xterm.dart is a fast and fully-featured terminal emulator for Flutter, with support for mobile and desktop platforms.
https://pub.dev/packages/xterm
MIT License
492 stars 95 forks source link

Unhandled Exception: Converting object to an encodable object failed: NaN #193

Open jinghaiying opened 4 months ago

jinghaiying commented 4 months ago

使用 with AutomaticKeepAliveClientMixin,调用htop,把当前终端页置于后台时 terminal.write(data); 会一直报错Converting object to an encodable object failed: NaN

堆栈信息如下:

[ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: Converting object to an encodable object failed: NaN
#0      _JsonStringifier.writeObject (dart:convert/json.dart:793:7)
#1      _JsonStringifier.writeMap (dart:convert/json.dart:874:7)
#2      _JsonStringifier.writeJsonValue (dart:convert/json.dart:829:21)
#3      _JsonStringifier.writeObject (dart:convert/json.dart:784:9)
#4      _JsonStringifier.writeMap (dart:convert/json.dart:874:7)
#5      _JsonStringifier.writeJsonValue (dart:convert/json.dart:829:21)
#6      _JsonStringifier.writeObject (dart:convert/json.dart:784:9)
#7      _JsonStringStringifier.printOn (dart:convert/json.dart:982:17)
#8      _JsonStringStringifier.stringify (dart:convert/json.dart:967:5)
#9      JsonEncoder.convert (dart:convert/json.dart:345:30)
#10     JsonCodec.encode (dart:convert/json.dart:231:45)
#11     JSONMessageCodec.encodeMessage (package:flutter/src/services/message_codecs.dart:102:51)
#12     JSONMethodCodec.encodeMethodCall (package:flutter/src/services/message_codecs.dart:138:37)
#13     MethodChannel._invokeMethod (package:flutter/src/services/platform_channel.dart:323:34)
#14     OptionalMethodChannel.invokeMethod (package:flutter/src/services/platform_channel.dart:601:18)
#15     _PlatformTextInputControl.setEditableSizeAndTransform (package:flutter/src/services/text_input.dart:2292:14)
#16     TextInput._setEditableSizeAndTransform (package:flutter/src/services/text_input.dart:1975:15)
#17     TextInputConnection.setEditableSizeAndTransform (package:flutter/src/services/text_input.dart:1397:27)
#18     CustomTextEditState.setEditableRect (package:xterm/src/ui/custom_text_edit.dart:124:18)
#19     TerminalViewState._onEditableRect (package:xterm/src/terminal_view.dart:442:38)
#20     RenderTerminal._notifyEditableRect (package:xterm/src/ui/render.dart:323:22)
#21     RenderTerminal._onTerminalChange (package:xterm/src/ui/render.dart:168:5)
#22     Observable.notifyListeners (package:xterm/src/base/observable.dart:14:15)
#23     Terminal.write (package:xterm/src/terminal.dart:229:5)
#24     __TerminalViewState.__init.<anonymous closure>.<anonymous closure> (package:ssh_manager/views/terminal/view.part.dart:198:19)
#25     _RootZone.runUnaryGuarded (dart:async/zone.dart:1594:10)
#26     _BufferingStreamSubscription._sendData (dart:async/stream_impl.dart:339:11)
#27     _DelayedData.perform (dart:async/stream_impl.dart:515:14)
#28     _PendingEvents.handleNext (dart:async/stream_impl.dart:620:11)
#29     _PendingEvents.schedule.<anonymous closure> (dart:async/stream_impl.dart:591:7)
#30     _microtaskLoop (dart:async/schedule_microtask.dart:40:21)
#31     _startMicrotaskLoop (dart:async/schedule_microtask.dart:49:5)

系统 macOS 14.4.1 构建Desktop,Flutter版本3.19.6