可能是戳一戳导致的卡死
Closed this issue · 1 comments
lesser0 commented
问题描述
在以下情况下overflow可能卡死。卡死后日志显示overflow仍能收到后续消息,但mirai的用户插件未收到事件。overflow和napcat部署在同一机器上。
复现
目前观察到的三次发生问题时最后报错都是戳一戳,其中两次是群戳一戳事件,一次是好友戳一戳事件。但戳一戳不必定触发此问题,不确定是否有额外条件,或只是概率发生。
Overflow 版本
其他组件版本
mirai-console 2.16.0
NapCat 2.5.1
系统日志
bots/【qq号】/logs/下的日志为出错前正常收到消息,然后不再打出日志
logs/下的日志出错部分如下,在报错后,直到主动关闭前仍能打出正常接收到消息的日志。
其中一次群戳一戳出错时日志:
2024-09-17 12:29:57 W/Onebot: 请求失败: [get_group_member_info] 请求失败: app=NapCat.Onebot v2.5.1, message=Error: Uin2Uid Error 0不存在
at GetGroupMemberInfo._handle (file:///C:/Mirai_Overflow_incubator/NapCat/napcat.mjs:36567:21)
at async GetGroupMemberInfo.websocketHandle (file:///C:/Mirai_Overflow_incubator/NapCat/napcat.mjs:35924:23)
at async OB11PassiveWebSocketAdapter.handleMessage (file:///C:/Mirai_Overflow_incubator/NapCat/napcat.mjs:13379:21), retJson={"status":"failed","retcode":1200,"data":null,"message":"Error: Uin2Uid Error 0不存在\n at GetGroupMemberInfo._handle (file:///C:/Mirai_Overflow_incubator/NapCat/napcat.mjs:36567:21)\n at async GetGroupMemberInfo.websocketHandle (file:///C:/Mirai_Overflow_incubator/NapCat/napcat.mjs:35924:23)\n at async OB11PassiveWebSocketAdapter.handleMessage (file:///C:/Mirai_Overflow_incubator/NapCat/napcat.mjs:13379:21)","wording":"Error: Uin2Uid Error 0不存在\n at GetGroupMemberInfo._handle (file:///C:/Mirai_Overflow_incubator/NapCat/napcat.mjs:36567:21)\n at async GetGroupMemberInfo.websocketHandle (file:///C:/Mirai_Overflow_incubator/NapCat/napcat.mjs:35924:23)\n at async OB11PassiveWebSocketAdapter.handleMessage (file:///C:/Mirai_Overflow_incubator/NapCat/napcat.mjs:13379:21)","echo":826}。如果你认为这是 Overflow 的问题,请带上 logs/onebot 中的日志来反馈。
2024-09-17 12:29:57 W/stderr: Exception in thread "DefaultDispatcher-worker-2" java.lang.IllegalStateException: 群 *** 戳一戳事件 无法获取操作者
2024-09-17 12:29:57 W/stderr: at top.mrxiaom.overflow.internal.listener.NotifyNoticeListener.onMessage(bot.kt:44)
2024-09-17 12:29:57 W/stderr: at top.mrxiaom.overflow.internal.listener.NotifyNoticeListener$onMessage$1.invokeSuspend(bot.kt)
2024-09-17 12:29:57 W/stderr: at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
2024-09-17 12:29:57 W/stderr: at kotlinx.coroutines.internal.ScopeCoroutine.afterResume(Scopes.kt:33)
2024-09-17 12:29:57 W/stderr: at kotlinx.coroutines.AbstractCoroutine.resumeWith(AbstractCoroutine.kt:102)
2024-09-17 12:29:57 W/stderr: at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:46)
2024-09-17 12:29:57 W/stderr: at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
2024-09-17 12:29:57 W/stderr: at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:570)
2024-09-17 12:29:57 W/stderr: at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:750)
2024-09-17 12:29:57 W/stderr: at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:677)
2024-09-17 12:29:57 W/stderr: at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:664)
2024-09-17 12:29:57 W/stderr: Suppressed: kotlinx.coroutines.DiagnosticCoroutineContextException: [CoroutineName(ConnectFactory), StandaloneCoroutine{Cancelling}@11a15e5c, Dispatchers.Default]
好友戳一戳出错时日志:
2024-09-17 14:57:48 V/top.mrxiaom.overflow.internal.deps.websocket.WebSocketImpl: process(300): (�~�({"time":1726556268,"self_id":***,"post_type":"notice","notice_type":"notify","sub_type":"poke","target_id":***,"user_id":***,"raw_info":[{"col":"1","nm":"","type":"qq","uid":"***"},{"col":"1","nm":"","tp":"1","type":"qq","uid":"***"}]})
2024-09-17 14:57:48 V/top.mrxiaom.overflow.internal.deps.websocket.drafts.Draft_6455: afterDecoding(296): {"time":1726556268,"self_id":***,"post_type":"notice","notice_type":"notify","sub_type":"poke","target_id":***,"user_id":***,"raw_info":[{"col":"1","nm":"","type":"qq","uid":"***"},{"col":"1","nm":"","tp":"1","type":"qq","uid":"***"}]}
2024-09-17 14:57:48 V/top.mrxiaom.overflow.internal.deps.websocket.WebSocketImpl: matched frame: Framedata{ opcode:TEXT, fin:true, rsv1:false, rsv2:false, rsv3:false, payload length:[pos:0, len:296], payload:{"time":1726556268,"self_id":***,"post_type":"notice","notice_type":"notify","sub_type":"poke","target_id":***,"user_id":***,"raw_info":[{"col":"1","nm":"","type":"qq","uid":"***"},{"col":"1","nm":"","tp":"1","type":"qq","uid":"***"}]}}
2024-09-17 14:57:48 D/Onebot: [Recv] <-- {"time":1726556268,"self_id":***,"post_type":"notice","notice_type":"notify","sub_type":"poke","target_id":***,"user_id":***,"raw_info":[{"col":"1","nm":"","type":"qq","uid":"***"},{"col":"1","nm":"","tp":"1","type":"qq","uid":"***"}]}
2024-09-17 14:57:48 D/cn.evolvefield.onebot.client.handler.EventBus: 接收到上报消息内容:cn.evolvefield.onebot.sdk.event.notice.NotifyNoticeEvent@242b367c
2024-09-17 14:57:48 W/stderr: Exception in thread "DefaultDispatcher-worker-2" java.lang.IllegalStateException: 好友 *** 戳一戳事件 出现预料中的错误: 目标好友不是机器人
2024-09-17 14:57:48 W/stderr: at top.mrxiaom.overflow.internal.listener.NotifyNoticeListener.onMessage(bot.kt:38)
2024-09-17 14:57:48 W/stderr: at top.mrxiaom.overflow.internal.listener.NotifyNoticeListener.onMessage(bot.kt:26)
2024-09-17 14:57:48 W/stderr: at cn.evolvefield.onebot.client.listener.EventListenerKt.message(EventListener.kt:21)
2024-09-17 14:57:48 W/stderr: at cn.evolvefield.onebot.client.handler.EventBus.onReceive(EventBus.kt:44)
2024-09-17 14:57:48 W/stderr: at cn.evolvefield.onebot.client.connection.IAdapter$onReceiveMessage$1$1$1.invokeSuspend(IAdapter.kt:31)
2024-09-17 14:57:48 W/stderr: at cn.evolvefield.onebot.client.connection.IAdapter$onReceiveMessage$1$1$1.invoke(IAdapter.kt)
2024-09-17 14:57:48 W/stderr: at cn.evolvefield.onebot.client.connection.IAdapter$onReceiveMessage$1$1$1.invoke(IAdapter.kt)
2024-09-17 14:57:48 W/stderr: at kotlinx.coroutines.intrinsics.UndispatchedKt.startUndispatchedOrReturnIgnoreTimeout(Undispatched.kt:100)
2024-09-17 14:57:48 W/stderr: at kotlinx.coroutines.TimeoutKt.setupTimeout(Timeout.kt:146)
2024-09-17 14:57:48 W/stderr: at kotlinx.coroutines.TimeoutKt.withTimeoutOrNull(Timeout.kt:103)
2024-09-17 14:57:48 W/stderr: at cn.evolvefield.onebot.client.connection.IAdapter$onReceiveMessage$1.invokeSuspend(IAdapter.kt:30)
2024-09-17 14:57:48 W/stderr: at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
2024-09-17 14:57:48 W/stderr: at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
2024-09-17 14:57:48 W/stderr: at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:570)
2024-09-17 14:57:48 W/stderr: at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:750)
2024-09-17 14:57:48 W/stderr: at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:677)
2024-09-17 14:57:48 W/stderr: at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:664)
2024-09-17 14:57:48 W/stderr: Suppressed: kotlinx.coroutines.DiagnosticCoroutineContextException: [CoroutineName(ConnectFactory), StandaloneCoroutine{Cancelling}@38e43046, Dispatchers.Default]
网络日志
在以下报错后,直到主动关闭前仍能打出正常接收到消息的日志。
其中一次群戳一戳出错时日志:
2024-09-17 12:29:56 D/Onebot: [Recv] <-- {"time":1726547396,"self_id":***,"post_type":"notice","notice_type":"notify","sub_type":"poke","target_id":***,"user_id":0,"group_id":***,"raw_info":[{"col":"1","nm":"","type":"qq","uid":"***"},{"jp":"https://zb.vip.qq.com/v2/pages/nudgeMall?_wv=2&actionId=10","src":"http://tianquan.gtimg.cn/nudgeaction/item/10/expression.jpg","type":"img"},{"txt":"踢了踢","type":"nor"},{"col":"1","nm":"","tp":"0","type":"qq","uid":"***"},{"txt":"的门,发现是mimic","type":"nor"}]}
2024-09-17 12:29:56 D/Onebot: [Send] --> {"action":"get_group_member_info","params":{"group_id":***,"user_id":0,"no_cache":false},"echo":826}
2024-09-17 12:29:57 D/Onebot: [Recv] <-- {"status":"failed","retcode":1200,"data":null,"message":"Error: Uin2Uid Error 0不存在\n at GetGroupMemberInfo._handle (file:///C:/Mirai_Overflow_incubator/NapCat/napcat.mjs:36567:21)\n at async GetGroupMemberInfo.websocketHandle (file:///C:/Mirai_Overflow_incubator/NapCat/napcat.mjs:35924:23)\n at async OB11PassiveWebSocketAdapter.handleMessage (file:///C:/Mirai_Overflow_incubator/NapCat/napcat.mjs:13379:21)","wording":"Error: Uin2Uid Error 0不存在\n at GetGroupMemberInfo._handle (file:///C:/Mirai_Overflow_incubator/NapCat/napcat.mjs:36567:21)\n at async GetGroupMemberInfo.websocketHandle (file:///C:/Mirai_Overflow_incubator/NapCat/napcat.mjs:35924:23)\n at async OB11PassiveWebSocketAdapter.handleMessage (file:///C:/Mirai_Overflow_incubator/NapCat/napcat.mjs:13379:21)","echo":826}
2024-09-17 12:29:57 W/Onebot: 请求失败: [get_group_member_info] 请求失败: app=NapCat.Onebot v2.5.1, message=Error: Uin2Uid Error 0不存在
at GetGroupMemberInfo._handle (file:///C:/Mirai_Overflow_incubator/NapCat/napcat.mjs:36567:21)
at async GetGroupMemberInfo.websocketHandle (file:///C:/Mirai_Overflow_incubator/NapCat/napcat.mjs:35924:23)
at async OB11PassiveWebSocketAdapter.handleMessage (file:///C:/Mirai_Overflow_incubator/NapCat/napcat.mjs:13379:21), retJson={"status":"failed","retcode":1200,"data":null,"message":"Error: Uin2Uid Error 0不存在\n at GetGroupMemberInfo._handle (file:///C:/Mirai_Overflow_incubator/NapCat/napcat.mjs:36567:21)\n at async GetGroupMemberInfo.websocketHandle (file:///C:/Mirai_Overflow_incubator/NapCat/napcat.mjs:35924:23)\n at async OB11PassiveWebSocketAdapter.handleMessage (file:///C:/Mirai_Overflow_incubator/NapCat/napcat.mjs:13379:21)","wording":"Error: Uin2Uid Error 0不存在\n at GetGroupMemberInfo._handle (file:///C:/Mirai_Overflow_incubator/NapCat/napcat.mjs:36567:21)\n at async GetGroupMemberInfo.websocketHandle (file:///C:/Mirai_Overflow_incubator/NapCat/napcat.mjs:35924:23)\n at async OB11PassiveWebSocketAdapter.handleMessage (file:///C:/Mirai_Overflow_incubator/NapCat/napcat.mjs:13379:21)","echo":826}。如果你认为这是 Overflow 的问题,请带上 logs/onebot 中的日志来反馈。
2024-09-17 12:29:57 V/Onebot: Stacktrace:
cn.evolvefield.onebot.client.util.ActionFailedException: 请求失败: app=NapCat.Onebot v2.5.1, message=Error: Uin2Uid Error 0不存在
at GetGroupMemberInfo._handle (file:///C:/Mirai_Overflow_incubator/NapCat/napcat.mjs:36567:21)
at async GetGroupMemberInfo.websocketHandle (file:///C:/Mirai_Overflow_incubator/NapCat/napcat.mjs:35924:23)
at async OB11PassiveWebSocketAdapter.handleMessage (file:///C:/Mirai_Overflow_incubator/NapCat/napcat.mjs:13379:21), retJson={"status":"failed","retcode":1200,"data":null,"message":"Error: Uin2Uid Error 0不存在\n at GetGroupMemberInfo._handle (file:///C:/Mirai_Overflow_incubator/NapCat/napcat.mjs:36567:21)\n at async GetGroupMemberInfo.websocketHandle (file:///C:/Mirai_Overflow_incubator/NapCat/napcat.mjs:35924:23)\n at async OB11PassiveWebSocketAdapter.handleMessage (file:///C:/Mirai_Overflow_incubator/NapCat/napcat.mjs:13379:21)","wording":"Error: Uin2Uid Error 0不存在\n at GetGroupMemberInfo._handle (file:///C:/Mirai_Overflow_incubator/NapCat/napcat.mjs:36567:21)\n at async GetGroupMemberInfo.websocketHandle (file:///C:/Mirai_Overflow_incubator/NapCat/napcat.mjs:35924:23)\n at async OB11PassiveWebSocketAdapter.handleMessage (file:///C:/Mirai_Overflow_incubator/NapCat/napcat.mjs:13379:21)","echo":826}
at cn.evolvefield.onebot.client.util.ActionSendRequest.send(ActionSendRequest.kt:67)
at cn.evolvefield.onebot.client.util.ActionSendRequest$send$1.invokeSuspend(ActionSendRequest.kt)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.internal.ScopeCoroutine.afterResume(Scopes.kt:33)
at kotlinx.coroutines.AbstractCoroutine.resumeWith(AbstractCoroutine.kt:102)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:46)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:570)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:750)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:677)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:664)
好友戳一戳出错时网络日志未报错:
2024-09-17 14:57:48 D/Onebot: [Recv] <-- {"time":1726556268,"self_id":***,"post_type":"notice","notice_type":"notify","sub_type":"poke","target_id":***,"user_id":***,"raw_info":[{"col":"1","nm":"","type":"qq","uid":"***"},{"col":"1","nm":"","tp":"1","type":"qq","uid":"***"}]}
补充信息
No response
lesser0 commented
已解决