mamoe / mirai

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

掉线偶尔不能自动重连 #2858

Open 0f-0b opened 1 month ago

0f-0b commented 1 month ago

问题描述

因心跳超时掉线后有时出现 Received packet returnCode = -10008 而不能自动重连,随后立即重启 mirai 却可以正常登录。

复现

不确定如何复现。今年只遇到过两次。

mirai-core 版本

f7649d225d8740f411a4634eba4128e7f740c122

bot-protocol

ANDROID_PAD

其他组件版本

Running MiraiConsole v2.17.0+local, built on 2024-08-10 04:49:24.
Frontend Terminal: version 2.17.0+local, provided by Mamoe Technologies

Permission Service: Built In Permission Service

Plugins: fix-protocol-version v1.13.0, mirai-api-http v2.10.0, Silk Converter v0.0.6-fix-cssxsh

Object Pending Finalization Count: 0
                 committed |  init   |  used   |  max
    Heap Memory:  99.0MB   | 128.0MB | 55.35MB | 2.0GB
Non-Heap Memory:  89.56MB  | 7.31MB  | 88.36MB |  -1

系统日志

2024-08-25 14:44:23 V/Bot.**: Event: BotOfflineEvent.Dropped(bot=Bot(**), cause=HeartbeatFailedException: **.AliveHeartbeat, recoverable=true, cause=PacketTimeoutException(message=**.AliveHeartbeat Scheduler: Timeout receiving action response, cause=null), reconnect=true)
2024-08-25 14:44:23 W/Bot.**: Connection lost, reconnecting... (HeartbeatFailedException: **.AliveHeartbeat, recoverable=true, cause=PacketTimeoutException(message=**.AliveHeartbeat Scheduler: Timeout receiving action response, cause=null))
2024-08-25 14:44:23 I/ViVo50: Bot(**) initialize by http://127.0.0.1:40034
2024-08-25 14:44:24 I/ViVo50: Bot(**) initialize complete
2024-08-25 14:44:28 I/Bot.**: Bot cancelled: Bot closed

网络日志

