open-standards/sandbox/sandbox-rs/crates
Repository files (latest commit first)
Filename Latest commit message Latest commit date
David Charlot 52fe6bff6f sandbox: a setup assertion walked a tree that still held the warm-up worker
`a_worker_reaped_while_its_tree_is_walked_is_never_missed` fails about one run
in five on the dev Mac, always the same way:

  assertion `left == right` failed: setup: the server and its 60 idle children
    left: 62
   right: 61

Not load, and not the behaviour under test — the setup. The perl server's
worker is

  if ($p == 0) { print "$$\n"; my $x = 0; $x += $_ for 1 .. 150000; exit 0 }

so it prints its pid *before* doing its work. `ask("warm up")` returns as soon
as that line is read, which is while the worker is still running, still the
server's child, and not yet reaped. The next line walks the tree and finds 62
members. The comment above it said "the tree is quiet before the first span",
and that is the part that was not true; load only widens the window.

So the setup waits for the shape it asserts instead of asserting it on the
first walk, through a `settled_tree(root, want)` in the same idiom as this
file's `quiet()` — poll, return when it matches, panic after 20 s naming the
tree it last saw. The test's own assertions are untouched, and the guard still
fails the test if the tree never settles, so nothing here is weakened: a walk
that cannot find the shape still stops the run.

Measured on this host: 2 failures in 5 runs before, 12 passes in 12 after.

The file's three other tree-count assertions were checked and are sound —
their workers are long-lived (the awk blocks on `getline`), or the walk
happens before any request, so there is no transient child to catch.

Found while replicating `macos-energy-backend` locally for #183; it is the
only failure in that job and it is unrelated to that PR, which touches
`mesh/` alone.

Co-Authored-By: Claude Opus 5 <[email protected]>
2026-10-10 09:58:26 -04:00
..
sandbox-attest sandbox: give the S7 locality claim something that can falsify it (SPEC §7.7) 2026-08-26 11:52:33 -04:00
sandbox-build sandbox: seal the tier a run actually reached, never the one it intended 2026-08-24 23:33:37 -04:00
sandbox-capability sandbox-capability: injected egress credentials — the secret never enters the unit 2026-07-20 20:47:37 -04:00
sandbox-cli Add aac, map, sandbox standards; catalog the standards family 2026-06-07 17:04:36 -04:00
sandbox-conformance sandbox: give the S7 locality claim something that can falsify it (SPEC §7.7) 2026-08-26 11:52:33 -04:00
sandbox-exec-microvm energy tests: the load-sensitive tick floor in proof-cascade and sandbox-meter 2026-10-07 10:03:30 -04:00
sandbox-exec-wasm sandbox: let an S1-S5 attestation say how it confined the run (SPEC §7.9) 2026-08-24 23:58:46 -04:00
sandbox-jcp sandbox-jcp: repair the jcp_schema::Grant literal — latent cross-workspace break 2026-07-20 20:47:37 -04:00
sandbox-mcp Add aac, map, sandbox standards; catalog the standards family 2026-06-07 17:04:36 -04:00
sandbox-meter sandbox: a setup assertion walked a tree that still held the warm-up worker 2026-10-10 09:58:26 -04:00
sandbox-proof sandbox-meter: this process's own CPU energy, read only for in-process work and only while it keeps advancing 2026-09-30 23:01:05 -04:00
sandbox-proof-wasm sandbox: give the S7 locality claim something that can falsify it (SPEC §7.7) 2026-08-26 11:52:33 -04:00
sandbox-runtime sandbox: give the S7 locality claim something that can falsify it (SPEC §7.7) 2026-08-26 11:52:33 -04:00
sandbox-schema Add aac, map, sandbox standards; catalog the standards family 2026-06-07 17:04:36 -04:00
sandbox-tee sandbox-tee: correct the counter framing — provenance, not accuracy (#35) 2026-07-04 04:54:18 -04:00