openclaw - 💡(How to fix) Fix Critical Bugs: Disabled plugins running, Severe event loop stalls, Session sticky fallbacks [2 comments, 3 participants]

Official PRs (…)
ON THIS PAGE

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…
GitHub stats
openclaw/openclaw#77145Fetched 2026-05-05 05:51:40
View on GitHub
Comments
2
Participants
3
Timeline
5
Reactions
2
Author
Timeline (top)
commented ×2cross-referenced ×1mentioned ×1subscribed ×1

Error Message

If the administrator updates openclaw.json to fix the primary model and restarts the gateway, the user's existing session still tries to use the broken fallback model instead of re-evaluating the new primary model. The user is forced to manually send /new to escape the error loop.

Root Cause

Steps to Reproduce:

  1. Configure an invalid primary model and a broken fallback model.
  2. Send a message -> triggers chain_exhausted.
  3. Admin fixes the primary model in openclaw.json and restarts the gateway.
  4. User sends another message (without /new) -> immediately gets FailoverError because the session is sticky to the broken fallback candidate.

Code Example

"plugins": {
     "entries": {
       "pdf": { "enabled": false }
     }
   }

---

[trace:embedded-run] core-plugin-tool stages: ... openclaw-tools:pdf-tool:10306ms@12737ms ...

---

{"subsystem":"fetch-timeout","message":"fetch timeout reached; aborting operation","elapsedMs":63255,"operation":"fetchWithTimeout"}
{"subsystem":"diagnostic","message":"liveness warning: reasons=event_loop_delay interval=82s eventLoopDelayP99Ms=70.1 eventLoopDelayMaxMs=62511.9 eventLoopUtilization=0.86"}
RAW_BUFFERClick to expand / collapse

OpenClaw Bug Reports (for GitHub)

Bạn có thể copy/paste nội dung dưới đây để đăng lên trang Issues của kho lưu trữ OpenClaw trên GitHub. Tôi đã chia thành 3 issue riêng biệt vì chúng là 3 lỗi khác nhau.


Issue 1: Disabled plugins (like pdf-tool) still consume initialization time and block the event loop

Description: Even when explicitly disabling a plugin in openclaw.json via "enabled": false, the gateway still appears to initialize or spend significant time on it during the core-plugin-tools phase. This consumes a huge chunk of the 60-second default timeout budget.

Steps to Reproduce:

  1. In openclaw.json, set:
    "plugins": {
      "entries": {
        "pdf": { "enabled": false }
      }
    }
  2. Start the gateway and inspect the embedded run prep stages in the log.

Expected Behavior: Disabled plugins should be skipped instantly (0ms).

Actual Behavior: The log shows pdf-tool taking over 10 seconds to process despite being disabled:

[trace:embedded-run] core-plugin-tool stages: ... openclaw-tools:pdf-tool:10306ms@12737ms ...

Issue 2: Severe Event Loop Stalls (eventLoopDelayMaxMs > 60,000ms)

Description: The Node.js event loop gets completely blocked for extended periods (sometimes over 60 seconds), triggering severe liveness warnings from the diagnostic subsystem. This usually correlates with network requests (like fetchWithTimeout) or heavy synchronous plugin processing, causing the bot to become completely unresponsive to Telegram webhooks.

Log Evidence:

{"subsystem":"fetch-timeout","message":"fetch timeout reached; aborting operation","elapsedMs":63255,"operation":"fetchWithTimeout"}
{"subsystem":"diagnostic","message":"liveness warning: reasons=event_loop_delay interval=82s eventLoopDelayP99Ms=70.1 eventLoopDelayMaxMs=62511.9 eventLoopUtilization=0.86"}

(Notice the delay max is 62.5 seconds, effectively freezing the Node process).

Suggested Fix: Audit the fetchWithTimeout implementation and any synchronous file/plugin loading logic. Avoid using synchronous blocking calls or while loop sleep hacks that lock the main thread.


Issue 3: Session stickiness traps users in exhausted Fallback loops

Description: When a primary model fails (e.g., model_not_found or timeout) and the fallback model also fails, the session throws a FailoverError: LLM request timed out. However, OpenClaw "remembers" the failed fallback model for that specific sessionId.

If the administrator updates openclaw.json to fix the primary model and restarts the gateway, the user's existing session still tries to use the broken fallback model instead of re-evaluating the new primary model. The user is forced to manually send /new to escape the error loop.

Steps to Reproduce:

  1. Configure an invalid primary model and a broken fallback model.
  2. Send a message -> triggers chain_exhausted.
  3. Admin fixes the primary model in openclaw.json and restarts the gateway.
  4. User sends another message (without /new) -> immediately gets FailoverError because the session is sticky to the broken fallback candidate.

Expected Behavior: On a new request, if the previously selected model for the session is failing or if the config has changed, the agent should re-evaluate the routing starting from the primary model, rather than permanently getting stuck in an exhausted fallback state.

extent analysis

TL;DR

To address the issues, consider revising plugin initialization, auditing synchronous operations, and implementing session routing re-evaluation.

Guidance

  • For Issue 1, verify that the pdf-tool plugin is correctly disabled by checking the openclaw.json configuration and ensure that no other parts of the code are initializing it.
  • For Issue 2, review the fetchWithTimeout implementation to avoid synchronous blocking calls and consider using asynchronous methods to prevent event loop stalls.
  • For Issue 3, modify the session management logic to re-evaluate the primary model when the configuration changes or when a fallback model fails, allowing users to escape error loops without manual intervention.

Example

// Example of disabling a plugin in openclaw.json
"plugins": {
  "entries": {
    "pdf": { "enabled": false }
  }
}

Notes

The provided issues suggest that there are multiple areas that need attention, including plugin management, asynchronous operation handling, and session routing logic. Addressing these will likely require a combination of configuration changes and code revisions.

Recommendation

Apply workarounds and revisions to address each issue, starting with the most critical ones, such as preventing event loop stalls and ensuring proper session routing re-evaluation. This approach allows for targeted fixes without waiting for a comprehensive solution.

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…

Still need to ship something?

×6

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

Back to top recommendations

TRENDING

openclaw - 💡(How to fix) Fix Critical Bugs: Disabled plugins running, Severe event loop stalls, Session sticky fallbacks [2 comments, 3 participants]