Skip to content

Bug: Telegram sendChatAction infinite retry loop with no backoff #56096

Description

@cal-rufus

Severity: High

Makes the bot completely unresponsive until manual process kill.

Steps to reproduce

  1. Send a message while the configured model returns 529 (overloaded)
  2. Reply fails, failover also fails
  3. sendChatAction ("typing...") enters infinite retry loop every ~3 seconds
  4. Loop persists across SIGUSR1 in-process restarts
  5. Only a full process kill (launchctl kickstart -k or bootout+bootstrap) clears it

Log evidence

[telegram] sendChatAction failed: Network request for 'sendChatAction' failed!
(repeated every 3s for 10+ minutes, 200+ times)
[telegram] Polling stall detected (no getUpdates for 94.89s); forcing restart.
[telegram] Polling runner stop timed out after 15s; forcing restart cycle.

Expected behavior

  • sendChatAction should have a max retry count (e.g., 5 attempts)
  • Exponential backoff between retries
  • After max retries, abandon the typing indicator and move on
  • SIGUSR1 restart should clear all pending sendChatAction loops

Actual behavior

  • Infinite loop, no backoff, no max retries
  • Blocks the entire Telegram channel
  • Survives soft restarts

Impact

Bot was completely unresponsive for 11+ hours. User sent 10+ messages over that period with no reply. Only resolved by manual process kill.

Environment

  • OpenClaw 2026.3.24 (cff6dc9)
  • macOS 12.7.6 (x64)
  • Node 24.14.0
  • Telegram channel

Metadata

Metadata

Assignees

No one assigned

    Labels

    P1High-priority user-facing bug, regression, or broken workflow.clawsweeper:linked-pr-openClawSweeper found an open linked pull request for this issue.clawsweeper:needs-live-reproClawSweeper needs live local, crabbox, or manual validation to confirm this issue.clawsweeper:no-new-fix-prClawSweeper does not recommend queueing a new automated fix PR for this issue.impact:crash-loopCrash, hang, restart loop, or process-level availability failure.impact:message-lossChannel message delivery can be lost, duplicated, or misrouted.issue-rating: 🐚 platinum hermitGood issue quality with a plausible reproduction path needing some confirmation.staleMarked as stale due to inactivity

    Type

    No type

    Fields

    Priority

    None yet

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions