openclaw - 💡(How to fix) Fix [Bug]: Bonjour/CIAO unhandled rejections still crash gateway v2026.4.24 despite PR #71668 [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#72334Fetched 2026-04-27 05:31:27
View on GitHub
Comments
1
Participants
2
Timeline
2
Reactions
0
Author
Timeline (top)
closed ×1commented ×1

Despite PR #71668 ("fix(bonjour): suppress CIAO PROBING CANCELLED across plugin module instances") which was merged on April 25, 2026 and supposedly fixes the bonjour crash issue, the gateway still crashes with unhandled promise rejections related to CIAO/Bonjour:

[openclaw] Unhandled promise rejection: CIAO PROBING CANCELLED
[openclaw] Unhandled promise rejection: CIAO ANNOUNCEMENT CANCELLED

The crash occurs approximately 30 seconds after gateway startup, consistently reproducible.

Error Message

[bonjour] watchdog detected non-announced service; attempting re-advertise (gateway fqdn=ubuntu (OpenClaw)._openclaw-gw._tcp.local. host=openclaw.local. port=18789 state=probing)
[bonjour] restarting advertiser (service stuck in probing for 15188ms ...)
[bonjour] advertised gateway fqdn=ubuntu (OpenClaw)._openclaw-gw._tcp.local. host=openclaw.local. port=18789 state=unannounced
[openclaw] Unhandled promise rejection: CIAO ANNOUNCEMENT CANCELLED
[openclaw] wrote stability bundle: ...unhandled_rejection.json
systemd[323245]: openclaw-gateway.service: Main process exited, code=exited, status=1/FAILURE

Root Cause

Priority

This is a high severity bug because it makes the gateway unusable on Linux servers with the default bonjour plugin enabled.

Fix Action

Workaround

Setting plugins.entries.bonjour.enabled: false in the config prevents the crashes, but this is not documented and users may not know to do this.

Code Example

[openclaw] Unhandled promise rejection: CIAO PROBING CANCELLED
[openclaw] Unhandled promise rejection: CIAO ANNOUNCEMENT CANCELLED

---

[bonjour] watchdog detected non-announced service; attempting re-advertise (gateway fqdn=ubuntu (OpenClaw)._openclaw-gw._tcp.local. host=openclaw.local. port=18789 state=probing)
[bonjour] restarting advertiser (service stuck in probing for 15188ms ...)
[bonjour] advertised gateway fqdn=ubuntu (OpenClaw)._openclaw-gw._tcp.local. host=openclaw.local. port=18789 state=unannounced
[openclaw] Unhandled promise rejection: CIAO ANNOUNCEMENT CANCELLED
[openclaw] wrote stability bundle: ...unhandled_rejection.json
systemd[323245]: openclaw-gateway.service: Main process exited, code=exited, status=1/FAILURE

---

config reload skipped (invalid config): models.mode: Invalid input (allowed: "merge", "replace")
RAW_BUFFERClick to expand / collapse

Bug Report: Bonjour/CIAO unhandled rejections still crash gateway in v2026.4.24

Environment

  • OpenClaw version: 2026.4.24 (cbcfdf6)
  • OS: Ubuntu 24.04 (Linux 6.8.0-106-generic)
  • Runtime: Node 22.22.2
  • Install method: npm global (/usr/lib/node_modules/openclaw)
  • Gateway mode: local (systemd service)

Description

Despite PR #71668 ("fix(bonjour): suppress CIAO PROBING CANCELLED across plugin module instances") which was merged on April 25, 2026 and supposedly fixes the bonjour crash issue, the gateway still crashes with unhandled promise rejections related to CIAO/Bonjour:

[openclaw] Unhandled promise rejection: CIAO PROBING CANCELLED
[openclaw] Unhandled promise rejection: CIAO ANNOUNCEMENT CANCELLED

The crash occurs approximately 30 seconds after gateway startup, consistently reproducible.

Steps to reproduce

  1. Start gateway with bonjour plugin enabled (default)
  2. Wait ~30 seconds
  3. Bonjour advertiser detects service not announced
  4. Attempts to re-advertise but gets stuck in "probing" state
  5. After ~15 seconds, CIAO cancellation triggers
  6. Unhandled rejection crashes entire gateway

Expected behavior

Gateway should not crash on CIAO cancellation rejections. Bonjour/mDNS is a nice-to-have feature - it should never be fatal to the core service.

Actual behavior

Gateway crashes with exit code 1. Systemd restarts immediately, creating an infinite crash loop.

Logs

[bonjour] watchdog detected non-announced service; attempting re-advertise (gateway fqdn=ubuntu (OpenClaw)._openclaw-gw._tcp.local. host=openclaw.local. port=18789 state=probing)
[bonjour] restarting advertiser (service stuck in probing for 15188ms ...)
[bonjour] advertised gateway fqdn=ubuntu (OpenClaw)._openclaw-gw._tcp.local. host=openclaw.local. port=18789 state=unannounced
[openclaw] Unhandled promise rejection: CIAO ANNOUNCEMENT CANCELLED
[openclaw] wrote stability bundle: ...unhandled_rejection.json
systemd[323245]: openclaw-gateway.service: Main process exited, code=exited, status=1/FAILURE

Workaround

Setting plugins.entries.bonjour.enabled: false in the config prevents the crashes, but this is not documented and users may not know to do this.

Additional context

The "last known good" config restoration mechanism causes issues when invalid config values are set. When models.mode: override was set (which is not a valid value - only "merge" and "replace" are allowed), the gateway crashed with:

config reload skipped (invalid config): models.mode: Invalid input (allowed: "merge", "replace")

This suggests the config validation and restoration mechanism could be improved.

Related issues

  • PR #71668 ( supposedly fixes this but doesn't appear to work)
  • Issue #72234 (Bonjour/CIAO cancellation crashes gateway on startup)
  • Issue #42698 (fix for IPv4 assertion crashes)

Priority

This is a high severity bug because it makes the gateway unusable on Linux servers with the default bonjour plugin enabled.

extent analysis

TL;DR

Disable the Bonjour plugin by setting plugins.entries.bonjour.enabled: false in the config to prevent gateway crashes due to unhandled CIAO/Bonjour promise rejections.

Guidance

  • Verify that the issue is indeed caused by the Bonjour plugin by checking the logs for Unhandled promise rejection: CIAO PROBING CANCELLED or Unhandled promise rejection: CIAO ANNOUNCEMENT CANCELLED errors.
  • Try setting plugins.entries.bonjour.enabled: false in the config to disable the Bonjour plugin and prevent crashes.
  • If the issue persists, check the config validation and restoration mechanism for any invalid config values that may be causing the problem.
  • Review the related issues (PR #71668, Issue #72234, Issue #42698) for any additional information or potential fixes.

Notes

The provided workaround (disabling the Bonjour plugin) is not documented and may not be known to all users. The config validation and restoration mechanism could be improved to handle invalid config values more robustly.

Recommendation

Apply the workaround by setting plugins.entries.bonjour.enabled: false in the config, as this is the most straightforward way to prevent the gateway crashes 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…

FAQ

Expected behavior

Gateway should not crash on CIAO cancellation rejections. Bonjour/mDNS is a nice-to-have feature - it should never be fatal to the core service.

Still need to ship something?

×6

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

Back to top recommendations

TRENDING