-
-
Notifications
You must be signed in to change notification settings - Fork 80.7k
Telegram/WhatsApp channel recovery can starve gateway event loop and trigger supervisor restart loop #95288
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.
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.
Type
Fields
Priority
None yet
Summary
On WSL2, enabling both Telegram and WhatsApp channels caused the OpenClaw gateway to become unstable: channel startup/recovery repeatedly timed out, the Node event loop became heavily delayed, memory crossed the warning threshold, and supervisor restart handoffs eventually put the gateway into a restart loop.
Disabling both
telegramandwhatsappat the channel and plugin layers stabilized the gateway immediately.Environment
v2026.6.8systemd --userunitopenclaw-gateway.service/usr/bin/node .../openclaw/dist/index.js gateway --port 18789Symptoms observed
The gateway would start and reach HTTP readiness, but then channel health/recovery work would cause long stalls and eventual restarts.
Representative log lines, with secrets redacted:
A supervisor handoff was also present:
{ "kind": "gateway-supervisor-restart-handoff", "reason": "cron.isolated_agent_setup_timeout", "restartKind": "full-process", "supervisorMode": "systemd" }The stability reports directory contained repeated files like:
Workaround that stabilized the service
I changed the config to disable Telegram and WhatsApp both as channels and plugin entries:
{ "channels": { "telegram": { "enabled": false }, "whatsapp": { "enabled": false } }, "plugins": { "entries": { "telegram": { "enabled": false }, "whatsapp": { "enabled": false } } } }After forcing the wedged gateway process down, removing the stale
gateway-supervisor-restart-handoff.json, and restarting the service, the gateway stayed active:Expected behavior
A channel with unreachable external API or unstable auth state should degrade independently without starving the gateway event loop or causing supervisor-level restart loops. Ideally:
Notes
The Telegram config in this case included many groups/topics and thread bindings, so command sync/setup may have been heavier than usual. Still, the gateway should remain responsive and avoid full restart loops when Telegram or WhatsApp is degraded.