koishijs / koishi-desktop

Launch Koishi from your desktop
https://koishi.chat/manual/starter/
GNU Affero General Public License v3.0
89 stars 7 forks source link

Bug: 在Koishi Desktop中向终端输出某些字符会导致整个koishi Desktop卡死在重启界面 #138

Open Aegiszhy opened 4 months ago

Aegiszhy commented 4 months ago

背景

用koishi插件尝试接收socket数据包并将其用console.log(.toString())输出在终端时,其中某些字符会导致koishi Desktop崩溃。

复现

koi.exe run daemon 开启koishi Desktop时,终端内容得以展现。
此时接收到数据包内容并输出其文本时,文本前端包含未知字符,导致控制台报出如下错误:
panic: syscall: string with NUL passed to StringToUTF16
且右图会成为所示的崩溃状态。 QQ图片20240625015048

调查

通过不断的手动断点检查,发现是如下字符会导致koishi Desktop崩溃。 image

补充

这种情况在开发模式 (yarn devyarn start) 下没有问题,目前就在 koishi Desktop ( koishi daemon) 下会出现问题。<br/> 需要用koi start daemon `才能调出日志。