Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

反向 WebSocket 重连后不响应任何事件 #123

Open
MrXiaoM opened this issue Jan 11, 2025 · 4 comments
Open

反向 WebSocket 重连后不响应任何事件 #123

MrXiaoM opened this issue Jan 11, 2025 · 4 comments
Labels
bug 已确认存在漏洞 question 对错误或其它问题进行提问

Comments

@MrXiaoM
Copy link
Owner

MrXiaoM commented Jan 11, 2025

问题描述

#96 #97 未考虑重连情况,未复用 BotWrapper 等导致的问题。

复现

使用任意 Onebot 实现通过反向ws连接到 Overflow,断开连接后重连(比如 LLOnebot 被下线重新登录),连接成功后不响应任何事件。

以 LLOnebot 的完整复现过程:

  • 使用 Overflow 1.0.2 发行版
  • 使用反向 WebSocket 连接
  • 在 LLOnebot 开启反向 WebSocket 连接,点击保存,此时 Overflow 正常连接一个 Bot
  • 在 LLOnebot 关闭反向 WebSocket 功能,点击保存,此时 Overflow 断开连接
  • 在 LLOnebot 在此开启反向 WebSocket 连接,点击保存,此时 Overflow 提示已连接,但工作不正常

最新开发版本可能已解决这个问题,但可能还有新的问题,等待进一步观察

Overflow 版本

1.0.2

其他组件版本

No response

系统日志

No response

网络日志

2025-01-11 21:54:07 I/Onebot: ▌ 反向 WebSocket 客户端连接因 未知原因 已关闭 (关闭码: ABNORMAL_CLOSE)
2025-01-11 21:58:11 I/Onebot: ▌ 反向 WebSocket 客户端 /127.0.0.1:49557 已连接 ┈━═☆
(后面没有了,一点反应都没有)

补充信息

No response

@MrXiaoM MrXiaoM added bug 已确认存在漏洞 question 对错误或其它问题进行提问 labels Jan 11, 2025
MrXiaoM added a commit that referenced this issue Jan 13, 2025
@MrXiaoM
Copy link
Owner Author

MrXiaoM commented Jan 13, 2025

该问题可能已修复,由于对连接流程有较大修改,有待进一步观察

@kagg886
Copy link
Contributor

kagg886 commented Jan 14, 2025

盲猜是哪个异常把IAdater子类的scope爆了(可能是那个scope没有加入SuperviserJob()的缘故?)

@MrXiaoM
Copy link
Owner Author

MrXiaoM commented Jan 14, 2025

盲猜是哪个异常把IAdater子类的scope爆了(可能是那个scope没有加入SuperviserJob()的缘故?)

是重新连接后没有执行 .wrap 把 onebot 模块的 Bot 实例更新到 overflow-core 模块的 BotWrapper。
.wrap 只会在 start0 里面 awaitNewBotConnection 之后执行,在那之后有新的连接进来,那可就没有地方在 await 了

可能也和 runBlocking 阻塞了有一点关系,测试的时候用 runBlocking 就发 get_version_info 出去怎样都收不到回应

@HanamiSeishin
Copy link

#75 应该是相同问题?

@HanamiSeishin HanamiSeishin marked this as a duplicate of #75 Jan 17, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug 已确认存在漏洞 question 对错误或其它问题进行提问
Projects
None yet
Development

No branches or pull requests

3 participants