```text 2024-08-25 14:44:23 W/: Exception in resumeConnection. HeartbeatFailedException: **.AliveHeartbeat, recoverable=true, cause=PacketTimeoutException(message=**.AliveHeartbeat Scheduler: Timeout receiving action response, cause=null) at net.mamoe.mirai.internal.network.handler.CommonNetworkHandler$StateOK$heartbeatJobs$1$1.invoke(CommonNetworkHandler.kt:353) at net.mamoe.mirai.internal.network.handler.CommonNetworkHandler$StateOK$heartbeatJobs$1$1.invoke(CommonNetworkHandler.kt:353) at net.mamoe.mirai.internal.network.handler.NetworkHandlerSupport.setStateImpl$mirai_core(NetworkHandlerSupport.kt:329) at net.mamoe.mirai.internal.network.handler.CommonNetworkHandler$StateOK$heartbeatJobs$1.invoke(CommonNetworkHandler.kt:415) at net.mamoe.mirai.internal.network.handler.CommonNetworkHandler$StateOK$heartbeatJobs$1.invoke(CommonNetworkHandler.kt:352) at net.mamoe.mirai.internal.network.components.TimeBasedHeartbeatSchedulerImpl$launchHeartbeatJobAsync$1.invokeSuspend(HeartbeatScheduler.kt:131) 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.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:104) 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) Caused by: PacketTimeoutException(message=**.AliveHeartbeat Scheduler: Timeout receiving action response, cause=null) at net.mamoe.mirai.internal.network.components.TimeBasedHeartbeatSchedulerImpl$launchHeartbeatJobAsync$1.invokeSuspend(HeartbeatScheduler.kt:133) ... 12 more 2024-08-25 14:44:23 V/: Validated caches. 2024-08-25 14:44:23 V/: Loading server list from cache. 2024-08-25 14:44:23 V/: Server list: 39.156.140.102:80, 39.156.125.20:80, 120.233.17.147:443, 36.155.245.16:14000, 36.155.187.225:443, 120.241.130.216:8080, 36.155.205.252:80, msfwifi.3g.qq.com:8080, 111.30.187.201:14000. 2024-08-25 14:44:23 E/: Error while decoding packet 'ByteReadPacket(0 bytes remaining)' net.mamoe.mirai.internal.network.components.PacketCodecException: java.lang.IllegalStateException: Received packet returnCode = -10008, which may mean session expired. at net.mamoe.mirai.internal.network.components.PacketCodecImpl.parseSsoFrame(PacketCodec.kt:250) at net.mamoe.mirai.internal.network.components.PacketCodecImpl.decodeRaw(PacketCodec.kt:156) at net.mamoe.mirai.internal.network.handler.CommonNetworkHandler$PacketDecodePipeline.decodePacket(CommonNetworkHandler.kt:149) at net.mamoe.mirai.internal.network.handler.CommonNetworkHandler$PacketDecodePipeline.access$decodePacket(CommonNetworkHandler.kt:103) at net.mamoe.mirai.internal.network.handler.CommonNetworkHandler$PacketDecodePipeline$1.invokeSuspend(CommonNetworkHandler.kt:126) at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33) at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106) at io.netty.util.concurrent.AbstractEventExecutor.runTask(AbstractEventExecutor.java:174) at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:167) at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:470) at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:569) at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997) at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) at java.base/java.lang.Thread.run(Thread.java:1570) Caused by: java.lang.IllegalStateException: Received packet returnCode = -10008, which may mean session expired. at net.mamoe.mirai.internal.network.components.PacketCodecException.(PacketCodec.kt:76) ... 15 more 2024-08-25 14:44:23 W/: Cannot get qimei from server. java.util.concurrent.CancellationException: State is switched from StateConnecting to StateClosed at net.mamoe.mirai.internal.deps.io.ktor.client.engine.UtilsKt$attachToUserJob$cleanupHandler$1.invoke(Utils.kt:79) at net.mamoe.mirai.internal.deps.io.ktor.client.engine.UtilsKt$attachToUserJob$cleanupHandler$1.invoke(Utils.kt:77) at kotlinx.coroutines.InvokeOnCancelling.invoke(JobSupport.kt:1458) at kotlinx.coroutines.JobSupport.notifyCancelling(JobSupport.kt:1500) at kotlinx.coroutines.JobSupport.tryMakeCancelling(JobSupport.kt:795) at kotlinx.coroutines.JobSupport.makeCancelling(JobSupport.kt:755) at kotlinx.coroutines.JobSupport.cancelImpl$kotlinx_coroutines_core(JobSupport.kt:671) at kotlinx.coroutines.JobSupport.parentCancelled(JobSupport.kt:637) at kotlinx.coroutines.ChildHandleNode.invoke(JobSupport.kt:1466) at kotlinx.coroutines.JobSupport.notifyCancelling(JobSupport.kt:1500) at kotlinx.coroutines.JobSupport.tryMakeCompletingSlowPath(JobSupport.kt:900) at kotlinx.coroutines.JobSupport.tryMakeCompleting(JobSupport.kt:863) at kotlinx.coroutines.JobSupport.cancelMakeCompleting(JobSupport.kt:696) at kotlinx.coroutines.JobSupport.cancelImpl$kotlinx_coroutines_core(JobSupport.kt:667) at kotlinx.coroutines.JobSupport.cancelInternal(JobSupport.kt:632) at kotlinx.coroutines.JobSupport.cancel(JobSupport.kt:617) at kotlinx.coroutines.CoroutineScopeKt.cancel(CoroutineScope.kt:287) at net.mamoe.mirai.internal.network.handler.NetworkHandlerSupport.setStateImpl$mirai_core(NetworkHandlerSupport.kt:352) at net.mamoe.mirai.internal.network.handler.CommonNetworkHandler.handleExceptionInDecoding(CommonNetworkHandler.kt:416) at net.mamoe.mirai.internal.network.handler.CommonNetworkHandler$PacketDecodePipeline$1.invokeSuspend(CommonNetworkHandler.kt:130) at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33) at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106) at io.netty.util.concurrent.AbstractEventExecutor.runTask(AbstractEventExecutor.java:174) at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:167) at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:470) at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:569) at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997) at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) at java.base/java.lang.Thread.run(Thread.java:1570) 2024-08-25 14:44:24 I/: ECDH key is invalid, start to fetch ecdh public key from server. 2024-08-25 14:44:24 E/: Failed to fetch ECDH public key from server, using default key instead StateSwitchingException(old=StateConnecting, new=StateClosed, cause=net.mamoe.mirai.internal.network.components.PacketCodecException: java.lang.IllegalStateException: Received packet returnCode = -10008, which may mean session expired.) at net.mamoe.mirai.internal.network.handler.NetworkHandlerSupport.setStateImpl$mirai_core(NetworkHandlerSupport.kt:352) at net.mamoe.mirai.internal.network.handler.CommonNetworkHandler.handleExceptionInDecoding(CommonNetworkHandler.kt:416) at net.mamoe.mirai.internal.network.handler.CommonNetworkHandler$PacketDecodePipeline$1.invokeSuspend(CommonNetworkHandler.kt:130) at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33) at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106) at io.netty.util.concurrent.AbstractEventExecutor.runTask(AbstractEventExecutor.java:174) at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:167) at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:470) at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:569) at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997) at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) at java.base/java.lang.Thread.run(Thread.java:1570) Caused by: net.mamoe.mirai.internal.network.components.PacketCodecException: java.lang.IllegalStateException: Received packet returnCode = -10008, which may mean session expired. at net.mamoe.mirai.internal.network.components.PacketCodecImpl.parseSsoFrame(PacketCodec.kt:250) at net.mamoe.mirai.internal.network.components.PacketCodecImpl.decodeRaw(PacketCodec.kt:156) at net.mamoe.mirai.internal.network.handler.CommonNetworkHandler$PacketDecodePipeline.decodePacket(CommonNetworkHandler.kt:149) at net.mamoe.mirai.internal.network.handler.CommonNetworkHandler$PacketDecodePipeline.access$decodePacket(CommonNetworkHandler.kt:103) at net.mamoe.mirai.internal.network.handler.CommonNetworkHandler$PacketDecodePipeline$1.invokeSuspend(CommonNetworkHandler.kt:126) ... 10 more Caused by: java.lang.IllegalStateException: Received packet returnCode = -10008, which may mean session expired. at net.mamoe.mirai.internal.network.components.PacketCodecException.(PacketCodec.kt:76) ... 15 more 2024-08-25 14:44:24 V/: Send: wtlogin.exchange_emp(10:fast-login) 2024-08-25 14:44:24 W/: Exception in resumeConnection. net.mamoe.mirai.internal.network.handler.selector.SelectorRequireReconnectException 2024-08-25 14:44:24 W/: Exception in resumeConnection. net.mamoe.mirai.internal.network.components.PacketCodecException: java.lang.IllegalStateException: Received packet returnCode = -10008, which may mean session expired. at net.mamoe.mirai.internal.network.components.PacketCodecImpl.parseSsoFrame(PacketCodec.kt:250) at net.mamoe.mirai.internal.network.components.PacketCodecImpl.decodeRaw(PacketCodec.kt:156) at net.mamoe.mirai.internal.network.handler.CommonNetworkHandler$PacketDecodePipeline.decodePacket(CommonNetworkHandler.kt:149) at net.mamoe.mirai.internal.network.handler.CommonNetworkHandler$PacketDecodePipeline.access$decodePacket(CommonNetworkHandler.kt:103) at net.mamoe.mirai.internal.network.handler.CommonNetworkHandler$PacketDecodePipeline$1.invokeSuspend(CommonNetworkHandler.kt:126) at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33) at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106) at io.netty.util.concurrent.AbstractEventExecutor.runTask(AbstractEventExecutor.java:174) at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:167) at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:470) at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:569) at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997) at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) at java.base/java.lang.Thread.run(Thread.java:1570) Caused by: java.lang.IllegalStateException: Received packet returnCode = -10008, which may mean session expired. at net.mamoe.mirai.internal.network.components.PacketCodecException.(PacketCodec.kt:76) ... 15 more 2024-08-25 14:44:27 I/: ECDH key is invalid, start to fetch ecdh public key from server. 2024-08-25 14:44:28 I/: Successfully fetched ecdh public key from server. 2024-08-25 14:44:28 V/: [AuthControl/acquire] Acquiring auth method 2024-08-25 14:44:28 D/: [AuthControl/acquire] Authorization responded: Password@565525893 2024-08-25 14:44:28 V/: Send: wtlogin.login(9:password-login) 2024-08-25 14:44:28 V/: Recv: wtlogin.login 2024-08-25 14:44:28 W/: Failed with auth method: Password@565525893 net.mamoe.mirai.network.WrongPasswordException: Error(bot=Bot(**), code=45, title=禁止登录, message=你当前使用的QQ版本过低,请前往QQ官网im.qq.com下载最新版QQ后重试。, errorInfo=) at net.mamoe.mirai.internal.network.components.SsoProcessorImpl$SlowLoginImpl.doLogin(SsoProcessor.kt:490) at net.mamoe.mirai.internal.network.components.SsoProcessorImpl$SlowLoginImpl$doLogin$1.invokeSuspend(SsoProcessor.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-08-25 14:44:28 V/: [AuthControl/resume] Fire auth failed with cause: net.mamoe.mirai.network.WrongPasswordException: Error(bot=Bot(**), code=45, title=禁止登录, message=你当前使用的QQ版本过低,请前往QQ官网im.qq.com下载最新版QQ后重试。, errorInfo=) 2024-08-25 14:44:28 I/: ECDH key is valid. 2024-08-25 14:44:28 V/: [AuthControl/acquire] Acquiring auth method 2024-08-25 14:44:28 D/: [AuthControl/acquire] Authorization responded: Error[net.mamoe.mirai.network.WrongPasswordException: Error(bot=Bot(**), code=45, title=禁止登录, message=你当前使用的QQ版本过低,请前往QQ官网im.qq.com下载最新版QQ后重试。, errorInfo=)]@626857840 2024-08-25 14:44:28 W/: Failed with auth method: Error[net.mamoe.mirai.network.WrongPasswordException: Error(bot=Bot(**), code=45, title=禁止登录, message=你当前使用的QQ版本过低,请前往QQ官网im.qq.com下载最新版QQ后重试。, errorInfo=)]@626857840 net.mamoe.mirai.network.BotAuthorizationException: BotAuthorization(BotAuthorization.byPassword()) threw an exception during authorization process. See cause below. at net.mamoe.mirai.internal.network.components.SsoProcessorImpl.login(SsoProcessor.kt:263) at net.mamoe.mirai.internal.network.handler.CommonNetworkHandler$StateConnecting$startState$2.invokeSuspend(CommonNetworkHandler.kt:247) at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33) 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) Caused by: net.mamoe.mirai.network.WrongPasswordException: Error(bot=Bot(**), code=45, title=禁止登录, message=你当前使用的QQ版本过低,请前往QQ官网im.qq.com下载最新版QQ后重试。, errorInfo=) at net.mamoe.mirai.internal.network.components.SsoProcessorImpl$SlowLoginImpl.doLogin(SsoProcessor.kt:490) at net.mamoe.mirai.internal.network.components.SsoProcessorImpl$SlowLoginImpl$doLogin$1.invokeSuspend(SsoProcessor.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) ... 5 more 2024-08-25 14:44:28 W/: Exception in resumeConnection. net.mamoe.mirai.internal.network.components.LoginFailedExceptionAsNetworkException: BotAuthorization(BotAuthorization.byPassword()) threw an exception during authorization process. See cause below. at net.mamoe.mirai.internal.network.handler.CommonNetworkHandler$StateConnecting$startState$2.invokeSuspend(CommonNetworkHandler.kt:249) at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33) 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) Caused by: net.mamoe.mirai.network.BotAuthorizationException: BotAuthorization(BotAuthorization.byPassword()) threw an exception during authorization process. See cause below. at net.mamoe.mirai.internal.network.components.SsoProcessorImpl.login(SsoProcessor.kt:263) at net.mamoe.mirai.internal.network.handler.CommonNetworkHandler$StateConnecting$startState$2.invokeSuspend(CommonNetworkHandler.kt:247) ... 6 more Suppressed: net.mamoe.mirai.network.WrongPasswordException: Error(bot=Bot(**), code=45, title=禁止登录, message=你当前使用的QQ版本过低,请前往QQ官网im.qq.com下载最新版QQ后重试。, errorInfo=) at net.mamoe.mirai.internal.network.components.SsoProcessorImpl$SlowLoginImpl.doLogin(SsoProcessor.kt:490) at net.mamoe.mirai.internal.network.components.SsoProcessorImpl$SlowLoginImpl$doLogin$1.invokeSuspend(SsoProcessor.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) ... 5 more Suppressed: java.lang.IllegalStateException: NetworkHandler is already closed. at net.mamoe.mirai.internal.network.handler.CommonNetworkHandler$StateClosed.sendPacketImpl(CommonNetworkHandler.kt:396) at net.mamoe.mirai.internal.network.handler.CommonNetworkHandler.sendPacketImpl(CommonNetworkHandler.kt:37) at net.mamoe.mirai.internal.network.handler.NetworkHandlerSupport.sendAndExpect(NetworkHandlerSupport.kt:123) at net.mamoe.mirai.internal.network.handler.NetworkHandlerSupport.sendAndExpect(NetworkHandlerSupport.kt:149) at net.mamoe.mirai.internal.network.handler.NetworkHandler.sendAndExpect$default(NetworkHandler.kt:194) at net.mamoe.mirai.internal.network.components.SsoProcessorImpl$FastLoginImpl.doLogin(SsoProcessor.kt:527) at net.mamoe.mirai.internal.network.components.SsoProcessorImpl.doFastLogin$suspendImpl(SsoProcessor.kt:179) at net.mamoe.mirai.internal.network.components.SsoProcessorImpl.doFastLogin(SsoProcessor.kt) at net.mamoe.mirai.internal.network.components.SsoProcessorImpl.login(SsoProcessor.kt:230) at net.mamoe.mirai.internal.network.components.SsoProcessorImpl$login$1.invokeSuspend(SsoProcessor.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 net.mamoe.mirai.internal.deps.io.ktor.util.pipeline.SuspendFunctionGun.resumeRootWith(SuspendFunctionGun.kt:141) at net.mamoe.mirai.internal.deps.io.ktor.util.pipeline.SuspendFunctionGun.access$resumeRootWith(SuspendFunctionGun.kt:14) at net.mamoe.mirai.internal.deps.io.ktor.util.pipeline.SuspendFunctionGun$continuation$1.resumeWith(SuspendFunctionGun.kt:58) at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:46) at net.mamoe.mirai.internal.deps.io.ktor.util.pipeline.SuspendFunctionGun.resumeRootWith(SuspendFunctionGun.kt:141) at net.mamoe.mirai.internal.deps.io.ktor.util.pipeline.SuspendFunctionGun.access$resumeRootWith(SuspendFunctionGun.kt:14) at net.mamoe.mirai.internal.deps.io.ktor.util.pipeline.SuspendFunctionGun$continuation$1.resumeWith(SuspendFunctionGun.kt:58) at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:46) at net.mamoe.mirai.internal.deps.io.ktor.util.pipeline.SuspendFunctionGun.resumeRootWith(SuspendFunctionGun.kt:141) at net.mamoe.mirai.internal.deps.io.ktor.util.pipeline.SuspendFunctionGun.access$resumeRootWith(SuspendFunctionGun.kt:14) at net.mamoe.mirai.internal.deps.io.ktor.util.pipeline.SuspendFunctionGun$continuation$1.resumeWith(SuspendFunctionGun.kt:58) at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:46) at net.mamoe.mirai.internal.deps.io.ktor.util.pipeline.SuspendFunctionGun.resumeRootWith(SuspendFunctionGun.kt:141) at net.mamoe.mirai.internal.deps.io.ktor.util.pipeline.SuspendFunctionGun.access$resumeRootWith(SuspendFunctionGun.kt:14) at net.mamoe.mirai.internal.deps.io.ktor.util.pipeline.SuspendFunctionGun$continuation$1.resumeWith(SuspendFunctionGun.kt:58) at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:46) at net.mamoe.mirai.internal.deps.io.ktor.util.pipeline.SuspendFunctionGun.resumeRootWith(SuspendFunctionGun.kt:141) at net.mamoe.mirai.internal.deps.io.ktor.util.pipeline.SuspendFunctionGun.loop(SuspendFunctionGun.kt:126) at net.mamoe.mirai.internal.deps.io.ktor.util.pipeline.SuspendFunctionGun.proceed(SuspendFunctionGun.kt:81) at net.mamoe.mirai.internal.deps.io.ktor.util.pipeline.SuspendFunctionGun.execute$ktor_utils(SuspendFunctionGun.kt:101) at net.mamoe.mirai.internal.deps.io.ktor.util.pipeline.Pipeline.execute(Pipeline.kt:77) at net.mamoe.mirai.internal.deps.io.ktor.client.plugins.HttpSend$DefaultSender.execute(HttpSend.kt:138) at net.mamoe.mirai.internal.deps.io.ktor.client.plugins.HttpRedirect$Plugin$install$1.invokeSuspend(HttpRedirect.kt:61) at net.mamoe.mirai.internal.deps.io.ktor.client.plugins.HttpRedirect$Plugin$install$1.invoke(HttpRedirect.kt) at net.mamoe.mirai.internal.deps.io.ktor.client.plugins.HttpRedirect$Plugin$install$1.invoke(HttpRedirect.kt) at net.mamoe.mirai.internal.deps.io.ktor.client.plugins.HttpSend$InterceptedSender.execute(HttpSend.kt:116) at net.mamoe.mirai.internal.deps.io.ktor.client.plugins.HttpCallValidator$Companion$install$3.invokeSuspend(HttpCallValidator.kt:147) at net.mamoe.mirai.internal.deps.io.ktor.client.plugins.HttpCallValidator$Companion$install$3.invoke(HttpCallValidator.kt) at net.mamoe.mirai.internal.deps.io.ktor.client.plugins.HttpCallValidator$Companion$install$3.invoke(HttpCallValidator.kt) at net.mamoe.mirai.internal.deps.io.ktor.client.plugins.HttpSend$InterceptedSender.execute(HttpSend.kt:116) at net.mamoe.mirai.internal.deps.io.ktor.client.plugins.HttpSend$Plugin$install$1.invokeSuspend(HttpSend.kt:104) at net.mamoe.mirai.internal.deps.io.ktor.client.plugins.HttpSend$Plugin$install$1.invoke(HttpSend.kt) at net.mamoe.mirai.internal.deps.io.ktor.client.plugins.HttpSend$Plugin$install$1.invoke(HttpSend.kt) at net.mamoe.mirai.internal.deps.io.ktor.util.pipeline.SuspendFunctionGun.loop(SuspendFunctionGun.kt:123) at net.mamoe.mirai.internal.deps.io.ktor.util.pipeline.SuspendFunctionGun.proceed(SuspendFunctionGun.kt:81) at net.mamoe.mirai.internal.deps.io.ktor.util.pipeline.SuspendFunctionGun.proceedWith(SuspendFunctionGun.kt:91) at net.mamoe.mirai.internal.deps.io.ktor.client.plugins.DefaultTransformKt$defaultTransformers$1.invokeSuspend(DefaultTransform.kt:53) at net.mamoe.mirai.internal.deps.io.ktor.client.plugins.DefaultTransformKt$defaultTransformers$1.invoke(DefaultTransform.kt) at net.mamoe.mirai.internal.deps.io.ktor.client.plugins.DefaultTransformKt$defaultTransformers$1.invoke(DefaultTransform.kt) at net.mamoe.mirai.internal.deps.io.ktor.util.pipeline.SuspendFunctionGun.loop(SuspendFunctionGun.kt:123) at net.mamoe.mirai.internal.deps.io.ktor.util.pipeline.SuspendFunctionGun.proceed(SuspendFunctionGun.kt:81) at net.mamoe.mirai.internal.deps.io.ktor.util.pipeline.SuspendFunctionGun.proceedWith(SuspendFunctionGun.kt:91) at net.mamoe.mirai.internal.deps.io.ktor.client.plugins.HttpCallValidator$Companion$install$1.invokeSuspend(HttpCallValidator.kt:126) at net.mamoe.mirai.internal.deps.io.ktor.client.plugins.HttpCallValidator$Companion$install$1.invoke(HttpCallValidator.kt) at net.mamoe.mirai.internal.deps.io.ktor.client.plugins.HttpCallValidator$Companion$install$1.invoke(HttpCallValidator.kt) at net.mamoe.mirai.internal.deps.io.ktor.util.pipeline.SuspendFunctionGun.loop(SuspendFunctionGun.kt:123) at net.mamoe.mirai.internal.deps.io.ktor.util.pipeline.SuspendFunctionGun.proceed(SuspendFunctionGun.kt:81) at net.mamoe.mirai.internal.deps.io.ktor.client.plugins.HttpRequestLifecycle$Plugin$install$1.invokeSuspend(HttpRequestLifecycle.kt:35) at net.mamoe.mirai.internal.deps.io.ktor.client.plugins.HttpRequestLifecycle$Plugin$install$1.invoke(HttpRequestLifecycle.kt) at net.mamoe.mirai.internal.deps.io.ktor.client.plugins.HttpRequestLifecycle$Plugin$install$1.invoke(HttpRequestLifecycle.kt) at net.mamoe.mirai.internal.deps.io.ktor.util.pipeline.SuspendFunctionGun.loop(SuspendFunctionGun.kt:123) at net.mamoe.mirai.internal.deps.io.ktor.util.pipeline.SuspendFunctionGun.proceed(SuspendFunctionGun.kt:81) at net.mamoe.mirai.internal.deps.io.ktor.util.pipeline.SuspendFunctionGun.execute$ktor_utils(SuspendFunctionGun.kt:101) at net.mamoe.mirai.internal.deps.io.ktor.util.pipeline.Pipeline.execute(Pipeline.kt:77) at net.mamoe.mirai.internal.deps.io.ktor.client.HttpClient.execute$ktor_client_core(HttpClient.kt:187) at net.mamoe.mirai.internal.deps.io.ktor.client.statement.HttpStatement.executeUnsafe(HttpStatement.kt:107) at net.mamoe.mirai.internal.deps.io.ktor.client.statement.HttpStatement.execute(HttpStatement.kt:46) at net.mamoe.mirai.internal.deps.io.ktor.client.statement.HttpStatement.execute(HttpStatement.kt:61) at net.mamoe.mirai.internal.network.components.EcdhInitialPublicKeyUpdaterImpl$refreshInitialPublicKeyAndApplyEcdh$initialPublicKey$1$respStr$1.invokeSuspend(EcdhInitialPublicKeyUpdater.kt:144) at net.mamoe.mirai.internal.network.components.EcdhInitialPublicKeyUpdaterImpl$refreshInitialPublicKeyAndApplyEcdh$initialPublicKey$1$respStr$1.invoke(EcdhInitialPublicKeyUpdater.kt) at net.mamoe.mirai.internal.network.components.EcdhInitialPublicKeyUpdaterImpl$refreshInitialPublicKeyAndApplyEcdh$initialPublicKey$1$respStr$1.invoke(EcdhInitialPublicKeyUpdater.kt) at kotlinx.coroutines.intrinsics.UndispatchedKt.startUndispatchedOrReturnIgnoreTimeout(Undispatched.kt:100) at kotlinx.coroutines.TimeoutKt.setupTimeout(Timeout.kt:146) at kotlinx.coroutines.TimeoutKt.withTimeout(Timeout.kt:44) at kotlinx.coroutines.TimeoutKt.withTimeout-KLykuaI(Timeout.kt:71) at net.mamoe.mirai.internal.network.components.EcdhInitialPublicKeyUpdaterImpl.refreshInitialPublicKeyAndApplyEcdh(EcdhInitialPublicKeyUpdater.kt:94) at net.mamoe.mirai.internal.network.components.SsoProcessorImpl.login(SsoProcessor.kt:228) at net.mamoe.mirai.internal.network.components.SsoProcessorImpl$login$1.invokeSuspend(SsoProcessor.kt) at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33) at net.mamoe.mirai.internal.deps.io.ktor.util.pipeline.SuspendFunctionGun.resumeRootWith(SuspendFunctionGun.kt:141) at net.mamoe.mirai.internal.deps.io.ktor.util.pipeline.SuspendFunctionGun.access$resumeRootWith(SuspendFunctionGun.kt:14) at net.mamoe.mirai.internal.deps.io.ktor.util.pipeline.SuspendFunctionGun$continuation$1.resumeWith(SuspendFunctionGun.kt:58) at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:46) at net.mamoe.mirai.internal.deps.io.ktor.util.pipeline.SuspendFunctionGun.resumeRootWith(SuspendFunctionGun.kt:141) at net.mamoe.mirai.internal.deps.io.ktor.util.pipeline.SuspendFunctionGun.access$resumeRootWith(SuspendFunctionGun.kt:14) at net.mamoe.mirai.internal.deps.io.ktor.util.pipeline.SuspendFunctionGun$continuation$1.resumeWith(SuspendFunctionGun.kt:58) at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:46) at net.mamoe.mirai.internal.deps.io.ktor.util.pipeline.SuspendFunctionGun.resumeRootWith(SuspendFunctionGun.kt:141) at net.mamoe.mirai.internal.deps.io.ktor.util.pipeline.SuspendFunctionGun.access$resumeRootWith(SuspendFunctionGun.kt:14) at net.mamoe.mirai.internal.deps.io.ktor.util.pipeline.SuspendFunctionGun$continuation$1.resumeWith(SuspendFunctionGun.kt:58) at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:46) at net.mamoe.mirai.internal.deps.io.ktor.util.pipeline.SuspendFunctionGun.resumeRootWith(SuspendFunctionGun.kt:141) at net.mamoe.mirai.internal.deps.io.ktor.util.pipeline.SuspendFunctionGun.access$resumeRootWith(SuspendFunctionGun.kt:14) at net.mamoe.mirai.internal.deps.io.ktor.util.pipeline.SuspendFunctionGun$continuation$1.resumeWith(SuspendFunctionGun.kt:58) at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:46) at net.mamoe.mirai.internal.deps.io.ktor.util.pipeline.SuspendFunctionGun.resumeRootWith(SuspendFunctionGun.kt:141) at net.mamoe.mirai.internal.deps.io.ktor.util.pipeline.SuspendFunctionGun.access$resumeRootWith(SuspendFunctionGun.kt:14) at net.mamoe.mirai.internal.deps.io.ktor.util.pipeline.SuspendFunctionGun$continuation$1.resumeWith(SuspendFunctionGun.kt:58) at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:46) at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:104) ... 4 more Caused by: [CIRCULAR REFERENCE: net.mamoe.mirai.network.WrongPasswordException: Error(bot=Bot(**), code=45, title=禁止登录, message=你当前使用的QQ版本过低,请前往QQ官网im.qq.com下载最新版QQ后重试。, errorInfo=)] 2024-08-25 14:44:28 W/: Network selector received exception, closing bot. (net.mamoe.mirai.internal.network.components.LoginFailedExceptionAsNetworkException: BotAuthorization(BotAuthorization.byPassword()) threw an exception during authorization process. See cause below.) 2024-08-25 14:44:28 W/: Exception in resumeConnection. net.mamoe.mirai.internal.network.components.LoginFailedExceptionAsNetworkException: BotAuthorization(BotAuthorization.byPassword()) threw an exception during authorization process. See cause below. at net.mamoe.mirai.internal.network.handler.CommonNetworkHandler$StateConnecting$startState$2.invokeSuspend(CommonNetworkHandler.kt:249) at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33) 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) Caused by: net.mamoe.mirai.network.BotAuthorizationException: BotAuthorization(BotAuthorization.byPassword()) threw an exception during authorization process. See cause below. at net.mamoe.mirai.internal.network.components.SsoProcessorImpl.login(SsoProcessor.kt:263) at net.mamoe.mirai.internal.network.handler.CommonNetworkHandler$StateConnecting$startState$2.invokeSuspend(CommonNetworkHandler.kt:247) ... 6 more Suppressed: net.mamoe.mirai.network.WrongPasswordException: Error(bot=Bot(**), code=45, title=禁止登录, message=你当前使用的QQ版本过低,请前往QQ官网im.qq.com下载最新版QQ后重试。, errorInfo=) at net.mamoe.mirai.internal.network.components.SsoProcessorImpl$SlowLoginImpl.doLogin(SsoProcessor.kt:490) at net.mamoe.mirai.internal.network.components.SsoProcessorImpl$SlowLoginImpl$doLogin$1.invokeSuspend(SsoProcessor.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) ... 5 more Suppressed: java.lang.IllegalStateException: NetworkHandler is already closed. at net.mamoe.mirai.internal.network.handler.CommonNetworkHandler$StateClosed.sendPacketImpl(CommonNetworkHandler.kt:396) at net.mamoe.mirai.internal.network.handler.CommonNetworkHandler.sendPacketImpl(CommonNetworkHandler.kt:37) at net.mamoe.mirai.internal.network.handler.NetworkHandlerSupport.sendAndExpect(NetworkHandlerSupport.kt:123) at net.mamoe.mirai.internal.network.handler.NetworkHandlerSupport.sendAndExpect(NetworkHandlerSupport.kt:149) at net.mamoe.mirai.internal.network.handler.NetworkHandler.sendAndExpect$default(NetworkHandler.kt:194) at net.mamoe.mirai.internal.network.components.SsoProcessorImpl$FastLoginImpl.doLogin(SsoProcessor.kt:527) at net.mamoe.mirai.internal.network.components.SsoProcessorImpl.doFastLogin$suspendImpl(SsoProcessor.kt:179) at net.mamoe.mirai.internal.network.components.SsoProcessorImpl.doFastLogin(SsoProcessor.kt) at net.mamoe.mirai.internal.network.components.SsoProcessorImpl.login(SsoProcessor.kt:230) at net.mamoe.mirai.internal.network.components.SsoProcessorImpl$login$1.invokeSuspend(SsoProcessor.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 net.mamoe.mirai.internal.deps.io.ktor.util.pipeline.SuspendFunctionGun.resumeRootWith(SuspendFunctionGun.kt:141) at net.mamoe.mirai.internal.deps.io.ktor.util.pipeline.SuspendFunctionGun.access$resumeRootWith(SuspendFunctionGun.kt:14) at net.mamoe.mirai.internal.deps.io.ktor.util.pipeline.SuspendFunctionGun$continuation$1.resumeWith(SuspendFunctionGun.kt:58) at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:46) at net.mamoe.mirai.internal.deps.io.ktor.util.pipeline.SuspendFunctionGun.resumeRootWith(SuspendFunctionGun.kt:141) at net.mamoe.mirai.internal.deps.io.ktor.util.pipeline.SuspendFunctionGun.access$resumeRootWith(SuspendFunctionGun.kt:14) at net.mamoe.mirai.internal.deps.io.ktor.util.pipeline.SuspendFunctionGun$continuation$1.resumeWith(SuspendFunctionGun.kt:58) at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:46) at net.mamoe.mirai.internal.deps.io.ktor.util.pipeline.SuspendFunctionGun.resumeRootWith(SuspendFunctionGun.kt:141) at net.mamoe.mirai.internal.deps.io.ktor.util.pipeline.SuspendFunctionGun.access$resumeRootWith(SuspendFunctionGun.kt:14) at net.mamoe.mirai.internal.deps.io.ktor.util.pipeline.SuspendFunctionGun$continuation$1.resumeWith(SuspendFunctionGun.kt:58) at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:46) at net.mamoe.mirai.internal.deps.io.ktor.util.pipeline.SuspendFunctionGun.resumeRootWith(SuspendFunctionGun.kt:141) at net.mamoe.mirai.internal.deps.io.ktor.util.pipeline.SuspendFunctionGun.access$resumeRootWith(SuspendFunctionGun.kt:14) at net.mamoe.mirai.internal.deps.io.ktor.util.pipeline.SuspendFunctionGun$continuation$1.resumeWith(SuspendFunctionGun.kt:58) at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:46) at net.mamoe.mirai.internal.deps.io.ktor.util.pipeline.SuspendFunctionGun.resumeRootWith(SuspendFunctionGun.kt:141) at net.mamoe.mirai.internal.deps.io.ktor.util.pipeline.SuspendFunctionGun.loop(SuspendFunctionGun.kt:126) at net.mamoe.mirai.internal.deps.io.ktor.util.pipeline.SuspendFunctionGun.proceed(SuspendFunctionGun.kt:81) at net.mamoe.mirai.internal.deps.io.ktor.util.pipeline.SuspendFunctionGun.execute$ktor_utils(SuspendFunctionGun.kt:101) at net.mamoe.mirai.internal.deps.io.ktor.util.pipeline.Pipeline.execute(Pipeline.kt:77) at net.mamoe.mirai.internal.deps.io.ktor.client.plugins.HttpSend$DefaultSender.execute(HttpSend.kt:138) at net.mamoe.mirai.internal.deps.io.ktor.client.plugins.HttpRedirect$Plugin$install$1.invokeSuspend(HttpRedirect.kt:61) at net.mamoe.mirai.internal.deps.io.ktor.client.plugins.HttpRedirect$Plugin$install$1.invoke(HttpRedirect.kt) at net.mamoe.mirai.internal.deps.io.ktor.client.plugins.HttpRedirect$Plugin$install$1.invoke(HttpRedirect.kt) at net.mamoe.mirai.internal.deps.io.ktor.client.plugins.HttpSend$InterceptedSender.execute(HttpSend.kt:116) at net.mamoe.mirai.internal.deps.io.ktor.client.plugins.HttpCallValidator$Companion$install$3.invokeSuspend(HttpCallValidator.kt:147) at net.mamoe.mirai.internal.deps.io.ktor.client.plugins.HttpCallValidator$Companion$install$3.invoke(HttpCallValidator.kt) at net.mamoe.mirai.internal.deps.io.ktor.client.plugins.HttpCallValidator$Companion$install$3.invoke(HttpCallValidator.kt) at net.mamoe.mirai.internal.deps.io.ktor.client.plugins.HttpSend$InterceptedSender.execute(HttpSend.kt:116) at net.mamoe.mirai.internal.deps.io.ktor.client.plugins.HttpSend$Plugin$install$1.invokeSuspend(HttpSend.kt:104) at net.mamoe.mirai.internal.deps.io.ktor.client.plugins.HttpSend$Plugin$install$1.invoke(HttpSend.kt) at net.mamoe.mirai.internal.deps.io.ktor.client.plugins.HttpSend$Plugin$install$1.invoke(HttpSend.kt) at net.mamoe.mirai.internal.deps.io.ktor.util.pipeline.SuspendFunctionGun.loop(SuspendFunctionGun.kt:123) at net.mamoe.mirai.internal.deps.io.ktor.util.pipeline.SuspendFunctionGun.proceed(SuspendFunctionGun.kt:81) at net.mamoe.mirai.internal.deps.io.ktor.util.pipeline.SuspendFunctionGun.proceedWith(SuspendFunctionGun.kt:91) at net.mamoe.mirai.internal.deps.io.ktor.client.plugins.DefaultTransformKt$defaultTransformers$1.invokeSuspend(DefaultTransform.kt:53) at net.mamoe.mirai.internal.deps.io.ktor.client.plugins.DefaultTransformKt$defaultTransformers$1.invoke(DefaultTransform.kt) at net.mamoe.mirai.internal.deps.io.ktor.client.plugins.DefaultTransformKt$defaultTransformers$1.invoke(DefaultTransform.kt) at net.mamoe.mirai.internal.deps.io.ktor.util.pipeline.SuspendFunctionGun.loop(SuspendFunctionGun.kt:123) at net.mamoe.mirai.internal.deps.io.ktor.util.pipeline.SuspendFunctionGun.proceed(SuspendFunctionGun.kt:81) at net.mamoe.mirai.internal.deps.io.ktor.util.pipeline.SuspendFunctionGun.proceedWith(SuspendFunctionGun.kt:91) at net.mamoe.mirai.internal.deps.io.ktor.client.plugins.HttpCallValidator$Companion$install$1.invokeSuspend(HttpCallValidator.kt:126) at net.mamoe.mirai.internal.deps.io.ktor.client.plugins.HttpCallValidator$Companion$install$1.invoke(HttpCallValidator.kt) at net.mamoe.mirai.internal.deps.io.ktor.client.plugins.HttpCallValidator$Companion$install$1.invoke(HttpCallValidator.kt) at net.mamoe.mirai.internal.deps.io.ktor.util.pipeline.SuspendFunctionGun.loop(SuspendFunctionGun.kt:123) at net.mamoe.mirai.internal.deps.io.ktor.util.pipeline.SuspendFunctionGun.proceed(SuspendFunctionGun.kt:81) at net.mamoe.mirai.internal.deps.io.ktor.client.plugins.HttpRequestLifecycle$Plugin$install$1.invokeSuspend(HttpRequestLifecycle.kt:35) at net.mamoe.mirai.internal.deps.io.ktor.client.plugins.HttpRequestLifecycle$Plugin$install$1.invoke(HttpRequestLifecycle.kt) at net.mamoe.mirai.internal.deps.io.ktor.client.plugins.HttpRequestLifecycle$Plugin$install$1.invoke(HttpRequestLifecycle.kt) at net.mamoe.mirai.internal.deps.io.ktor.util.pipeline.SuspendFunctionGun.loop(SuspendFunctionGun.kt:123) at net.mamoe.mirai.internal.deps.io.ktor.util.pipeline.SuspendFunctionGun.proceed(SuspendFunctionGun.kt:81) at net.mamoe.mirai.internal.deps.io.ktor.util.pipeline.SuspendFunctionGun.execute$ktor_utils(SuspendFunctionGun.kt:101) at net.mamoe.mirai.internal.deps.io.ktor.util.pipeline.Pipeline.execute(Pipeline.kt:77) at net.mamoe.mirai.internal.deps.io.ktor.client.HttpClient.execute$ktor_client_core(HttpClient.kt:187) at net.mamoe.mirai.internal.deps.io.ktor.client.statement.HttpStatement.executeUnsafe(HttpStatement.kt:107) at net.mamoe.mirai.internal.deps.io.ktor.client.statement.HttpStatement.execute(HttpStatement.kt:46) at net.mamoe.mirai.internal.deps.io.ktor.client.statement.HttpStatement.execute(HttpStatement.kt:61) at net.mamoe.mirai.internal.network.components.EcdhInitialPublicKeyUpdaterImpl$refreshInitialPublicKeyAndApplyEcdh$initialPublicKey$1$respStr$1.invokeSuspend(EcdhInitialPublicKeyUpdater.kt:144) at net.mamoe.mirai.internal.network.components.EcdhInitialPublicKeyUpdaterImpl$refreshInitialPublicKeyAndApplyEcdh$initialPublicKey$1$respStr$1.invoke(EcdhInitialPublicKeyUpdater.kt) at net.mamoe.mirai.internal.network.components.EcdhInitialPublicKeyUpdaterImpl$refreshInitialPublicKeyAndApplyEcdh$initialPublicKey$1$respStr$1.invoke(EcdhInitialPublicKeyUpdater.kt) at kotlinx.coroutines.intrinsics.UndispatchedKt.startUndispatchedOrReturnIgnoreTimeout(Undispatched.kt:100) at kotlinx.coroutines.TimeoutKt.setupTimeout(Timeout.kt:146) at kotlinx.coroutines.TimeoutKt.withTimeout(Timeout.kt:44) at kotlinx.coroutines.TimeoutKt.withTimeout-KLykuaI(Timeout.kt:71) at net.mamoe.mirai.internal.network.components.EcdhInitialPublicKeyUpdaterImpl.refreshInitialPublicKeyAndApplyEcdh(EcdhInitialPublicKeyUpdater.kt:94) at net.mamoe.mirai.internal.network.components.SsoProcessorImpl.login(SsoProcessor.kt:228) at net.mamoe.mirai.internal.network.components.SsoProcessorImpl$login$1.invokeSuspend(SsoProcessor.kt) at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33) at net.mamoe.mirai.internal.deps.io.ktor.util.pipeline.SuspendFunctionGun.resumeRootWith(SuspendFunctionGun.kt:141) at net.mamoe.mirai.internal.deps.io.ktor.util.pipeline.SuspendFunctionGun.access$resumeRootWith(SuspendFunctionGun.kt:14) at net.mamoe.mirai.internal.deps.io.ktor.util.pipeline.SuspendFunctionGun$continuation$1.resumeWith(SuspendFunctionGun.kt:58) at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:46) at net.mamoe.mirai.internal.deps.io.ktor.util.pipeline.SuspendFunctionGun.resumeRootWith(SuspendFunctionGun.kt:141) at net.mamoe.mirai.internal.deps.io.ktor.util.pipeline.SuspendFunctionGun.access$resumeRootWith(SuspendFunctionGun.kt:14) at net.mamoe.mirai.internal.deps.io.ktor.util.pipeline.SuspendFunctionGun$continuation$1.resumeWith(SuspendFunctionGun.kt:58) at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:46) at net.mamoe.mirai.internal.deps.io.ktor.util.pipeline.SuspendFunctionGun.resumeRootWith(SuspendFunctionGun.kt:141) at net.mamoe.mirai.internal.deps.io.ktor.util.pipeline.SuspendFunctionGun.access$resumeRootWith(SuspendFunctionGun.kt:14) at net.mamoe.mirai.internal.deps.io.ktor.util.pipeline.SuspendFunctionGun$continuation$1.resumeWith(SuspendFunctionGun.kt:58) at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:46) at net.mamoe.mirai.internal.deps.io.ktor.util.pipeline.SuspendFunctionGun.resumeRootWith(SuspendFunctionGun.kt:141) at net.mamoe.mirai.internal.deps.io.ktor.util.pipeline.SuspendFunctionGun.access$resumeRootWith(SuspendFunctionGun.kt:14) at net.mamoe.mirai.internal.deps.io.ktor.util.pipeline.SuspendFunctionGun$continuation$1.resumeWith(SuspendFunctionGun.kt:58) at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:46) at net.mamoe.mirai.internal.deps.io.ktor.util.pipeline.SuspendFunctionGun.resumeRootWith(SuspendFunctionGun.kt:141) at net.mamoe.mirai.internal.deps.io.ktor.util.pipeline.SuspendFunctionGun.access$resumeRootWith(SuspendFunctionGun.kt:14) at net.mamoe.mirai.internal.deps.io.ktor.util.pipeline.SuspendFunctionGun$continuation$1.resumeWith(SuspendFunctionGun.kt:58) at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:46) at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:104) ... 4 more Caused by: [CIRCULAR REFERENCE: net.mamoe.mirai.network.WrongPasswordException: Error(bot=Bot(**), code=45, title=禁止登录, message=你当前使用的QQ版本过低,请前往QQ官网im.qq.com下载最新版QQ后重试。, errorInfo=)] 2024-08-25 14:44:28 W/: Network selector received exception, closing bot. (net.mamoe.mirai.internal.network.components.LoginFailedExceptionAsNetworkException: BotAuthorization(BotAuthorization.byPassword()) threw an exception during authorization process. See cause below.) 2024-08-25 14:44:28 W/: Network selector received exception, closing bot. (java.util.concurrent.CancellationException: Bot closed) 2024-08-25 14:44:28 E/: ExceptionInPacketHandlerException(packetHandler=CallPacketFactoryPacketHandler, incomingPacket=IncomingPacket(cmd=OnlinePush.ReqPush, seq=-1735179454, SUCCESS, r=OnlinePush.ReqPush.ReqPushDecoded), cause=net.mamoe.mirai.internal.network.components.LoginFailedExceptionAsNetworkException: BotAuthorization(BotAuthorization.byPassword()) threw an exception during authorization process. See cause below.) ExceptionInPacketHandlerException(packetHandler=CallPacketFactoryPacketHandler, incomingPacket=IncomingPacket(cmd=OnlinePush.ReqPush, seq=-1735179454, SUCCESS, r=OnlinePush.ReqPush.ReqPushDecoded), cause=net.mamoe.mirai.internal.network.components.LoginFailedExceptionAsNetworkException: BotAuthorization(BotAuthorization.byPassword()) threw an exception during authorization process. See cause below.) at net.mamoe.mirai.internal.network.components.PacketHandlerChain.handlePacket(PacketHandler.kt:45) at net.mamoe.mirai.internal.network.components.PacketHandlerChain$handlePacket$1.invokeSuspend(PacketHandler.kt) at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33) at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:104) 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) Caused by: net.mamoe.mirai.internal.network.components.LoginFailedExceptionAsNetworkException: BotAuthorization(BotAuthorization.byPassword()) threw an exception during authorization process. See cause below. at net.mamoe.mirai.internal.network.handler.CommonNetworkHandler$StateConnecting$startState$2.invokeSuspend(CommonNetworkHandler.kt:249) at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33) at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106) ... 4 more Caused by: net.mamoe.mirai.network.BotAuthorizationException: BotAuthorization(BotAuthorization.byPassword()) threw an exception during authorization process. See cause below. at net.mamoe.mirai.internal.network.components.SsoProcessorImpl.login(SsoProcessor.kt:263) at net.mamoe.mirai.internal.network.handler.CommonNetworkHandler$StateConnecting$startState$2.invokeSuspend(CommonNetworkHandler.kt:247) ... 6 more Suppressed: net.mamoe.mirai.network.WrongPasswordException: Error(bot=Bot(**), code=45, title=禁止登录, message=你当前使用的QQ版本过低,请前往QQ官网im.qq.com下载最新版QQ后重试。, errorInfo=) at net.mamoe.mirai.internal.network.components.SsoProcessorImpl$SlowLoginImpl.doLogin(SsoProcessor.kt:490) at net.mamoe.mirai.internal.network.components.SsoProcessorImpl$SlowLoginImpl$doLogin$1.invokeSuspend(SsoProcessor.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) ... 5 more Suppressed: java.lang.IllegalStateException: NetworkHandler is already closed. at net.mamoe.mirai.internal.network.handler.CommonNetworkHandler$StateClosed.sendPacketImpl(CommonNetworkHandler.kt:396) at net.mamoe.mirai.internal.network.handler.CommonNetworkHandler.sendPacketImpl(CommonNetworkHandler.kt:37) at net.mamoe.mirai.internal.network.handler.NetworkHandlerSupport.sendAndExpect(NetworkHandlerSupport.kt:123) at net.mamoe.mirai.internal.network.handler.NetworkHandlerSupport.sendAndExpect(NetworkHandlerSupport.kt:149) at net.mamoe.mirai.internal.network.handler.NetworkHandler.sendAndExpect$default(NetworkHandler.kt:194) at net.mamoe.mirai.internal.network.components.SsoProcessorImpl$FastLoginImpl.doLogin(SsoProcessor.kt:527) at net.mamoe.mirai.internal.network.components.SsoProcessorImpl.doFastLogin$suspendImpl(SsoProcessor.kt:179) at net.mamoe.mirai.internal.network.components.SsoProcessorImpl.doFastLogin(SsoProcessor.kt) at net.mamoe.mirai.internal.network.components.SsoProcessorImpl.login(SsoProcessor.kt:230) at net.mamoe.mirai.internal.network.components.SsoProcessorImpl$login$1.invokeSuspend(SsoProcessor.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 net.mamoe.mirai.internal.deps.io.ktor.util.pipeline.SuspendFunctionGun.resumeRootWith(SuspendFunctionGun.kt:141) at net.mamoe.mirai.internal.deps.io.ktor.util.pipeline.SuspendFunctionGun.access$resumeRootWith(SuspendFunctionGun.kt:14) at net.mamoe.mirai.internal.deps.io.ktor.util.pipeline.SuspendFunctionGun$continuation$1.resumeWith(SuspendFunctionGun.kt:58) at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:46) at net.mamoe.mirai.internal.deps.io.ktor.util.pipeline.SuspendFunctionGun.resumeRootWith(SuspendFunctionGun.kt:141) at net.mamoe.mirai.internal.deps.io.ktor.util.pipeline.SuspendFunctionGun.access$resumeRootWith(SuspendFunctionGun.kt:14) at net.mamoe.mirai.internal.deps.io.ktor.util.pipeline.SuspendFunctionGun$continuation$1.resumeWith(SuspendFunctionGun.kt:58) at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:46) at net.mamoe.mirai.internal.deps.io.ktor.util.pipeline.SuspendFunctionGun.resumeRootWith(SuspendFunctionGun.kt:141) at net.mamoe.mirai.internal.deps.io.ktor.util.pipeline.SuspendFunctionGun.access$resumeRootWith(SuspendFunctionGun.kt:14) at net.mamoe.mirai.internal.deps.io.ktor.util.pipeline.SuspendFunctionGun$continuation$1.resumeWith(SuspendFunctionGun.kt:58) at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:46) at net.mamoe.mirai.internal.deps.io.ktor.util.pipeline.SuspendFunctionGun.resumeRootWith(SuspendFunctionGun.kt:141) at net.mamoe.mirai.internal.deps.io.ktor.util.pipeline.SuspendFunctionGun.access$resumeRootWith(SuspendFunctionGun.kt:14) at net.mamoe.mirai.internal.deps.io.ktor.util.pipeline.SuspendFunctionGun$continuation$1.resumeWith(SuspendFunctionGun.kt:58) at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:46) at net.mamoe.mirai.internal.deps.io.ktor.util.pipeline.SuspendFunctionGun.resumeRootWith(SuspendFunctionGun.kt:141) at net.mamoe.mirai.internal.deps.io.ktor.util.pipeline.SuspendFunctionGun.loop(SuspendFunctionGun.kt:126) at net.mamoe.mirai.internal.deps.io.ktor.util.pipeline.SuspendFunctionGun.proceed(SuspendFunctionGun.kt:81) at net.mamoe.mirai.internal.deps.io.ktor.util.pipeline.SuspendFunctionGun.execute$ktor_utils(SuspendFunctionGun.kt:101) at net.mamoe.mirai.internal.deps.io.ktor.util.pipeline.Pipeline.execute(Pipeline.kt:77) at net.mamoe.mirai.internal.deps.io.ktor.client.plugins.HttpSend$DefaultSender.execute(HttpSend.kt:138) at net.mamoe.mirai.internal.deps.io.ktor.client.plugins.HttpRedirect$Plugin$install$1.invokeSuspend(HttpRedirect.kt:61) at net.mamoe.mirai.internal.deps.io.ktor.client.plugins.HttpRedirect$Plugin$install$1.invoke(HttpRedirect.kt) at net.mamoe.mirai.internal.deps.io.ktor.client.plugins.HttpRedirect$Plugin$install$1.invoke(HttpRedirect.kt) at net.mamoe.mirai.internal.deps.io.ktor.client.plugins.HttpSend$InterceptedSender.execute(HttpSend.kt:116) at net.mamoe.mirai.internal.deps.io.ktor.client.plugins.HttpCallValidator$Companion$install$3.invokeSuspend(HttpCallValidator.kt:147) at net.mamoe.mirai.internal.deps.io.ktor.client.plugins.HttpCallValidator$Companion$install$3.invoke(HttpCallValidator.kt) at net.mamoe.mirai.internal.deps.io.ktor.client.plugins.HttpCallValidator$Companion$install$3.invoke(HttpCallValidator.kt) at net.mamoe.mirai.internal.deps.io.ktor.client.plugins.HttpSend$InterceptedSender.execute(HttpSend.kt:116) at net.mamoe.mirai.internal.deps.io.ktor.client.plugins.HttpSend$Plugin$install$1.invokeSuspend(HttpSend.kt:104) at net.mamoe.mirai.internal.deps.io.ktor.client.plugins.HttpSend$Plugin$install$1.invoke(HttpSend.kt) at net.mamoe.mirai.internal.deps.io.ktor.client.plugins.HttpSend$Plugin$install$1.invoke(HttpSend.kt) at net.mamoe.mirai.internal.deps.io.ktor.util.pipeline.SuspendFunctionGun.loop(SuspendFunctionGun.kt:123) at net.mamoe.mirai.internal.deps.io.ktor.util.pipeline.SuspendFunctionGun.proceed(SuspendFunctionGun.kt:81) at net.mamoe.mirai.internal.deps.io.ktor.util.pipeline.SuspendFunctionGun.proceedWith(SuspendFunctionGun.kt:91) at net.mamoe.mirai.internal.deps.io.ktor.client.plugins.DefaultTransformKt$defaultTransformers$1.invokeSuspend(DefaultTransform.kt:53) at net.mamoe.mirai.internal.deps.io.ktor.client.plugins.DefaultTransformKt$defaultTransformers$1.invoke(DefaultTransform.kt) at net.mamoe.mirai.internal.deps.io.ktor.client.plugins.DefaultTransformKt$defaultTransformers$1.invoke(DefaultTransform.kt) at net.mamoe.mirai.internal.deps.io.ktor.util.pipeline.SuspendFunctionGun.loop(SuspendFunctionGun.kt:123) at net.mamoe.mirai.internal.deps.io.ktor.util.pipeline.SuspendFunctionGun.proceed(SuspendFunctionGun.kt:81) at net.mamoe.mirai.internal.deps.io.ktor.util.pipeline.SuspendFunctionGun.proceedWith(SuspendFunctionGun.kt:91) at net.mamoe.mirai.internal.deps.io.ktor.client.plugins.HttpCallValidator$Companion$install$1.invokeSuspend(HttpCallValidator.kt:126) at net.mamoe.mirai.internal.deps.io.ktor.client.plugins.HttpCallValidator$Companion$install$1.invoke(HttpCallValidator.kt) at net.mamoe.mirai.internal.deps.io.ktor.client.plugins.HttpCallValidator$Companion$install$1.invoke(HttpCallValidator.kt) at net.mamoe.mirai.internal.deps.io.ktor.util.pipeline.SuspendFunctionGun.loop(SuspendFunctionGun.kt:123) at net.mamoe.mirai.internal.deps.io.ktor.util.pipeline.SuspendFunctionGun.proceed(SuspendFunctionGun.kt:81) at net.mamoe.mirai.internal.deps.io.ktor.client.plugins.HttpRequestLifecycle$Plugin$install$1.invokeSuspend(HttpRequestLifecycle.kt:35) at net.mamoe.mirai.internal.deps.io.ktor.client.plugins.HttpRequestLifecycle$Plugin$install$1.invoke(HttpRequestLifecycle.kt) at net.mamoe.mirai.internal.deps.io.ktor.client.plugins.HttpRequestLifecycle$Plugin$install$1.invoke(HttpRequestLifecycle.kt) at net.mamoe.mirai.internal.deps.io.ktor.util.pipeline.SuspendFunctionGun.loop(SuspendFunctionGun.kt:123) at net.mamoe.mirai.internal.deps.io.ktor.util.pipeline.SuspendFunctionGun.proceed(SuspendFunctionGun.kt:81) at net.mamoe.mirai.internal.deps.io.ktor.util.pipeline.SuspendFunctionGun.execute$ktor_utils(SuspendFunctionGun.kt:101) at net.mamoe.mirai.internal.deps.io.ktor.util.pipeline.Pipeline.execute(Pipeline.kt:77) at net.mamoe.mirai.internal.deps.io.ktor.client.HttpClient.execute$ktor_client_core(HttpClient.kt:187) at net.mamoe.mirai.internal.deps.io.ktor.client.statement.HttpStatement.executeUnsafe(HttpStatement.kt:107) at net.mamoe.mirai.internal.deps.io.ktor.client.statement.HttpStatement.execute(HttpStatement.kt:46) at net.mamoe.mirai.internal.deps.io.ktor.client.statement.HttpStatement.execute(HttpStatement.kt:61) at net.mamoe.mirai.internal.network.components.EcdhInitialPublicKeyUpdaterImpl$refreshInitialPublicKeyAndApplyEcdh$initialPublicKey$1$respStr$1.invokeSuspend(EcdhInitialPublicKeyUpdater.kt:144) at net.mamoe.mirai.internal.network.components.EcdhInitialPublicKeyUpdaterImpl$refreshInitialPublicKeyAndApplyEcdh$initialPublicKey$1$respStr$1.invoke(EcdhInitialPublicKeyUpdater.kt) at net.mamoe.mirai.internal.network.components.EcdhInitialPublicKeyUpdaterImpl$refreshInitialPublicKeyAndApplyEcdh$initialPublicKey$1$respStr$1.invoke(EcdhInitialPublicKeyUpdater.kt) at kotlinx.coroutines.intrinsics.UndispatchedKt.startUndispatchedOrReturnIgnoreTimeout(Undispatched.kt:100) at kotlinx.coroutines.TimeoutKt.setupTimeout(Timeout.kt:146) at kotlinx.coroutines.TimeoutKt.withTimeout(Timeout.kt:44) at kotlinx.coroutines.TimeoutKt.withTimeout-KLykuaI(Timeout.kt:71) at net.mamoe.mirai.internal.network.components.EcdhInitialPublicKeyUpdaterImpl.refreshInitialPublicKeyAndApplyEcdh(EcdhInitialPublicKeyUpdater.kt:94) at net.mamoe.mirai.internal.network.components.SsoProcessorImpl.login(SsoProcessor.kt:228) at net.mamoe.mirai.internal.network.components.SsoProcessorImpl$login$1.invokeSuspend(SsoProcessor.kt) at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33) at net.mamoe.mirai.internal.deps.io.ktor.util.pipeline.SuspendFunctionGun.resumeRootWith(SuspendFunctionGun.kt:141) at net.mamoe.mirai.internal.deps.io.ktor.util.pipeline.SuspendFunctionGun.access$resumeRootWith(SuspendFunctionGun.kt:14) at net.mamoe.mirai.internal.deps.io.ktor.util.pipeline.SuspendFunctionGun$continuation$1.resumeWith(SuspendFunctionGun.kt:58) at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:46) at net.mamoe.mirai.internal.deps.io.ktor.util.pipeline.SuspendFunctionGun.resumeRootWith(SuspendFunctionGun.kt:141) at net.mamoe.mirai.internal.deps.io.ktor.util.pipeline.SuspendFunctionGun.access$resumeRootWith(SuspendFunctionGun.kt:14) at net.mamoe.mirai.internal.deps.io.ktor.util.pipeline.SuspendFunctionGun$continuation$1.resumeWith(SuspendFunctionGun.kt:58) at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:46) at net.mamoe.mirai.internal.deps.io.ktor.util.pipeline.SuspendFunctionGun.resumeRootWith(SuspendFunctionGun.kt:141) at net.mamoe.mirai.internal.deps.io.ktor.util.pipeline.SuspendFunctionGun.access$resumeRootWith(SuspendFunctionGun.kt:14) at net.mamoe.mirai.internal.deps.io.ktor.util.pipeline.SuspendFunctionGun$continuation$1.resumeWith(SuspendFunctionGun.kt:58) at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:46) at net.mamoe.mirai.internal.deps.io.ktor.util.pipeline.SuspendFunctionGun.resumeRootWith(SuspendFunctionGun.kt:141) at net.mamoe.mirai.internal.deps.io.ktor.util.pipeline.SuspendFunctionGun.access$resumeRootWith(SuspendFunctionGun.kt:14) at net.mamoe.mirai.internal.deps.io.ktor.util.pipeline.SuspendFunctionGun$continuation$1.resumeWith(SuspendFunctionGun.kt:58) at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:46) at net.mamoe.mirai.internal.deps.io.ktor.util.pipeline.SuspendFunctionGun.resumeRootWith(SuspendFunctionGun.kt:141) at net.mamoe.mirai.internal.deps.io.ktor.util.pipeline.SuspendFunctionGun.access$resumeRootWith(SuspendFunctionGun.kt:14) at net.mamoe.mirai.internal.deps.io.ktor.util.pipeline.SuspendFunctionGun$continuation$1.resumeWith(SuspendFunctionGun.kt:58) at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:46) at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:104) ... 4 more Caused by: [CIRCULAR REFERENCE: net.mamoe.mirai.network.WrongPasswordException: Error(bot=Bot(**), code=45, title=禁止登录, message=你当前使用的QQ版本过低,请前往QQ官网im.qq.com下载最新版QQ后重试。, errorInfo=)] ```

补充信息

Ra2-IFV commented 5 days ago

Same problem here.