openclaw - 💡(How to fix) Fix Bonjour/CIAO cancellation crashes gateway on startup [1 comments, 2 participants]

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…
GitHub stats
openclaw/openclaw#72234Fetched 2026-04-27 05:32:50
View on GitHub
Comments
1
Participants
2
Timeline
4
Reactions
2
Author
Timeline (top)
closed ×1commented ×1cross-referenced ×1subscribed ×1

The Bonjour advertiser uses the \ciao\ library for mDNS. When CIAO probing/announcement is cancelled (common on networks with multiple interfaces or during startup races), the unhandled promise rejection crashes the entire gateway process:

\
Unhandled promise rejection: CIAO PROBING CANCELLED Unhandled promise rejection: CIAO ANNOUNCEMENT CANCELLED \\

This prevents OpenClaw from reaching
eady\ state on affected networks.

Root Cause

The Bonjour advertiser uses the \ciao\ library for mDNS. When CIAO probing/announcement is cancelled (common on networks with multiple interfaces or during startup races), the unhandled promise rejection crashes the entire gateway process:

\
Unhandled promise rejection: CIAO PROBING CANCELLED Unhandled promise rejection: CIAO ANNOUNCEMENT CANCELLED \\

This prevents OpenClaw from reaching
eady\ state on affected networks.

Fix Action

Fix / Workaround

Local fix applied

Patched \extensions/bonjour/index.js\ and \unhandled-rejections-*.js\ to catch CIAO cancellation errors as non-fatal instead of letting them crash the gateway.

RAW_BUFFERClick to expand / collapse

Environment

  • Windows 10, OpenClaw 2026.4.24
  • Network: multi-interface LAN (NAS, multiple adapters)

Description

The Bonjour advertiser uses the \ciao\ library for mDNS. When CIAO probing/announcement is cancelled (common on networks with multiple interfaces or during startup races), the unhandled promise rejection crashes the entire gateway process:

\
Unhandled promise rejection: CIAO PROBING CANCELLED Unhandled promise rejection: CIAO ANNOUNCEMENT CANCELLED \\

This prevents OpenClaw from reaching
eady\ state on affected networks.

Local fix applied

Patched \extensions/bonjour/index.js\ and \unhandled-rejections-*.js\ to catch CIAO cancellation errors as non-fatal instead of letting them crash the gateway.

Suggested fix

Wrap CIAO operations in try/catch or register cancellation-specific rejection handlers so network-level mDNS failures don't kill the gateway. Bonjour/mDNS is nice-to-have — it should never be fatal to the core service.

Impact

Gateway fails to start on networks where mDNS probing gets cancelled (multi-interface, VPN, complex LAN setups). Lower priority than the loader/dep issues but still blocks startup for affected users.

extent analysis

TL;DR

Wrap CIAO operations in try/catch blocks or register cancellation-specific rejection handlers to prevent unhandled promise rejections from crashing the gateway.

Guidance

  • Identify and patch the specific lines of code in extensions/bonjour/index.js and unhandled-rejections-*.js where CIAO probing/announcement cancellations are not handled, to catch these errors as non-fatal.
  • Register cancellation-specific rejection handlers for CIAO operations to prevent them from crashing the gateway.
  • Consider implementing a fallback or retry mechanism for mDNS operations to improve robustness on complex networks.
  • Verify that the patched code correctly handles CIAO cancellation errors without crashing the gateway.

Example

try {
  // CIAO probing/announcement code here
} catch (error) {
  if (error.message.includes('CIAO PROBING CANCELLED') || error.message.includes('CIAO ANNOUNCEMENT CANCELLED')) {
    // Handle cancellation error as non-fatal
  } else {
    // Re-throw or handle other errors as usual
  }
}

Notes

This fix assumes that the ciao library is correctly implemented and that the issue is solely due to unhandled promise rejections. Additional debugging may be required if the issue persists after applying the suggested fix.

Recommendation

Apply the workaround by wrapping CIAO operations in try/catch blocks or registering cancellation-specific rejection handlers, as this is a more targeted and safer approach than attempting to upgrade or modify the underlying ciao library.

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 Bonjour/CIAO cancellation crashes gateway on startup [1 comments, 2 participants]