mozilla / mozilla/sccache

sccache-dist workers connect to scheduler but never appear in --dist-status

Open
#2,680 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Rust
Stars
7.7k
Forks
748
Avg merge
4d 7h
Merged PRs (30d)
21

Description

Version: sccache 0.14.0 (prebuilt musl binary)

OS:

  • Scheduler/client: Debian (192.168.0.12)
  • Worker 1: Fedora (192.168.0.57)
  • Worker 2: NixOS (192.168.0.93)

Description:

Workers start successfully and log Server connected to scheduler, but sccache --dist-status on the client consistently shows num_servers: 0, num_cpus: 0.

Occasionally one worker (Fedora) shows up transiently as num_servers: 1, num_cpus: 6, but NixOS never appears despite identical configuration and confirmed network connectivity.

Scheduler config (/etc/sccache/scheduler.conf):

public_addr = "192.168.0.12:10600"

[client_auth]
type = "token"
token = "<redacted>"

[server_auth]
type = "DANGEROUSLY_INSECURE"

Worker config (/etc/sccache/server.conf):

cache_dir = "/tmp/toolchains"
public_addr = "192.168.0.93:10501"
scheduler_url = "http://192.168.0.12:10600"

[builder]
type = "overlay"
build_dir = "/tmp/build"
bwrap_path = "/run/wrappers/bin/bwrap"

[scheduler_auth]
type = "DANGEROUSLY_INSECURE"

Worker logs (relevant):

INFO sccache::dist::http::server] Server listening for clients on 192.168.0.93:10501
INFO sccache::dist::http::server] Server connected to scheduler

Client output

{"SchedulerStatus":["http://192.168.0.12:10600/",{"num_servers":0,"num_cpus":0,"in_progress":0}]}

Verified:

  • Port 10501 open and reachable from scheduler (nc -zv confirms)
  • Port 10600 open and reachable from workers (curl confirms)
  • DANGEROUSLY_INSECURE auth used to rule out JWT issues
  • bubblewrap installed and working on all workers
  • Restarting scheduler + workers in various orders does not resolve

Expected: Workers should appear in scheduler status after connecting.

Actual: num_servers stays 0 despite workers logging a successful connection.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the sccache-dist scheduler registration path and the sccache --dist-status entry point, then compare them with the worker connection logs and the supplied scheduler/server configurations. Reproduce the setup across the Debian, Fedora, and NixOS hosts and trace why a connected worker is absent from status. Done means the cause is identified and workers reliably appear with accurate server and CPU counts.

Written by the indexing model from the issue text.

Assessment

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.