openclaw - 💡(How to fix) Fix 2026.4.24 gateway crash loop: Unhandled promise rejection 'CIAO PROBING CANCELLED' from bonjour [1 comments, 2 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#71799Fetched 2026-04-26 05:08:10
View on GitHub
Comments
1
Participants
2
Timeline
4
Reactions
0
Participants
Timeline (top)
labeled ×2closed ×1commented ×1

After upgrading from 2026.4.23 to 2026.4.24 on macOS, the gateway enters a crash-loop on startup. Each gateway process exits within ~25 seconds with an unhandled promise rejection from the bonjour mDNS plugin during its announcing/probing phase. openclaw doctor cannot complete because the gateway is never up long enough to accept connections.

Error Message

`~/.openclaw/logs/gateway.err.log`:

``` [bonjour] gateway name conflict resolved; newName="Joules's Mac mini (OpenClaw) (2)" [bonjour] restarting advertiser (service stuck in probing for 23162ms (gateway fqdn=Joules's Mac mini (OpenClaw)._openclaw-gw._tcp.local. host=openclaw.local. port=18789 state=probing)) [openclaw] Unhandled promise rejection: CIAO PROBING CANCELLED [openclaw] wrote stability bundle: /Users/joules/.openclaw/logs/stability/openclaw-stability-2026-04-25T20-36-18-345Z-93259-unhandled_rejection.json ```

Two stability bundles are available locally for analysis (paths: `/.openclaw/logs/stability/openclaw-stability-2026-04-25T20-35-39-595Z-92941-unhandled_rejection.json` and `/.openclaw/logs/stability/openclaw-stability-2026-04-25T20-36-18-345Z-93259-unhandled_rejection.json`). Happy to upload if useful.

Root Cause

After upgrading from 2026.4.23 to 2026.4.24 on macOS, the gateway enters a crash-loop on startup. Each gateway process exits within ~25 seconds with an unhandled promise rejection from the bonjour mDNS plugin during its announcing/probing phase. openclaw doctor cannot complete because the gateway is never up long enough to accept connections.

Fix Action

Workaround

On the affected host, rolled back to `2026.4.23`: reverted both LaunchAgent plists to the `…/[email protected]_@[email protected]/…` path, downgraded pnpm/nvm globals, ran one bootout/bootstrap cycle. Stable since.

Not yet tested whether disabling the bonjour plugin in `openclaw.json` would also unblock 2026.4.24 startup.

RAW_BUFFERClick to expand / collapse

Summary

After upgrading from 2026.4.23 to 2026.4.24 on macOS, the gateway enters a crash-loop on startup. Each gateway process exits within ~25 seconds with an unhandled promise rejection from the bonjour mDNS plugin during its announcing/probing phase. openclaw doctor cannot complete because the gateway is never up long enough to accept connections.

Environment

  • Host: macOS 26.3.1 (arm64)
  • Node: 25.6.1 (gateway runs under embedded node 22.22.0)
  • Install: pnpm global + a parallel npm-under-nvm install used by the LaunchAgent

Reproduction

  1. pnpm add -g [email protected] and npm install -g [email protected] (under nvm so ai.openclaw.node.plist resolves the new install).
  2. Update ~/Library/LaunchAgents/ai.openclaw.gateway.plist and ai.openclaw.dj-runtime.plist to point at …/.pnpm/[email protected]/node_modules/openclaw/dist/index.js (note: 4.24 dropped the _@[email protected] suffix that 4.22 and 4.23 carried).
  3. launchctl bootout gui/$UID/ai.openclaw.gateway && launchctl bootstrap gui/$UID ~/Library/LaunchAgents/ai.openclaw.gateway.plist.

Observed: gateway starts, enters bonjour announcing/probing, then crashes within 20–30 s. launchctl list | grep openclaw shows the gateway constantly recycling PIDs.

Logs

`~/.openclaw/logs/gateway.err.log`:

``` [bonjour] gateway name conflict resolved; newName="Joules's Mac mini (OpenClaw) (2)" [bonjour] restarting advertiser (service stuck in probing for 23162ms (gateway fqdn=Joules's Mac mini (OpenClaw)._openclaw-gw._tcp.local. host=openclaw.local. port=18789 state=probing)) [openclaw] Unhandled promise rejection: CIAO PROBING CANCELLED [openclaw] wrote stability bundle: /Users/joules/.openclaw/logs/stability/openclaw-stability-2026-04-25T20-36-18-345Z-93259-unhandled_rejection.json ```

Two stability bundles are available locally for analysis (paths: `/.openclaw/logs/stability/openclaw-stability-2026-04-25T20-35-39-595Z-92941-unhandled_rejection.json` and `/.openclaw/logs/stability/openclaw-stability-2026-04-25T20-36-18-345Z-93259-unhandled_rejection.json`). Happy to upload if useful.

Hypothesis

The bonjour advertiser's probing/announcing watchdog cancels the in-flight CIAO operation when it appears stuck. The cancellation rejects an internal promise. Under Node's strict unhandled-rejection mode this terminates the process.

A second symptom suggests a contributing cause: the bonjour layer keeps detecting a name/host conflict and renaming the service to `(2)`, suggesting the previous gateway PID's mDNS advertisement hasn't been retired before the new gateway starts probing.

Suggested fixes

  • Catch the bonjour CIAO cancellation rejection so it doesn't bubble unhandled.
  • Retire the prior mDNS advertisement before starting a new probing cycle (the rename-to-`(2)` suggests the old advertisement is still live when the new gateway starts).

Workaround

On the affected host, rolled back to `2026.4.23`: reverted both LaunchAgent plists to the `…/[email protected]_@[email protected]/…` path, downgraded pnpm/nvm globals, ran one bootout/bootstrap cycle. Stable since.

Not yet tested whether disabling the bonjour plugin in `openclaw.json` would also unblock 2026.4.24 startup.

extent analysis

TL;DR

Downgrade to version 2026.4.23 or apply a workaround by disabling the bonjour plugin in openclaw.json to prevent the gateway crash-loop on startup.

Guidance

  • The crash-loop is likely caused by an unhandled promise rejection from the bonjour mDNS plugin during its announcing/probing phase, which can be mitigated by catching the rejection or retiring the prior mDNS advertisement before starting a new probing cycle.
  • To verify the issue, check the gateway.err.log for the "Unhandled promise rejection: CIAO PROBING CANCELLED" error message and observe the gateway constantly recycling PIDs using launchctl list | grep openclaw.
  • Disabling the bonjour plugin in openclaw.json may also unblock the 2026.4.24 startup, but this has not been tested yet.
  • Downgrading to 2026.4.23 has been confirmed to resolve the issue.

Example

No code snippet is provided as the issue is related to a specific version and configuration of the openclaw gateway.

Notes

The provided stability bundles may be useful for further analysis, but the exact cause of the issue is still uncertain. The workaround of downgrading to 2026.4.23 has been confirmed to work, but a more permanent fix may require changes to the bonjour plugin or the openclaw gateway code.

Recommendation

Apply the workaround by downgrading to version 2026.4.23 as it has been confirmed to resolve the issue, until a more permanent fix is available.

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 2026.4.24 gateway crash loop: Unhandled promise rejection 'CIAO PROBING CANCELLED' from bonjour [1 comments, 2 participants]