-
-
Notifications
You must be signed in to change notification settings - Fork 80.7k
[P0] Feishu connector: sequential queue deadlock + self-talk feedback loop under slow LLM #90559
Copy link
Copy link
Closed as not planned
Closed as not planned
Copy link
Labels
P1High-priority user-facing bug, regression, or broken workflow.High-priority user-facing bug, regression, or broken workflow.clawsweeper:needs-live-reproClawSweeper needs live local, crabbox, or manual validation to confirm this issue.ClawSweeper needs live local, crabbox, or manual validation to confirm this issue.clawsweeper:needs-maintainer-reviewClawSweeper marked this issue as needing maintainer review before automation.ClawSweeper marked this issue as needing maintainer review before automation.clawsweeper:needs-product-decisionClawSweeper marked this issue as needing a product or behavior decision.ClawSweeper marked this issue as needing a product or behavior decision.clawsweeper:no-new-fix-prClawSweeper does not recommend queueing a new automated fix PR for this issue.ClawSweeper does not recommend queueing a new automated fix PR for this issue.impact:crash-loopCrash, hang, restart loop, or process-level availability failure.Crash, hang, restart loop, or process-level availability failure.impact:message-lossChannel message delivery can be lost, duplicated, or misrouted.Channel message delivery can be lost, duplicated, or misrouted.impact:session-stateSession, memory, transcript, context, or agent state can drift or corrupt.Session, memory, transcript, context, or agent state can drift or corrupt.issue-rating: 🐚 platinum hermitGood issue quality with a plausible reproduction path needing some confirmation.Good issue quality with a plausible reproduction path needing some confirmation.staleMarked as stale due to inactivityMarked as stale due to inactivity
Description
Metadata
Metadata
Assignees
Labels
P1High-priority user-facing bug, regression, or broken workflow.High-priority user-facing bug, regression, or broken workflow.clawsweeper:needs-live-reproClawSweeper needs live local, crabbox, or manual validation to confirm this issue.ClawSweeper needs live local, crabbox, or manual validation to confirm this issue.clawsweeper:needs-maintainer-reviewClawSweeper marked this issue as needing maintainer review before automation.ClawSweeper marked this issue as needing maintainer review before automation.clawsweeper:needs-product-decisionClawSweeper marked this issue as needing a product or behavior decision.ClawSweeper marked this issue as needing a product or behavior decision.clawsweeper:no-new-fix-prClawSweeper does not recommend queueing a new automated fix PR for this issue.ClawSweeper does not recommend queueing a new automated fix PR for this issue.impact:crash-loopCrash, hang, restart loop, or process-level availability failure.Crash, hang, restart loop, or process-level availability failure.impact:message-lossChannel message delivery can be lost, duplicated, or misrouted.Channel message delivery can be lost, duplicated, or misrouted.impact:session-stateSession, memory, transcript, context, or agent state can drift or corrupt.Session, memory, transcript, context, or agent state can drift or corrupt.issue-rating: 🐚 platinum hermitGood issue quality with a plausible reproduction path needing some confirmation.Good issue quality with a plausible reproduction path needing some confirmation.staleMarked as stale due to inactivityMarked as stale due to inactivity
Type
Fields
Priority
None yet
[P0] Feishu connector: sequential queue deadlock + self-talk feedback loop under slow LLM
Summary
When the LLM provider is slow (thinking/reasoning takes >10 minutes), the Feishu DM connector enters a catastrophic failure mode combining three OpenClaw-side defects:
The result: hundreds of spam messages over ~50 minutes, rendering the agent unusable.
Reproduction
bailian/deepseek-v4-prowith reasoning enabled)message.send→ Feishu pushes back the bot's own message → connector treats it as new inbound → another run → another message.send → infinite self-talk loopRoot Cause Analysis
Defect 1: Sequential Queue — no timeout
Same
chat_idmessages are serialized. A single slow LLM call blocks the entire queue. Evidence from trajectory logs:All 68 trajectory events are
session.started+context.compiledonly. Zerollm.*,response.*,deliver.*, orrun.*events recorded — the session file was locked by the first stuck run.Defect 2: No bot message filter
Feishu WebSocket protocol pushes ALL messages in a chat back to the subscriber, including the bot's own messages. This is normal Feishu behavior, not a Feishu bug. However, the OpenClaw feishu connector does not filter out messages where
sender_id == bot_open_id. Each self-sent message is treated as a new inbound event, creating:The AI's context accumulates its own messages, interprets the silence as the user being unresponsive, and keeps "following up" — generating the infamous self-talk spiral ("要闭嘴" → sends another message → "真的要闭嘴" → sends another → …).
Defect 3: Session file lock
When a run holds a write lock on the session file, subsequent runs cannot write trajectory events, causing complete observability loss during the incident.
Evidence
Impact
Proposed Fixes
Immediate (connector-level)
sender.open_id == bot_open_idShort-term
message.sendwithin a rolling window, pause and require user acknowledgment before resumingLong-term
Environment
Report by a feishu-channel OpenClaw agent, sanitized from internal incident report. Full evidence (trajectory files, transcripts, gateway logs) available upon request.