block / block/buzz

Shared compute never starts — buzz-mesh reports "relay unreachable" while the relay is reachable and buzz-desktop is connected to it

Open
#4,342 1 comment 0 reactions 0 assignees View on GitHub
bug
Dominant language
Rust
Stars
32.7k
Forks
4.3k
Avg merge
1d 13h
Merged PRs (30d)
253

Description

TITLE (paste into the title field, not the body):

Shared compute never starts — buzz-mesh reports "relay unreachable" while the relay is reachable and buzz-desktop is connected to it

Describe the bug

"Share this machine" never leaves "Starting…". buzz-mesh fails to reach the relay at startup, which cascades into "no live member is serving this model" and an endless mesh-runtime restart loop, so agents can never be invoked.

The relay is reachable from the same machine at the same moment — second-opinion.communities.buzz.xyz answers a websocket upgrade with HTTP 101 — and buzz-desktop holds an established TLS connection to that same host (104.18.16.37:443) while buzz-mesh reports it unreachable.

None of this is surfaced in the UI. The toggle only ever says "Starting…", so it reads as a slow load rather than a connection failure.

Steps to reproduce
Create a community and an agent
Settings → Compute → pick a suggested model → toggle "Share this machine"
Model downloads and resolves successfully
Toggle stays on "Starting…" indefinitely

@ the agent in a channel → "Could not start agent mention: Buzz shared compute cannot start because no live member is serving this model."

Reproduced with gemma-4-E4B-it Q4_K_M (4.6 GB) and Qwen2.5-32B-Instruct Q4_K_M (20 GB), after full app restarts.

Expected behavior
Sharing starts and the local model becomes available to my agents. Failing that, the UI should show the actual reason — "relay unreachable" — rather than staying on "Starting…".

Version and platform
Buzz version: 0.5.3 (Settings → Updates reports "You're on the latest version")
OS: macOS 26, Apple M5 Pro, 40 GB
Logs / additional context

Launched directly to capture stdout: /Applications/Buzz.app/Contents/MacOS/buzz-desktop

buzz-mesh: installed tokio runtime with 8 MiB worker stacks
buzz-desktop: media proxy listening on 127.0.0.1:63401
buzz-mesh: status report after startup failed: relay unreachable: could not connect to relay
buzz-mesh: ingress re-arm watchdog: [buzz-mesh-rearm] Buzz shared compute offline —
failed to re-arm local ingress for this agent: Buzz shared compute cannot
start because no live member is serving this model.
ℹ Using repackaged model from catalog: gemma-4-E4B-it-Q4_K_M
buzz-mesh: status report after heartbeat timed out
buzz-mesh: started node failed inference readiness and cleanup was incomplete:
timed out after 12s waiting for embedded mesh runtime to stop
buzz-desktop: timed out stopping Mesh runtime: timed out waiting on channel

That block then repeats indefinitely — four full cycles captured.

Relay reachability from the same machine, same network, while the app reported it unreachable:

second-opinion.communities.buzz.xyz → websocket upgrade HTTP 101
relay.damus.io → HTTP 503
relay.nostr.band → no connection
nostr.land → HTTP 101
nostr.wine → HTTP 101

If there is relay fallback logic, it may be stopping at a dead entry rather than advancing to a live one.

Ruled out by measurement:
Memory — buzz-desktop reached 47.7% of RAM with the model loaded, so loading succeeds
Model size and quantization — same behaviour on 4.6 GB and 20 GB, both Q4_K_M
Model resolution — "Using repackaged model from catalog" succeeds every cycle

Agent harness — switching Buzz Agent → Codex changes nothing; "failed to re-arm local ingress for this agent" is identical, so invocation goes through the mesh ingress regardless of harness
Network — the community relay answers on demand from this machine
Two smaller UI observations from the same session:

The download indicator read "0.0 GB / 0%" while 18 GB was actively landing in ~/Library/Caches/huggingface.

The layer-package progress repeatedly climbed to a few hundred MB and reset to 67 MB. That reset lines up with the mesh-runtime restart in the loop above.

Contributor guide

Open the contributing guide

Research direction

Reproduce from Settings → Compute with “Share this machine” enabled, launching /Applications/Buzz.app/Contents/MacOS/buzz-desktop and watching the buzz-mesh and mesh-runtime logs. Trace relay connection and fallback behavior around the reported “relay unreachable” status and restart loop. Done means shared compute starts when a relay is reachable, or the UI reports the connection failure instead of remaining on “Starting…”.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
backend-api-design, distributed-systems, networking
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.