openclaw - 💡(How to fix) Fix Bonjour mDNS watchdog crashes gateway on WSL2 (SIGKILL after ~7-9s) [1 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#69693Fetched 2026-04-22 07:49:19
View on GitHub
Comments
0
Participants
1
Timeline
0
Reactions
0
Author
Participants

Error Message

# Successful startup:
[gateway] ready (8 plugins: acpx, browser, device-pair, llm-task, lobster, phone-control, talk-voice, telegram; 8.2s)
[gateway] starting channels and sidecars...
[hooks] loaded 4 internal hook handlers

# ~7 seconds later:
[bonjour] watchdog detected non-announced service; attempting re-advertise (gateway fqdn=NucBoxK6 (OpenClaw)._openclaw-gw._tcp.local. host=openclaw.local. port=18789 state=probing)

# Immediate death:
systemd: openclaw-gateway.service: Main process exited, code=killed, status=9/KILL

When run via foreground python subprocess with SIGTERM trapping:

[bonjour] watchdog detected non-announced service; attempting re-advertise
[gateway] signal SIGTERM received
[gateway] received SIGTERM; shutting down

Root Cause

WSL2 does not support multicast/mDNS properly. The bonjour service cannot announce via mDNS, the watchdog detects the failure, and the process is terminated.

Fix Action

Workaround

Rolled back to OpenClaw 2026.4.1 which does not include bonjour.

Code Example

[bonjour] watchdog detected non-announced service; attempting re-advertise 
(gateway fqdn=NucBoxK6 (OpenClaw)._openclaw-gw._tcp.local. host=openclaw.local. port=18789 state=probing)

---

# Successful startup:
[gateway] ready (8 plugins: acpx, browser, device-pair, llm-task, lobster, phone-control, talk-voice, telegram; 8.2s)
[gateway] starting channels and sidecars...
[hooks] loaded 4 internal hook handlers

# ~7 seconds later:
[bonjour] watchdog detected non-announced service; attempting re-advertise (gateway fqdn=NucBoxK6 (OpenClaw)._openclaw-gw._tcp.local. host=openclaw.local. port=18789 state=probing)

# Immediate death:
systemd: openclaw-gateway.service: Main process exited, code=killed, status=9/KILL

---

[bonjour] watchdog detected non-announced service; attempting re-advertise
[gateway] signal SIGTERM received
[gateway] received SIGTERM; shutting down
RAW_BUFFERClick to expand / collapse

Environment

  • OpenClaw version: 2026.4.14 and 2026.4.15 (both affected)
  • Host OS: Windows 11 (10.0.26200)
  • WSL2: Ubuntu, mirrored networking (networkingMode=mirrored equivalent)
  • Node.js: 22.22.0
  • Install method: npm install -g openclaw

Problem

Gateway starts successfully, loads all plugins, hooks, and reaches ready state — then gets killed by SIGKILL approximately 7-9 seconds later. The last log line before death is always:

[bonjour] watchdog detected non-announced service; attempting re-advertise 
(gateway fqdn=NucBoxK6 (OpenClaw)._openclaw-gw._tcp.local. host=openclaw.local. port=18789 state=probing)

The gateway enters a crash-loop with Restart=always — observed 1030+ restarts in a single session.

Root Cause

WSL2 does not support multicast/mDNS properly. The bonjour service cannot announce via mDNS, the watchdog detects the failure, and the process is terminated.

Reproduction

  1. Install OpenClaw 2026.4.14+ on WSL2
  2. Run openclaw gateway --port 18789
  3. Gateway starts, reaches "ready", loads hooks
  4. ~7-9 seconds after hooks load: [bonjour] watchdog detected non-announced service
  5. Process receives SIGKILL, exit code -9

Key observation: OpenClaw 2026.4.1 does NOT have bonjour and runs stably on the same WSL2 instance.

Attempted Workarounds (none worked)

  • discovery.wideArea.enabled: false in config — bonjour still starts
  • Environment variables: OPENCLAW_BONJOUR=off, OPENCLAW_DISABLE_BONJOUR=1 — no effect
  • gateway.bonjour.enabled: false — rejected as unrecognized key
  • No memory pressure (25 GB free), no OOM, no cgroup limits, no watchdog timer

Expected Behavior

Either:

  1. A config key to disable bonjour entirely (e.g., gateway.bonjour.enabled: false)
  2. Bonjour failures should be non-fatal — log a warning but don't kill the gateway
  3. Auto-detect WSL2 and skip bonjour

Workaround

Rolled back to OpenClaw 2026.4.1 which does not include bonjour.

Logs

# Successful startup:
[gateway] ready (8 plugins: acpx, browser, device-pair, llm-task, lobster, phone-control, talk-voice, telegram; 8.2s)
[gateway] starting channels and sidecars...
[hooks] loaded 4 internal hook handlers

# ~7 seconds later:
[bonjour] watchdog detected non-announced service; attempting re-advertise (gateway fqdn=NucBoxK6 (OpenClaw)._openclaw-gw._tcp.local. host=openclaw.local. port=18789 state=probing)

# Immediate death:
systemd: openclaw-gateway.service: Main process exited, code=killed, status=9/KILL

When run via foreground python subprocess with SIGTERM trapping:

[bonjour] watchdog detected non-announced service; attempting re-advertise
[gateway] signal SIGTERM received
[gateway] received SIGTERM; shutting down

extent analysis

TL;DR

Disable bonjour service or configure OpenClaw to handle bonjour failures non-fatally to prevent the gateway from being killed by SIGKILL.

Guidance

  • Investigate the feasibility of implementing a config key to disable bonjour entirely, such as gateway.bonjour.enabled: false, to prevent the service from starting and causing the gateway to crash.
  • Consider modifying the bonjour service to log a warning instead of terminating the process when it detects a non-announced service, allowing the gateway to continue running.
  • Look into auto-detecting WSL2 and skipping bonjour to prevent the crash, given the known issues with multicast/mDNS support in WSL2.
  • Review the OpenClaw documentation and source code to understand how the bonjour service is integrated and how its failures are handled, to identify potential areas for modification or improvement.

Example

No code snippet is provided as the issue does not imply a specific code change, but rather a configuration or design adjustment to handle bonjour failures.

Notes

The provided workaround of rolling back to OpenClaw 2026.4.1 may not be suitable for all users, especially if they rely on features introduced in later versions. A more permanent solution that addresses the root cause of the issue is necessary.

Recommendation

Apply a workaround by disabling bonjour or making its failures non-fatal, as the current implementation causes the gateway to crash. This can be done by either implementing a config key to disable bonjour or modifying the service to handle failures more gracefully.

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 mDNS watchdog crashes gateway on WSL2 (SIGKILL after ~7-9s) [1 participants]