only52607 / LuaMiraiForAndroid

LuaMirai安卓客户端
GNU Affero General Public License v3.0
15 stars 5 forks source link

在线程内使用Bot相关代码闪退 #11

Open HelloMitsuha opened 2 years ago

HelloMitsuha commented 2 years ago

Describe the bug 未知原因,在thread使用Bot相关代码会导致整个软件层的闪退 包括但不限于 ①直接使用Bot(QQ号) ②变量赋值Bot对象并调用

To Reproduce ①编写对应代码(thread代码套Bot代码)

thread(function()--线程
  --原本有while,后来用了sleep也不好使
  --因此删除了while true do,但不影响闪退
  g=Bot(qq):getGroup(群号)
end)

②导入脚本并(在有Bot在线时)执行 ③恭喜,闪退了

Expected behavior 没有症状,直接闪退,且没有错误日志

Screenshots 由于前面是线程执行loadstring/loadfile内包含Bot指令(脚本前面给mybot赋值了自动获取的Bot对象,因此此截图仍然适用) Screenshot_20220823_121510(注:前面有调用过变量执行Bot命令,读取文件执行会闪退,而图片问题虽不与更改后的Issues内容相关,但也可能是在线程中使用loadstring出现的部分代码无法执行的问题) Screenshot_20220823_121344 Screenshot_20220823_121641 (注:没有执行os.exit)

Desktop (please complete the following information):

Smartphone (please complete the following information):

Additional context

HelloMitsuha commented 2 years ago

应该没有正常人会用thread执行Bot函数,但我因为要循环,不得不用,而我用Androlua开发时也因为异步线程(thread)导致的各种问题而劝退,因此这个确实难搞,请作者大大在有精力的时候再修复,谢谢