-
-
Notifications
You must be signed in to change notification settings - Fork 79.1k
Regression on v2026.5.22: event-loop starvation returns (87s session-lock phase, 31s loop delay) — ref #80695 #86509
Copy link
Copy link
Closed
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.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.
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.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
Give feedbackNo fields configured for issues without a type.
Summary
Re-filing because the prior ticket (#80695, closed) covered the same root pattern on v2026.5.7 and the regression is now present on v2026.5.22. Rolled back to v2026.5.20 to recover; 5.22 added to local BLOCKED_VERSIONS.
Environment
npm i -g openclaw@latest)lib/telegram-outbound-watchdog.js(NODE_OPTIONS --require),lib/force-ipv4.js. These did not prevent the cascade on 5.22.Symptoms observed after upgrading 5.20 → 5.22
getMecalls timing out at 10s despite 31s elapsed (timer delayed, loop blocked).dir_list failed: unknown node: gateway— tool can no longer resolvegatewayas a workspace node (possibly a registry change between 5.20 and 5.22).Trigger pattern
Two agents active concurrently:
agent:tony:main— interactiveembedded_run, 49s ageagent:alex:cron:alex-daily-state-refresh— model_call, 31s ageSidecar phase that blocks the loop:
sidecars.session-locks:87319ms(87 seconds on the main thread).Log excerpt
Two stage breakdowns worth flagging on 5.22:
attempt-workspace:14774mson dispatch — workspace setup blocking nearly 15s per run.system-prompt:9706ms+session-resource-loader:8956mson stream-ready — ~19s of synchronous prep on the hot path.Suspected root cause(s)
Same as #80695 — concurrent agent work saturates the event loop because:
sidecars.session-locksruns heavy I/O on the main thread (87s here vs. ~hundreds of ms on 5.20).attempt-workspaceandsession-resource-loaderlook like they regressed in 5.22 — both run synchronously enough to block the loop while another agent is also running.start-accountstarvation fix in Telegram cascade on v2026.5.7: polling stall + outbound HTTP agent never rebuilt; multi-account start-account causes event-loop starvation #80695 appears to have regressed.Repro
getMe; health monitor declares bots stopped; cascade restart.Workaround
BLOCKED_VERSIONSin our update guard.Cross-refs
Network request for 'X' failed!(no "after") never classified as recoverable forcontext: send, drops outbound messages #80362 (cross-linked from Telegram cascade on v2026.5.7: polling stall + outbound HTTP agent never rebuilt; multi-account start-account causes event-loop starvation #80695)