mamoe / mirai

高效率 QQ 机器人支持库
https://mirai.mamoe.net
GNU Affero General Public License v3.0
14.36k stars 2.53k forks source link

获取好友分组列表失败 #2294

Open Xiaolangs opened 1 year ago

Xiaolangs commented 1 year ago

问题描述

好友数量过多 导致获取分组和好友失败

复现

报错 W/Net 1036046880: An exception was thrown during 'loading friendGroups' of Bot 1036046880. Trying to ignore the error and continue logging in... kotlinx.coroutines.TimeoutCancellationException: Timed out waiting for 5000 ms at kotlinx.coroutines.TimeoutKt.TimeoutCancellationException(Timeout.kt:184) at kotlinx.coroutines.TimeoutCoroutine.run(Timeout.kt:154) at kotlinx.coroutines.EventLoopImplBase$DelayedRunnableTask.run(EventLoop.common.kt:508) at kotlinx.coroutines.EventLoopImplBase.processNextEvent(EventLoop.common.kt:284) at kotlinx.coroutines.DefaultExecutor.run(DefaultExecutor.kt:108) at java.lang.Thread.run(Thread.java:919)

mirai-core 版本

2.13.0-dev-25e66d19

bot-protocol

ANDROID_PHONE

其他组件版本

No response

系统日志

V/Net 1036046880: Send: friendlist.GetTroopMemberListReq(friendlist.GetTroopMemberListReq)
V/Net 1036046880: Send: friendlist.GetTroopMemberListReq(friendlist.GetTroopMemberListReq)
V/Net 1036046880: Recv: friendlist.getFriendGroupList
V/Net 1036046880: Loading friend list: 300/576
V/Net 1036046880: Send: friendlist.getFriendGroupList(friendlist.getFriendGroupList)
V/Net 1036046880: Recv: friendlist.getFriendGroupList
V/Net 1036046880: Loading friend list: 450/576
V/Net 1036046880: Send: friendlist.getFriendGroupList(friendlist.getFriendGroupList)
V/Net 1036046880: Recv: friendlist.GetTroopMemberListReq
V/Net 1036046880: Recv: friendlist.GetTroopMemberListReq
V/Net 1036046880: Send: friendlist.GetTroopMemberListReq(friendlist.GetTroopMemberListReq)
V/Net 1036046880: Recv: friendlist.GetTroopMemberListReq
V/Net 1036046880: Send: friendlist.GetTroopMemberListReq(friendlist.GetTroopMemberListReq)
V/Net 1036046880: Send: friendlist.GetTroopMemberListReq(friendlist.GetTroopMemberListReq)
V/Net 1036046880: Recv: friendlist.GetTroopMemberListReq
V/Net 1036046880: Recv: friendlist.GetTroopMemberListReq
V/Net 1036046880: Send: friendlist.GetTroopMemberListReq(friendlist.GetTroopMemberListReq)
V/Net 1036046880: Send: friendlist.GetTroopMemberListReq(friendlist.GetTroopMemberListReq)
V/Net 1036046880: Recv: friendlist.GetTroopMemberListReq
V/Net 1036046880: Send: friendlist.GetTroopMemberListReq(friendlist.GetTroopMemberListReq)
V/Net 1036046880: Recv: friendlist.GetTroopMemberListReq
V/Net 1036046880: Send: friendlist.GetTroopMemberListReq(friendlist.GetTroopMemberListReq)
V/Net 1036046880: Recv: friendlist.GetTroopMemberListReq
V/Net 1036046880: Send: friendlist.GetTroopMemberListReq(friendlist.GetTroopMemberListReq)
V/Net 1036046880: Recv: friendlist.GetTroopMemberListReq
V/Net 1036046880: Send: friendlist.GetTroopMemberListReq(friendlist.GetTroopMemberListReq)
V/Net 1036046880: Recv: friendlist.GetTroopMemberListReq
V/Net 1036046880: Send: friendlist.GetTroopMemberListReq(friendlist.GetTroopMemberListReq)
V/Net 1036046880: Recv: friendlist.GetTroopMemberListReq
V/Net 1036046880: Send: friendlist.GetTroopMemberListReq(friendlist.GetTroopMemberListReq)
V/Net 1036046880: Recv: friendlist.GetTroopMemberListReq
V/Net 1036046880: Recv: friendlist.GetTroopMemberListReq
V/Net 1036046880: Send: friendlist.GetTroopMemberListReq(friendlist.GetTroopMemberListReq)
V/Net 1036046880: Send: friendlist.GetTroopMemberListReq(friendlist.GetTroopMemberListReq)
V/Net 1036046880: Recv: friendlist.GetTroopMemberListReq
V/Net 1036046880: Send: friendlist.GetTroopMemberListReq(friendlist.GetTroopMemberListReq)
V/Net 1036046880: Recv: friendlist.GetTroopMemberListReq
V/Net 1036046880: Send: friendlist.GetTroopMemberListReq(friendlist.GetTroopMemberListReq)
V/Net 1036046880: Recv: friendlist.GetTroopMemberListReq
V/Net 1036046880: Send: friendlist.GetTroopMemberListReq(friendlist.GetTroopMemberListReq)
V/Net 1036046880: Recv: friendlist.GetTroopMemberListReq
V/Net 1036046880: Send: friendlist.GetTroopMemberListReq(friendlist.GetTroopMemberListReq)
V/Net 1036046880: Recv: friendlist.GetTroopMemberListReq
V/Net 1036046880: Send: friendlist.GetTroopMemberListReq(friendlist.GetTroopMemberListReq)
V/Net 1036046880: Recv: friendlist.GetTroopMemberListReq
V/Net 1036046880: Send: friendlist.GetTroopMemberListReq(friendlist.GetTroopMemberListReq)
V/Net 1036046880: Recv: friendlist.GetTroopMemberListReq
V/Net 1036046880: Send: friendlist.GetTroopMemberListReq(friendlist.GetTroopMemberListReq)
V/Net 1036046880: Recv: friendlist.GetTroopMemberListReq
V/Net 1036046880: Recv: friendlist.GetTroopMemberListReq
V/Net 1036046880: Send: friendlist.GetTroopMemberListReq(friendlist.GetTroopMemberListReq)
V/Net 1036046880: Loading friend list: 576/576
V/Net 1036046880: Recv: friendlist.getFriendGroupList
I/Net 1036046880: Successfully loaded friend list: 576 in total
V/Net 1036046880: Recv: friendlist.GetTroopMemberListReq
V/Net 1036046880: Send: friendlist.GetTroopMemberListReq(friendlist.GetTroopMemberListReq)
V/Net 1036046880: Recv: friendlist.GetTroopMemberListReq
V/Net 1036046880: Send: friendlist.GetTroopMemberListReq(friendlist.GetTroopMemberListReq)
V/Net 1036046880: Recv: friendlist.GetTroopMemberListReq
V/Net 1036046880: Recv: friendlist.GetTroopMemberListReq
V/Net 1036046880: Send: friendlist.GetTroopMemberListReq(friendlist.GetTroopMemberListReq)
V/Net 1036046880: Recv: friendlist.GetTroopMemberListReq
V/Net 1036046880: Send: friendlist.GetTroopMemberListReq(friendlist.GetTroopMemberListReq)
V/Net 1036046880: Recv: friendlist.GetTroopMemberListReq
V/Net 1036046880: Send: friendlist.GetTroopMemberListReq(friendlist.GetTroopMemberListReq)
V/Net 1036046880: Recv: friendlist.GetTroopMemberListReq
V/Net 1036046880: Recv: friendlist.GetTroopMemberListReq
V/Net 1036046880: Recv: friendlist.GetTroopMemberListReq
I/chatty: uid=10445(com.example.mirai) nioEventLoopGro identical 4 lines
V/Net 1036046880: Recv: friendlist.GetTroopMemberListReq
V/Net 1036046880: Send: friendlist.GetTroopMemberListReq(friendlist.GetTroopMemberListReq)
V/Net 1036046880: Recv: friendlist.GetTroopMemberListReq
V/Net 1036046880: Send: friendlist.GetTroopMemberListReq(friendlist.GetTroopMemberListReq)
V/Net 1036046880: Recv: friendlist.GetTroopMemberListReq
V/Net 1036046880: Send: friendlist.GetTroopMemberListReq(friendlist.GetTroopMemberListReq)
V/Net 1036046880: Recv: friendlist.GetTroopMemberListReq
V/Net 1036046880: Recv: friendlist.GetTroopMemberListReq
V/Net 1036046880: Send: friendlist.GetTroopMemberListReq(friendlist.GetTroopMemberListReq)
V/Net 1036046880: Recv: friendlist.GetTroopMemberListReq
V/Net 1036046880: Recv: friendlist.GetTroopMemberListReq
V/Net 1036046880: Send: friendlist.GetTroopMemberListReq(friendlist.GetTroopMemberListReq)
V/Net 1036046880: Recv: friendlist.GetTroopMemberListReq
V/Net 1036046880: Send: friendlist.GetTroopMemberListReq(friendlist.GetTroopMemberListReq)
V/Net 1036046880: Recv: friendlist.GetTroopMemberListReq
I/chatty: uid=10445(com.example.mirai) nioEventLoopGro identical 4 lines
V/Net 1036046880: Recv: friendlist.GetTroopMemberListReq
V/Net 1036046880: Send: friendlist.GetTroopMemberListReq(friendlist.GetTroopMemberListReq)
V/Net 1036046880: Recv: friendlist.GetTroopMemberListReq
V/Net 1036046880: Recv: friendlist.GetTroopMemberListReq
V/Net 1036046880: Send: friendlist.GetTroopMemberListReq(friendlist.GetTroopMemberListReq)
V/Net 1036046880: Recv: friendlist.GetTroopMemberListReq
V/Net 1036046880: Send: friendlist.GetTroopMemberListReq(friendlist.GetTroopMemberListReq)
V/Net 1036046880: Recv: friendlist.GetTroopMemberListReq
V/Net 1036046880: Send: friendlist.GetTroopMemberListReq(friendlist.GetTroopMemberListReq)
V/Net 1036046880: Recv: friendlist.GetTroopMemberListReq
V/Net 1036046880: Recv: friendlist.GetTroopMemberListReq
V/Net 1036046880: Send: friendlist.GetTroopMemberListReq(friendlist.GetTroopMemberListReq)
V/Net 1036046880: Recv: friendlist.GetTroopMemberListReq
V/Net 1036046880: Recv: friendlist.GetTroopMemberListReq
V/Net 1036046880: Send: friendlist.GetTroopMemberListReq(friendlist.GetTroopMemberListReq)
V/Net 1036046880: Recv: friendlist.GetTroopMemberListReq
V/Net 1036046880: Recv: friendlist.GetTroopMemberListReq
V/Net 1036046880: Send: friendlist.GetTroopMemberListReq(friendlist.GetTroopMemberListReq)
V/Net 1036046880: Recv: friendlist.GetTroopMemberListReq
V/Net 1036046880: Send: friendlist.GetTroopMemberListReq(friendlist.GetTroopMemberListReq)
V/Net 1036046880: Recv: friendlist.GetTroopMemberListReq
I/chatty: uid=10445(com.example.mirai) nioEventLoopGro identical 2 lines
V/Net 1036046880: Recv: friendlist.GetTroopMemberListReq
V/Net 1036046880: Send: friendlist.GetTroopMemberListReq(friendlist.GetTroopMemberListReq)
V/Net 1036046880: Recv: friendlist.GetTroopMemberListReq
V/Net 1036046880: Send: friendlist.GetTroopMemberListReq(friendlist.GetTroopMemberListReq)
V/Net 1036046880: Recv: friendlist.GetTroopMemberListReq
V/Net 1036046880: Send: friendlist.GetTroopMemberListReq(friendlist.GetTroopMemberListReq)
V/Net 1036046880: Saving bdh session to cache
V/Net 1036046880: Send: ConfigPushSvc.PushResp(ConfigPushSvc.PushResp)
V/Net 1036046880: Recv: ConfigPushSvc.PushReq
V/Net 1036046880: Recv: friendlist.GetTroopMemberListReq
V/Net 1036046880: Recv: friendlist.GetTroopMemberListReq
V/Net 1036046880: Send: friendlist.GetTroopMemberListReq(friendlist.GetTroopMemberListReq)
V/Net 1036046880: Recv: friendlist.GetTroopMemberListReq
V/Net 1036046880: Send: friendlist.GetTroopMemberListReq(friendlist.GetTroopMemberListReq)
V/Net 1036046880: Recv: friendlist.GetTroopMemberListReq
V/Net 1036046880: Send: friendlist.GetTroopMemberListReq(friendlist.GetTroopMemberListReq)
V/Net 1036046880: Recv: friendlist.GetTroopMemberListReq
V/Net 1036046880: Send: friendlist.GetTroopMemberListReq(friendlist.GetTroopMemberListReq)
V/Net 1036046880: Recv: friendlist.GetTroopMemberListReq
V/Net 1036046880: Send: friendlist.GetTroopMemberListReq(friendlist.GetTroopMemberListReq)
V/Net 1036046880: Recv: friendlist.GetTroopMemberListReq
V/Net 1036046880: Send: friendlist.GetTroopMemberListReq(friendlist.GetTroopMemberListReq)
V/Net 1036046880: Recv: friendlist.GetTroopMemberListReq
V/Net 1036046880: Send: friendlist.GetTroopMemberListReq(friendlist.GetTroopMemberListReq)
V/Net 1036046880: Recv: friendlist.GetTroopMemberListReq
V/Net 1036046880: Send: friendlist.GetTroopMemberListReq(friendlist.GetTroopMemberListReq)
V/Net 1036046880: Recv: friendlist.GetTroopMemberListReq
V/Net 1036046880: Send: friendlist.GetTroopMemberListReq(friendlist.GetTroopMemberListReq)
V/Net 1036046880: Recv: friendlist.GetTroopMemberListReq
V/Net 1036046880: Recv: friendlist.GetTroopMemberListReq
V/Net 1036046880: Send: friendlist.GetTroopMemberListReq(friendlist.GetTroopMemberListReq)
V/Net 1036046880: Recv: friendlist.GetTroopMemberListReq
V/Net 1036046880: Send: friendlist.GetTroopMemberListReq(friendlist.GetTroopMemberListReq)
V/Net 1036046880: Recv: friendlist.GetTroopMemberListReq
V/Net 1036046880: Send: friendlist.GetTroopMemberListReq(friendlist.GetTroopMemberListReq)
V/Net 1036046880: Recv: friendlist.GetTroopMemberListReq
V/Net 1036046880: Send: friendlist.GetTroopMemberListReq(friendlist.GetTroopMemberListReq)
V/Net 1036046880: Recv: friendlist.GetTroopMemberListReq
V/Net 1036046880: Send: friendlist.GetTroopMemberListReq(friendlist.GetTroopMemberListReq)
V/Net 1036046880: Recv: friendlist.GetTroopMemberListReq
V/Net 1036046880: Send: friendlist.GetTroopMemberListReq(friendlist.GetTroopMemberListReq)
V/Net 1036046880: Recv: friendlist.GetTroopMemberListReq
V/Net 1036046880: Send: friendlist.GetTroopMemberListReq(friendlist.GetTroopMemberListReq)
V/Net 1036046880: Recv: friendlist.GetTroopMemberListReq
V/Net 1036046880: Recv: friendlist.GetTroopMemberListReq
V/Net 1036046880: Send: friendlist.GetTroopMemberListReq(friendlist.GetTroopMemberListReq)
V/Net 1036046880: Recv: friendlist.GetTroopMemberListReq
V/Net 1036046880: Recv: friendlist.GetTroopMemberListReq
V/Net 1036046880: Send: friendlist.GetTroopMemberListReq(friendlist.GetTroopMemberListReq)
V/Net 1036046880: Recv: friendlist.GetTroopMemberListReq
V/Net 1036046880: Send: friendlist.GetTroopMemberListReq(friendlist.GetTroopMemberListReq)
V/Net 1036046880: Recv: friendlist.GetTroopMemberListReq
V/Net 1036046880: Send: friendlist.GetTroopMemberListReq(friendlist.GetTroopMemberListReq)
I/m.example.mira: Background concurrent copying GC freed 861196(25MB) AllocSpace objects, 50(1860KB) LOS objects, 49% free, 20MB/40MB, paused 51us total 100.862ms
V/Net 1036046880: Recv: friendlist.GetTroopMemberListReq
V/Net 1036046880: Recv: friendlist.GetTroopMemberListReq
V/Net 1036046880: Recv: friendlist.GetTroopMemberListReq
I/Net 1036046880: Successfully loaded group list: 46 in total.
V/Net 1036046880: Send: friendlist.getFriendGroupList(friendlist.getFriendGroupList)
I/m.example.mira: ProcessProfilingInfo new_methods=8332 is saved saved_to_disk=1 resolve_classes_delay=8000
W/Net 1036046880: An exception was thrown during 'loading friendGroups' of Bot 1036046880. Trying to ignore the error and continue logging in...
    kotlinx.coroutines.TimeoutCancellationException: Timed out waiting for 5000 ms
        at kotlinx.coroutines.TimeoutKt.TimeoutCancellationException(Timeout.kt:184)
        at kotlinx.coroutines.TimeoutCoroutine.run(Timeout.kt:154)
        at kotlinx.coroutines.EventLoopImplBase$DelayedRunnableTask.run(EventLoop.common.kt:508)
        at kotlinx.coroutines.EventLoopImplBase.processNextEvent(EventLoop.common.kt:284)
        at kotlinx.coroutines.DefaultExecutor.run(DefaultExecutor.kt:108)
        at java.lang.Thread.run(Thread.java:919)
I/Net 1036046880: Scheduled refresh login session in 19d 23h 55min 0.0s.
I/Net 1036046880: Scheduled key refresh in 23h 55min 0.0s.
V/Bot 1036046880: Event: BotOnlineEvent(bot=Bot(1036046880))
E/TAG: onCreate: 登陆成功
I/Bot 1036046880: Bot login successful.

网络日志

No response

补充信息

No response

Him188 commented 1 year ago

日志不足以证明好友数量过多导致分组获取失败 好友列表实际上获取成功了。好友列表和好友分组列表是两个东西