openclaw - 💡(How to fix) Fix [Bug]: [Regression] post-attach.update-sentinel ~9s sync block per model_call (previously 0ms) — v2026.5.7

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…

After upgrading to 2026.5.7, every model_call now incurs a ~9 second synchronous post-attach.update-sentinel phase that was previously 0ms. This blocks the event loop and causes repeated liveness warning: event_loop_delay warnings, making the system unusable.

Before the update, update-sentinel never ran during model_call (0ms). After the update it runs every time (~9336ms), compounding with model-prewarm (~13047ms) for a total ~22 seconds of synchronous pre-work before each AI call.

Root Cause

After upgrading to 2026.5.7, every model_call now incurs a ~9 second synchronous post-attach.update-sentinel phase that was previously 0ms. This blocks the event loop and causes repeated liveness warning: event_loop_delay warnings, making the system unusable.

Before the update, update-sentinel never ran during model_call (0ms). After the update it runs every time (~9336ms), compounding with model-prewarm (~13047ms) for a total ~22 seconds of synchronous pre-work before each AI call.

Fix Action

Fix / Workaround

Option A: Make update-sentinel run only once at startup, not on every post-attach Option B: Make update.checkOnStart and update.autoUpdate.enabled configurable via config.patch (currently protected) Option C: Add a config flag to disable sentinel check entirely

  • Workaround via config: Cannot patch plugins.allow or update.* fields as they are protected
  • Downgrade: Requires manual version management; no easy rollback path

Code Example

[diagnostic] liveness warning: reasons=event_loop_delay,event_loop_utilization,cpu interval=30s eventLoopDelayP99Ms=15854.5 eventLoopDelayMaxMs=15854.5 eventLoopUtilization=0.997 cpuCoreRatio=1.004 active=0 waiting=0 queued=1 phase=channels.feishu.start-account recentPhases=sidecars.model-prewarm:13047ms,post-attach.update-sentinel:9336ms work=[queued=agent:main:main(idle/model_call,q=1,age=0s last=model_call:started)]
RAW_BUFFERClick to expand / collapse

Bug type

Regression (worked before, now fails)

Beta release blocker

No

Summary

After upgrading to 2026.5.7, every model_call now incurs a ~9 second synchronous post-attach.update-sentinel phase that was previously 0ms. This blocks the event loop and causes repeated liveness warning: event_loop_delay warnings, making the system unusable.

Before the update, update-sentinel never ran during model_call (0ms). After the update it runs every time (~9336ms), compounding with model-prewarm (~13047ms) for a total ~22 seconds of synchronous pre-work before each AI call.

Problem to solve

The update-sentinel (update restart sentinel check) now runs on every post-attach instead of only at startup. If the check involves fetching from npm registry or GitHub, it times out slowly (~8-9s) in regions with poor network connectivity to those services. This blocks the entire event loop, causing:

  • Repeated liveness warning: event_loop_delay
  • channels.feishu.start-account phase jams
  • CPU utilization spikes to 1.0 (100%)
  • Model responses delayed by 20+ seconds

Proposed solution

Option A: Make update-sentinel run only once at startup, not on every post-attach Option B: Make update.checkOnStart and update.autoUpdate.enabled configurable via config.patch (currently protected) Option C: Add a config flag to disable sentinel check entirely

Alternatives considered

  • Workaround via config: Cannot patch plugins.allow or update.* fields as they are protected
  • Downgrade: Requires manual version management; no easy rollback path

Impact

  • System becomes effectively unusable — every message takes 20+ seconds to process
  • Event loop saturation causes cascading failures across all channels
  • Feishu websocket connection is healthy (bot open_id resolves correctly) but the sentinel check blocks alongside it

Steps to reproduce

The update-sentinel (update restart sentinel check) now runs on every post-attach instead of only at startup. If the check involves fetching from npm registry or GitHub, it times out slowly (~8-9s) in regions with poor network connectivity to those services. This blocks the entire event loop, causing:

  • Repeated liveness warning: event_loop_delay
  • channels.feishu.start-account phase jams
  • CPU utilization spikes to 1.0 (100%)
  • Model responses delayed by 20+ seconds

Expected behavior

NOT_ENOUGH_INFO

Actual behavior

Before update (02:04-02:26) — worked fine post-attach.update-sentinel: 0ms model-prewarm: 10212ms

After update (02:30 onward) — broken post-attach.update-sentinel: 9336ms model-prewarm: 13047ms eventLoopUtilization: 0.997 (CPU at 100%)

OpenClaw version

OpenClaw 2026.5.7 (eeef486)

Operating system

Windows11

Install method

npm

Model

minimax

Provider / routing chain

openclaw-minimax

Additional provider/model setup details

No response

Logs, screenshots, and evidence

[diagnostic] liveness warning: reasons=event_loop_delay,event_loop_utilization,cpu interval=30s eventLoopDelayP99Ms=15854.5 eventLoopDelayMaxMs=15854.5 eventLoopUtilization=0.997 cpuCoreRatio=1.004 active=0 waiting=0 queued=1 phase=channels.feishu.start-account recentPhases=sidecars.model-prewarm:13047ms,post-attach.update-sentinel:9336ms work=[queued=agent:main:main(idle/model_call,q=1,age=0s last=model_call:started)]

Impact and severity

No response

Additional information

No response

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

FAQ

Expected behavior

NOT_ENOUGH_INFO

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING