-
-
Notifications
You must be signed in to change notification settings - Fork 69.6k
[Bug]: Gateway probe shows 3000ms budget but uses 800ms internally — false timeout on healthy local loopback #46226
Copy link
Copy link
Open
Description
Bug Description
The openclaw gateway probe command displays Probe budget: 3000ms to the user, but internally applies Math.min(800, overallMs) for local loopback connections. This creates a misleading mismatch where:
- The CLI shows a 3000ms budget
- The actual connection timeout is 800ms
- Healthy gateways on slightly slower systems (or under load) falsely report
Reachable: nowithConnect: failed - timeout
Environment
- OpenClaw version: 2026.3.13 (also affects 2026.3.11, 2026.3.12)
- OS: Linux (also observed on Windows per False negative from
openclaw gateway probeon Windows #45940) - Gateway: local loopback ws://127.0.0.1:18789
- Gateway status: actually healthy and serving requests
Symptoms
$ openclaw gateway probe
Gateway Status
Reachable: no
Probe budget: 3000ms
Targets
Local loopback ws://127.0.0.1:18789
Connect: failed - timeout
Yet the gateway is operational:
openclaw status --deepreports gateway reachable- Control UI connects successfully
- WebSocket health endpoint responds correctly
Root Cause
In the gateway probe implementation:
- The CLI displays
overallMs(default 3000ms) as the probe budget - But for
localLoopbackkind, it applies:Math.min(800, overallMs) - This hardcoded 800ms is insufficient when:
- The system is under load
- WebSocket handshake takes longer than expected
- The gateway client's internal
connectChallengeTimeoutMs(4000ms) hasn't even been given time to complete
Related
- PR fix(gateway): increase local loopback probe budget to prevent false negative timeouts #45984 — increases local loopback probe budget (addresses the 800ms limit)
- PR fix(gateway): skip eager context warmup for probe #46152 — skips eager context warmup for probe (addresses unnecessary overhead)
- Issue False negative from
openclaw gateway probeon Windows #45940 — Windows-specific false negative (same root cause)
Suggested Fix
- Align displayed budget with actual budget, OR
- Increase local loopback budget to at least 4000ms to match the client's internal timeout, OR
- Make the budget configurable via openclaw.json
Workaround (Manual Runtime Patch)
For affected deployments, a manual patch on compiled bundles can restore functionality:
// Change from:
Math.min(800, overallMs)
// To:
Math.max(4000, Math.min(overallMs, 8000))Files requiring patch in installed distribution:
dist/gateway-cli-*.js(various hashed filenames)
This is a temporary workaround until the fix is released upstream.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels
Type
Fields
Give feedbackNo fields configured for issues without a type.