openclaw - 💡(How to fix) Fix [Bug]: Bonjour plugin: CIAO PROBING CANCELLED unhandled promise rejection crashes gateway on Linux [5 comments, 5 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#72561Fetched 2026-04-28 06:34:28
View on GitHub
Comments
5
Participants
5
Timeline
7
Reactions
0
Author
Timeline (top)
commented ×5closed ×1labeled ×1

Root Cause

The @homebridge/ciao library (used by the bonjour plugin) fails to advertise the mDNS service — the advertising attempt gets stuck in probing state indefinitely. The watchdog detects this after ~12s, cancels the operation, and the resulting CIAO PROBING CANCELLED rejection is unhandled, crashing the process.

Fix Action

Fix / Workaround

  1. Install or upgrade to OpenClaw 2026.4.23 or 2026.4.24 on Linux

  2. Start the gateway via systemd: systemctl --user start openclaw-gateway.service

  3. Wait 12–15 seconds after startup

  4. Observe: gateway process crashes with Unhandled promise rejection: CIAO PROBING CANCELLED

  5. systemd automatically restarts → crash loop begins

  6. Install or upgrade to OpenClaw 2026.4.23 or 2026.4.24 on Linux

  7. Start the gateway via systemd: systemctl --user start openclaw-gateway.service

  8. Wait 12–15 seconds after startup

  9. Observe: gateway process crashes with Unhandled promise rejection: CIAO PROBING CANCELLED

  10. systemd automatically restarts → crash loop begins

Code Example

Apr 27 10:53:09 openclaw node[8652]: [plugins] bonjour: watchdog detected non-announced service; attempting re-advertise (gateway fqdn=openclaw._openclaw-gw._tcp.local. host=openclaw.local. port=18789 state=probing)
Apr 27 10:53:22 openclaw node[8652]: [plugins] bonjour: restarting advertiser (service stuck in probing for 12885ms (gateway fqdn=openclaw._openclaw-gw._tcp.local. host=openclaw.local. port=18789 state=probing))
Apr 27 10:53:22 openclaw node[8652]: [plugins] bonjour: advertised gateway fqdn=openclaw._openclaw-gw._tcp.local. host=openclaw.local. port=18789 state=unannounced
Apr 27 10:53:22 openclaw node[8652]: [openclaw] Unhandled promise rejection: CIAO PROBING CANCELLED
Apr 27 10:53:22 openclaw node[8652]: [openclaw] wrote stability bundle: /home/onridges/.openclaw/logs/stability/...
Apr 27 10:53:22 openclaw systemd[1725]: openclaw-gateway.service: Main process exited, code=exited, status=1/FAILURE
RAW_BUFFERClick to expand / collapse

Bug type

Behavior bug (incorrect output/state without crash)

Beta release blocker

No

Summary

Environment

  • OS: Linux 6.8.0 (x64)
  • Node: v22.x
  • OpenClaw: 2026.4.23 (also confirmed on 2026.4.24 by user)
  • Install: npm global (/home/onridges/.npm-global/lib/node_modules/openclaw)
  • Platform: Linux VM on ESXi, LAN bind 0.0.0.0:18789

Bug Description

The gateway starts successfully but crashes approximately 12–15 seconds after startup due to an unhandled Promise rejection in the Bonjour/mDNS advertising layer. The process enters a restart loop and never stabilizes.

Steps to Reproduce

  1. Start openclaw-gateway.service (or openclaw gateway start)
  2. Wait ~12 seconds
  3. Observe: Unhandled promise rejection: CIAO PROBING CANCELLED
  4. systemd restarts the process → repeat indefinitely

Relevant Log Snippet

Steps to reproduce

Steps to Reproduce

  1. Install or upgrade to OpenClaw 2026.4.23 or 2026.4.24 on Linux
  2. Start the gateway via systemd: systemctl --user start openclaw-gateway.service
  3. Wait 12–15 seconds after startup
  4. Observe: gateway process crashes with Unhandled promise rejection: CIAO PROBING CANCELLED
  5. systemd automatically restarts → crash loop begins

Expected behavior

upgrade sucessfully

Actual behavior

  1. Install or upgrade to OpenClaw 2026.4.23 or 2026.4.24 on Linux
  2. Start the gateway via systemd: systemctl --user start openclaw-gateway.service
  3. Wait 12–15 seconds after startup
  4. Observe: gateway process crashes with Unhandled promise rejection: CIAO PROBING CANCELLED
  5. systemd automatically restarts → crash loop begins

OpenClaw version

2026.4.24

Operating system

Ubuntu 24.04 LTS linux

Install method

npm

Model

minimax

Provider / routing chain

openclaw->minimax

Additional provider/model setup details

No response

Logs, screenshots, and evidence

Apr 27 10:53:09 openclaw node[8652]: [plugins] bonjour: watchdog detected non-announced service; attempting re-advertise (gateway fqdn=openclaw._openclaw-gw._tcp.local. host=openclaw.local. port=18789 state=probing)
Apr 27 10:53:22 openclaw node[8652]: [plugins] bonjour: restarting advertiser (service stuck in probing for 12885ms (gateway fqdn=openclaw._openclaw-gw._tcp.local. host=openclaw.local. port=18789 state=probing))
Apr 27 10:53:22 openclaw node[8652]: [plugins] bonjour: advertised gateway fqdn=openclaw._openclaw-gw._tcp.local. host=openclaw.local. port=18789 state=unannounced
Apr 27 10:53:22 openclaw node[8652]: [openclaw] Unhandled promise rejection: CIAO PROBING CANCELLED
Apr 27 10:53:22 openclaw node[8652]: [openclaw] wrote stability bundle: /home/onridges/.openclaw/logs/stability/...
Apr 27 10:53:22 openclaw systemd[1725]: openclaw-gateway.service: Main process exited, code=exited, status=1/FAILURE

Impact and severity

No response

Additional information

Root Cause Analysis

The @homebridge/ciao library (used by the bonjour plugin) fails to advertise the mDNS service — the advertising attempt gets stuck in probing state indefinitely. The watchdog detects this after ~12s, cancels the operation, and the resulting CIAO PROBING CANCELLED rejection is unhandled, crashing the process.

Suggested Fixes (in order of preference)

  1. Fix the unhandled rejection in the bonjour plugin's ciao advertising code so CIAO PROBING CANCELLED doesn't crash the gateway
  2. Add try/catch around the bonjour advertiser restart logic to prevent unhandled rejection propagation
  3. Make bonjour non-critical: wrap the bonjour plugin initialization so a probing failure doesn't terminate the gateway process
  4. Add a config option to disable bonjour for users who don't need mDNS discovery

Impact

High — gateway is effectively unusable on Linux systems where ciao/mDNS advertising fails, as the process crashes in a loop.

extent analysis

TL;DR

The most likely fix is to handle the unhandled promise rejection in the bonjour plugin's ciao advertising code to prevent the gateway process from crashing.

Guidance

  • Identify the source of the unhandled promise rejection in the bonjour plugin's ciao advertising code and add proper error handling to prevent process crashes.
  • Consider adding a try/catch block around the bonjour advertiser restart logic to prevent unhandled rejection propagation.
  • Evaluate the possibility of making the bonjour plugin non-critical, allowing the gateway to continue running even if mDNS advertising fails.
  • Assess the need for a config option to disable bonjour for users who do not require mDNS discovery.

Example

No code example is provided as the issue does not contain sufficient code snippets to create a concrete example.

Notes

The provided log snippet and root cause analysis suggest that the issue is related to the @homebridge/ciao library and its handling of mDNS advertising. However, without more information about the library and its integration with the bonjour plugin, it is difficult to provide a more specific solution.

Recommendation

Apply a workaround by handling the unhandled promise rejection in the bonjour plugin's ciao advertising code, as this is the most direct way to prevent the gateway process from crashing. This approach allows for a more stable operation of the gateway until a more permanent fix can be implemented.

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

upgrade sucessfully

Still need to ship something?

×6

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

Back to top recommendations

TRENDING