Closed LiLuo-B closed 2 weeks ago
Debian GNU/Linux 12 (bookworm)
9.9.15-28418
V2.6.23
NoneBot 2.3.3
NoneBot调用get_file下载文件,下载完成后过几秒napcat自动崩溃,文件太小的似乎没影响,有个几十兆的就开始崩溃了,然后下部分文件会直接下载失败
1.调用 get_file api下载文件 2.napcat崩溃
正常下载文件并不会崩溃,或者提供方法能够用napcat下载文件,目前我只知道使用file id来下载文件,拿不到url
下载文件后的崩溃日志 2024-10-05 01:01:44 [INFO] 千秋理子(447027034) | 接收 <- 群聊 [bot test(892823321)] [烛华(474115040)] [回复消息 [烛华(474115040)] [文件 l4d2_furryland_31902_v1_1.zip]] 下载 2024-10-05 01:01:44 [INFO] 千秋理子(447027034) | 发送 -> 群聊 [bot test(892823321)] [千秋理子(447027034)] 下载 2024-10-05 01:01:44 [INFO] 千秋理子(447027034) | 发送 -> 群聊 [bot test(892823321)] [千秋理子(447027034)] 获取文件成功,文件名l4d2_furryland_31902_v1_1.zip 大小290 MB [BuglyManager.cpp][fatalHandler][165]_fatal_handler signo: 13 [BuglyManager.cpp][printBacktrace][121]backtrace n_ptrs: 5 [BuglyManager.cpp][printBacktrace][126]backtrace_symbols ret: 0x376000bd2c00 [BuglyManager.cpp][printBacktrace][130]++++++++ FATAL ERROR(signal: 13) +++++++ [BuglyManager.cpp][printBacktrace][133]+++ trace: /lib/x86_64-linux-gnu/libc.so.6(+0x3c050) [0x7f1f90685050] [BuglyManager.cpp][printBacktrace][133]+++ trace: /lib/x86_64-linux-gnu/libc.so.6(__write+0x4f) [0x7f1f9074127f] [BuglyManager.cpp][printBacktrace][133]+++ trace: /opt/QQ/qq --no-sandbox -q 447027034(+0x23afb1e) [0x55ea7c7fdb1e] [BuglyManager.cpp][printBacktrace][136]+++++++++++++++++++++++++++ 下载文件报错时的日志 2024-10-05 01:04:51 [INFO] 千秋理子(447027034) | 接收 <- 群聊 [有驴头的原神群(849127468)] [烛华(474115040)] [回复消息 [烛华(474115040)] [文件 a21.7z.003]] 下载 2024-10-05 01:04:51 [INFO] 千秋理子(447027034) | 发送 -> 群聊 [有驴头的原神群(849127468)] [千秋理子(447027034)] 获取文件成功,文件名a21.7z.003 大小709 MB 2024-10-05 01:04:52 [ERROR] 千秋理子(447027034) | 发生错误 Error: 文件下载失败. RangeError: Invalid string length at GetFile._handle (file:///opt/QQ/resources/app/app_launcher/napcat/napcat.mjs:31480:17) at async GetFile.websocketHandle (file:///opt/QQ/resources/app/app_launcher/napcat/napcat.mjs:30626:23) at async OB11ActiveWebSocketAdapter.handleMessage (file:///opt/QQ/resources/app/app_launcher/napcat/napcat.mjs:12852:21)
下载文件后的崩溃日志 10-05 01:01:44 [DEBUG] nonebot | OneBot V11 | Calling API get_msg 10-05 01:01:44 [SUCCESS] nonebot | OneBot V11 447027034 | [message.group.normal]: Message 1835281057 from 474115040@[群:892823321] '[reply:id=1071632139]下载' 10-05 01:01:44 [DEBUG] nonebot | Running PreProcessors... 10-05 01:01:44 [DEBUG] nonebot | Checking for matchers in priority 1... 10-05 01:01:44 [INFO] nonebot | Event will be handled by Matcher(type='message', module=src.nonebot_plugin_plus_one.handler, lineno=7) 10-05 01:01:44 [DEBUG] nonebot | Running Matcher(type='message', module=src.nonebot_plugin_plus_one.handler, lineno=7) 10-05 01:01:44 [DEBUG] nonebot | Running handler Dependent(call=plush_handler) 10-05 01:01:44 [DEBUG] nonebot | OneBot V11 | Calling API send_msg 10-05 01:01:44 [INFO] nonebot | Event will be handled by Matcher(type='message', module=src.nonebot_plugin_file_download_agent.__main__, lineno=7) 10-05 01:01:44 [DEBUG] nonebot | Running Matcher(type='message', module=src.nonebot_plugin_file_download_agent.__main__, lineno=7) 10-05 01:01:44 [DEBUG] nonebot | Running handler Dependent(call=_) 10-05 01:01:44 [DEBUG] nonebot | OneBot V11 | Calling API send_msg 10-05 01:01:44 [INFO] nonebot | Matcher(type='message', module=src.nonebot_plugin_plus_one.handler, lineno=7) running complete 10-05 01:01:44 [DEBUG] nonebot | OneBot V11 | Calling API get_file 10-05 01:01:56 [WARNING] nonebot | OneBot V11 | WebSocket for Bot 447027034 closed by peer 10-05 01:01:56 [INFO] websockets | connection closed 下载文件报错时的日志 10-05 01:04:51 [DEBUG] nonebot | OneBot V11 | Calling API get_msg 10-05 01:04:51 [SUCCESS] nonebot | OneBot V11 447027034 | [message.group.normal]: Message 650492992 from 474115040@[群:849127468] '[reply:id=1554896101]下载' 10-05 01:04:51 [DEBUG] nonebot | Running PreProcessors... 10-05 01:04:51 [DEBUG] nonebot | Checking for matchers in priority 1... 10-05 01:04:51 [INFO] nonebot | Event will be handled by Matcher(type='message', module=src.nonebot_plugin_plus_one.handler, lineno=7) 10-05 01:04:51 [DEBUG] nonebot | Running Matcher(type='message', module=src.nonebot_plugin_plus_one.handler, lineno=7) 10-05 01:04:51 [DEBUG] nonebot | Running handler Dependent(call=plush_handler) 10-05 01:04:51 [INFO] nonebot | Matcher(type='message', module=src.nonebot_plugin_plus_one.handler, lineno=7) running complete 10-05 01:04:51 [INFO] nonebot | Event will be handled by Matcher(type='message', module=src.nonebot_plugin_file_download_agent.__main__, lineno=7) 10-05 01:04:51 [DEBUG] nonebot | Running Matcher(type='message', module=src.nonebot_plugin_file_download_agent.__main__, lineno=7) 10-05 01:04:51 [DEBUG] nonebot | Running handler Dependent(call=_) 10-05 01:04:51 [DEBUG] nonebot | OneBot V11 | Calling API send_msg 10-05 01:04:51 [DEBUG] nonebot | OneBot V11 | Calling API get_file 10-05 01:04:52 [INFO] nonebot | Matcher(type='message', module=src.nonebot_plugin_file_download_agent.__main__, lineno=7) running complete 10-05 01:04:52 [ERROR] nonebot | Running Matcher(type='message', module=src.nonebot_plugin_file_download_agent.__main__, lineno=7) failed. Traceback (most recent call last): File "/home/cherries/Server/Bot/NoneBot/Chiaki-Riko/bot.py", line 29, in <module> nonebot.run() File "/home/cherries/Server/Bot/NoneBot/Chiaki-Riko/.venv/lib/python3.11/site-packages/nonebot/__init__.py", line 335, in run get_driver().run(*args, **kwargs) File "/home/cherries/Server/Bot/NoneBot/Chiaki-Riko/.venv/lib/python3.11/site-packages/nonebot/drivers/fastapi.py", line 186, in run uvicorn.run( File "/home/cherries/Server/Bot/NoneBot/Chiaki-Riko/.venv/lib/python3.11/site-packages/uvicorn/main.py", line 577, in run server.run() File "/home/cherries/Server/Bot/NoneBot/Chiaki-Riko/.venv/lib/python3.11/site-packages/uvicorn/server.py", line 65, in run return asyncio.run(self.serve(sockets=sockets)) File "/usr/lib/python3.11/asyncio/runners.py", line 190, in run return runner.run(main) File "/usr/lib/python3.11/asyncio/runners.py", line 118, in run return self._loop.run_until_complete(task) File "/home/cherries/Server/Bot/NoneBot/Chiaki-Riko/.venv/lib/python3.11/site-packages/nonebot/message.py", line 476, in check_and_run_matcher await _run_matcher( > File "/home/cherries/Server/Bot/NoneBot/Chiaki-Riko/.venv/lib/python3.11/site-packages/nonebot/message.py", line 428, in _run_matcher await matcher.run(bot, event, state, stack, dependency_cache) File "/home/cherries/Server/Bot/NoneBot/Chiaki-Riko/.venv/lib/python3.11/site-packages/nonebot/internal/matcher/matcher.py", line 850, in run await self.simple_run(bot, event, state, stack, dependency_cache) File "/home/cherries/Server/Bot/NoneBot/Chiaki-Riko/.venv/lib/python3.11/site-packages/nonebot/internal/matcher/matcher.py", line 825, in simple_run await handler( File "/home/cherries/Server/Bot/NoneBot/Chiaki-Riko/.venv/lib/python3.11/site-packages/nonebot/dependencies/__init__.py", line 94, in __call__ return await cast(Callable[..., Awaitable[R]], self.call)(**values) File "/home/cherries/Server/Bot/NoneBot/Chiaki-Riko/src/nonebot_plugin_file_download_agent/__main__.py", line 19, in _ result = await bot.call_api("get_file", file_id=file_info.file_id) File "/home/cherries/Server/Bot/NoneBot/Chiaki-Riko/.venv/lib/python3.11/site-packages/nonebot/internal/adapter/bot.py", line 122, in call_api raise exception File "/home/cherries/Server/Bot/NoneBot/Chiaki-Riko/.venv/lib/python3.11/site-packages/nonebot/internal/adapter/bot.py", line 97, in call_api result = await self.adapter._call_api(self, api, **data) File "/home/cherries/Server/Bot/NoneBot/Chiaki-Riko/.venv/lib/python3.11/site-packages/nonebot/adapters/onebot/v11/adapter.py", line 147, in _call_api return handle_api_result(await self._result_store.fetch(seq, timeout)) File "/home/cherries/Server/Bot/NoneBot/Chiaki-Riko/.venv/lib/python3.11/site-packages/nonebot/adapters/onebot/v11/utils.py", line 58, in handle_api_result raise ActionFailed(**result) nonebot.adapters.onebot.v11.exception.ActionFailed: ActionFailed(status='failed', retcode=1200, data=None, message='Error: 文件下载失败. RangeError: Invalid string length\n at GetFile._handle (file:///opt/QQ/resources/app/app_launcher/napcat/napcat.mjs:31480:17)\n at async GetFile.websocketHandle (file:///opt/QQ/resources/app/app_launcher/napcat/napcat.mjs:30626:23)\n at async OB11ActiveWebSocketAdapter.handleMessage (file:///opt/QQ/resources/app/app_launcher/napcat/napcat.mjs:12852:21)', wording='Error: 文件下载失败. RangeError: Invalid string length\n at GetFile._handle (file:///opt/QQ/resources/app/app_launcher/napcat/napcat.mjs:31480:17)\n at async GetFile.websocketHandle (file:///opt/QQ/resources/app/app_launcher/napcat/napcat.mjs:30626:23)\n at async OB11ActiveWebSocketAdapter.handleMessage (file:///opt/QQ/resources/app/app_launcher/napcat/napcat.mjs:12852:21)', echo='87')
文件太大了 崩掉了ws吧
换http了,超过2g的还是会报错,大佬这个能修改吗,后台看是下完了的
那你不太好修
行吧,不过2g大部分情况都够用了
系统版本
Debian GNU/Linux 12 (bookworm)
QQNT 版本
9.9.15-28418
NapCat 版本
V2.6.23
OneBot 客户端
NoneBot 2.3.3
发生了什么?
NoneBot调用get_file下载文件,下载完成后过几秒napcat自动崩溃,文件太小的似乎没影响,有个几十兆的就开始崩溃了,然后下部分文件会直接下载失败
如何复现
1.调用 get_file api下载文件 2.napcat崩溃
期望的结果?
正常下载文件并不会崩溃,或者提供方法能够用napcat下载文件,目前我只知道使用file id来下载文件,拿不到url
NapCat 运行日志
OneBot 客户端运行日志