agentscope-ai / agentscope-ai/AgentTeams

Manager Matrix Sync 静默断开 — Suppressed AbortError 后无重连

Abierto
#925 0 comentarios 0 reacciones 0 asignados Ver en GitHub
area:matrix-element
Lenguaje dominante
Go
Estrellas
5.6k
Forks
692
Merge medio
5 d 4 h
PR fusionados (30 d)
23

Descripción

## 问题概述

**现象:** Manager运行约10小时后,Matrix sync静默停止。Heartbeat继续运行,但无法接收外部Matrix消息。重启容器后恢复。

**关键特征:**
- Heartbeat(每30分钟内部定时器)仍然正常运行
- Agent可以执行tool调用(包括tool=message发消息)
- 但所有来自Matrix的外部消息不再被接收
- 日志中没有明确的错误,sync是静默停止的

---

## 完整时间线(UTC时间,北京时间 = UTC+8)

| UTC时间 | 北京时间 | 事件 |
|---------|---------|------|
| 2026-06-10 09:48 | 17:48 | Manager容器启动 |
| 09:48 - 15:48 | 17:48 - 23:48 | 正常运行6小时 |
| 15:48 | 23:48 | mc mirror同步openclaw.json时文件被截断,config reload开始失败 |
| 15:48 - 17:23 | 23:48 - 01:23 | config reload每分钟失败(约90次),错误:JSON5 parse failed |
| 17:23 | 01:23 | openclaw.json恢复正常,config reload停止报错 |
| 17:23 - 20:00 | 01:23 - 04:00 | 正常运行2.5小时 |
| **20:00:01** | **04:00:01** | **最后一条Matrix消息被处理** |
| **20:00:17** | **04:00:17** | **[openclaw] Suppressed AbortError: This operation was aborted** |
| 20:00:32 | 04:00:32 | 最后一次Matrix事件处理完成 |
| 20:00 - 次日05:37 | 04:00 - 13:37 | Matrix sync停止,但heartbeat继续运行 |
| 次日05:37 | 13:37 | 手动重启容器 |
| 次日05:39 | 13:39 | Matrix消息恢复 |

---

## 诊断过程

### 排除的假设

| 假设 | 证据 | 结论 |
|------|------|------|
| Tuwunel挂了 | 手动发消息成功 | 排除 |
| accessToken失效 | 手动发消息成功 | 排除 |
| 进程挂了 | heartbeat仍在运行 | 排除 |
| Config reload失败导致 | 失败在17:23停止,sync在20:00才断 | 不直接相关 |
| delivery-queue堆积 | 日志中没有delivery-queue错误 | 排除 |
| 房间ID大小写问题 | 这是Worker的问题,不是Manager的 | 排除 |

### 最可能的根因

**Matrix SDK的/sync长连接断开后,OpenClaw没有自动重连。**

证据链:
1. UTC 20:00:17 出现 `Suppressed AbortError` — 某个操作被abort
2. 此后所有Matrix消息接收停止
3. 但发消息(通过HTTP API直接调用)仍然成功
4. Heartbeat(内部定时器)仍然正常

这说明:
- Matrix服务器(Tuwunel)正常
- Manager的accessToken有效
- OpenClaw进程活着
- 但OpenClaw的Matrix SDK的sync连接断了,没有恢复

### 关于 Suppressed AbortError

`Suppressed AbortError` 是OpenClaw的错误处理机制 — 当某个操作被abort时,不抛出异常,而是静默处理。这个行为本身是修复后的正确行为(之前不suppress会导致gateway crash)。

**但问题在于:abort之后没有重连sync连接。** 这可能是OpenClaw Matrix SDK的一个缺陷。

---

## 环境信息

- **HiClaw版本:** v1.1.2
- **OpenClaw版本:** 2026.4.14
- **Matrix服务器:** Tuwunel(Conduit分支)
- **运行环境:** Docker容器(WSL2)

---

## 建议

1. 确认Matrix sync断开的具体原因
2. AbortError后是否有重连逻辑?如果没有,是否需要添加?
3. 是否需要增加health check接口检测sync状态?

---

## 相关Issue

- QwenPaw #3646 — Matrix channel inbound silently stops delivering events to LLM
- OpenClaw #1997 — Gateway crashes on config reload due to unhandled AbortError

---

*报告生成时间:2026-06-11 13:48 北京时间*
*诊断工具:Claude Code + Manager Agent*

Guía de contribución

No hay ninguna guía de contribución indexada para este repositorio

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.