Bug 报告
🔴 核心 Bug:Stuck Session Recovery 机制双重失效
问题描述:
Session 长时间停留在 `processing` 状态,事件循环完全阻塞,导致 Gateway 无响应,最终被 systemd 超时强杀。
两种情况均不恢复(根因):
情况 A — 有活跃工作时:
```
stuck session recovery skipped: reason=active_reply_work action=keep_lane
age=289s, 385s... 持续多分钟,系统选择"保持 lane 占用"不处理
```
情况 B — 无活跃工作时:
```
stuck session recovery no-op: reason=no_active_work action=none
lane=session:agent:main:main
系统什么都不做(action=none)
```
结果:无论哪种情况,系统都不执行真正恢复操作。Session 卡住直到 systemd 超时强杀。
触发频率:全天多次 SIGKILL,最长卡死 385 秒。
注:我们的 case 已在 #73581 提交过,这里是更详细的行为分析。
🔴 Session 预处理每次都极慢(176-307 秒)
问题描述:用户每次发消息,session 预处理耗时高达 3-5 分钟,体验极差。
实测数据(多次记录):
| 时间 |
prep 总耗时 |
| 10:02 |
183 秒 |
| 10:09 |
201 秒 |
| 10:19 |
307 秒(最长) |
| 10:23 |
295 秒 |
| 10:31 |
281 秒 |
| 11:30 |
178 秒 |
| 12:03 |
178 秒 |
每次固定耗时拆解:
| 阶段 |
耗时 |
| system-prompt 加载 |
58-69 秒 |
| stream-setup 建立 |
57-102 秒 |
| core-plugin-tools |
30-40 秒 |
| bundle-tools |
26-33 秒 |
核心问题:这些阶段每次都重复执行,没有缓存机制,导致用户每次发消息都要等 3-5 分钟才能得到首个回复。
🔴 问题三:4.29 升级导致配置丢失
触发场景:从 4.27 升级到 4.29 后,systemd override.conf 配置出现问题。
表现:
- `FEISHU_APP_SECRET is missing or empty`
- Gateway 连续多次启动失败
建议:升级流程中保留用户自定义配置,避免覆盖 systemd override 文件。
建议修复方向
- Stuck Session:需要强制超时熔断——无活跃工作时强制释放 lane,有活跃工作时也应设置超时上限
- Session 预处理:预处理结果应支持缓存复用,无需每次重新加载
- 升级流程:保留用户 systemd override 配置
环境信息
- OpenClaw 版本:v2026.4.27(4.29 也有同样问题)
- 系统:Linux 6.17,node 22
- 通道:飞书 WebSocket
- 模型:bailian/qwen3.6-plus
Bug 报告
🔴 核心 Bug:Stuck Session Recovery 机制双重失效
问题描述:
Session 长时间停留在 `processing` 状态,事件循环完全阻塞,导致 Gateway 无响应,最终被 systemd 超时强杀。
两种情况均不恢复(根因):
情况 A — 有活跃工作时:
```
stuck session recovery skipped: reason=active_reply_work action=keep_lane
age=289s, 385s... 持续多分钟,系统选择"保持 lane 占用"不处理
```
情况 B — 无活跃工作时:
```
stuck session recovery no-op: reason=no_active_work action=none
lane=session:agent:main:main
系统什么都不做(action=none)
```
结果:无论哪种情况,系统都不执行真正恢复操作。Session 卡住直到 systemd 超时强杀。
触发频率:全天多次 SIGKILL,最长卡死 385 秒。
🔴 Session 预处理每次都极慢(176-307 秒)
问题描述:用户每次发消息,session 预处理耗时高达 3-5 分钟,体验极差。
实测数据(多次记录):
每次固定耗时拆解:
核心问题:这些阶段每次都重复执行,没有缓存机制,导致用户每次发消息都要等 3-5 分钟才能得到首个回复。
🔴 问题三:4.29 升级导致配置丢失
触发场景:从 4.27 升级到 4.29 后,systemd override.conf 配置出现问题。
表现:
建议:升级流程中保留用户自定义配置,避免覆盖 systemd override 文件。
建议修复方向
环境信息