Observed on lukstafi/ocannl-staging PR #605 (a workflow-only change), macOS main leg, run https://github.com/lukstafi/ocannl-staging/actions/runs/33679084275/job/100410996322:
(cd _build/default/bin && ./projection_shape_bench.exe 2 2 smoke fwd seeds --ocannl_backend=cc)
!! smoke_2x2 / default (untuned): every queued tuner timing was refused for host contention
smoke_2x2: no seed arm was measured
1 cell(s) of this experiment could not be measured or failed parity -- see the !! lines.
The bench exits 1 on an unmeasured cell by design (bin/projection_shape_bench.ml ~line 892: "any cell that could not be measured is a failure of the run, not a blank"). That is the right contract for a benchmark run, but under @bin-smoke the executable is a runtime canary (gh-858), run by dune concurrently with @runtest in the same invocation on a 3-core macOS runner, so host contention is the expected state rather than an anomaly. The log shows test/training/data_parallel.exe running at the same moment.
None of the previous macOS main reds in the last 40 master runs had this cause (they were a tinygrad cache probe, a materialize-flip claim, and an exemption-count drift), so this is a new flake shape rather than a recurrence.
Possible directions, not decided:
- have the smoke rule pass a flag (or env) under which contention refusal on the smoke group is reported but not fatal, keeping the exit-1 contract for real runs;
- or make
@bin-smoke depend on @runtest so the canaries run after the suite, not beside it;
- or accept the run-level
(locks ...) cost and take the training lock for the timing canaries.
Related: #855, #888, #892 (contention detection in autotune timing), #743 (hermetic driver for bin/ benches), #858 (why bin-smoke exists).
Observed on lukstafi/ocannl-staging PR #605 (a workflow-only change), macOS
mainleg, run https://github.com/lukstafi/ocannl-staging/actions/runs/33679084275/job/100410996322:The bench exits 1 on an unmeasured cell by design (
bin/projection_shape_bench.ml~line 892: "any cell that could not be measured is a failure of the run, not a blank"). That is the right contract for a benchmark run, but under@bin-smokethe executable is a runtime canary (gh-858), run by dune concurrently with@runtestin the same invocation on a 3-core macOS runner, so host contention is the expected state rather than an anomaly. The log showstest/training/data_parallel.exerunning at the same moment.None of the previous macOS
mainreds in the last 40 master runs had this cause (they were a tinygrad cache probe, a materialize-flip claim, and an exemption-count drift), so this is a new flake shape rather than a recurrence.Possible directions, not decided:
@bin-smokedepend on@runtestso the canaries run after the suite, not beside it;(locks ...)cost and take the training lock for the timing canaries.Related: #855, #888, #892 (contention detection in autotune timing), #743 (hermetic driver for bin/ benches), #858 (why bin-smoke exists).