Symptom: the required CI job "Test default on Linux" fails intermittently on PRs whose diffs cannot plausibly affect it, and passes on re-run of the same commit. Because it feeds the "Required status checks have passed" gate, every flake blocks a PR until someone re-runs it.
Observed occurrences (all within 2026-07-15 → 2026-07-16, all docs-only or docs+snapshot diffs that pass the full suite locally and on macOS/Windows):
| PR |
Run |
Outcome |
| #612 |
29460281803 |
"Test default on Linux" failed with no failing step recorded; passed on re-run of failed jobs, same commit |
| #627 |
29508225415 |
same job failed with no failing step and its log absent from the run's log archive; separately, "Latest build on ubuntu-latest" failed at "Build crates (zebra-state backend)" with collect2: fatal error: ld terminated with signal 7 [Bus error], core dumped |
| #629 |
29513543191 (attempt 1) |
same job failed; in the attempt-1 log archive every other job's log is present, this job's is missing |
| #631 |
29523742999 |
same job failed (docs-only diff); re-run triggered |
Why this looks like runner resource exhaustion rather than a flaky test:
- A test failure records a failing step and uploads a log; these runs have neither — the job appears to die at the runner level before log upload.
- The one adjacent failure that did leave a log is a linker
Bus error (signal 7) on the same ubuntu-latest runner class, a classic symptom of memory/disk pressure while linking large binaries.
- The zebra/zaino dependency trees produce very large test binaries;
cargo test links several of them in parallel on a 7 GB standard runner.
Possible directions (for whoever picks this up to evaluate, not prescriptions):
- Limit parallel linking in CI (e.g.
-j for the final test build, or building test binaries with cargo test --no-run in a staged step).
- Larger runner for the Linux test legs, or splitting the job.
- A retry policy for infrastructure-class failures so the required gate doesn't hold PRs hostage.
Logs for the failed attempts expire quickly (several were already unavailable while investigating); the run links above may need GitHub support/api access to recover more detail.
Filed with AI assistance (Claude) while working on #600-series documentation PRs, which surfaced the pattern.
Symptom: the required CI job "Test default on Linux" fails intermittently on PRs whose diffs cannot plausibly affect it, and passes on re-run of the same commit. Because it feeds the "Required status checks have passed" gate, every flake blocks a PR until someone re-runs it.
Observed occurrences (all within 2026-07-15 → 2026-07-16, all docs-only or docs+snapshot diffs that pass the full suite locally and on macOS/Windows):
collect2: fatal error: ld terminated with signal 7 [Bus error], core dumpedWhy this looks like runner resource exhaustion rather than a flaky test:
Bus error(signal 7) on the sameubuntu-latestrunner class, a classic symptom of memory/disk pressure while linking large binaries.cargo testlinks several of them in parallel on a 7 GB standard runner.Possible directions (for whoever picks this up to evaluate, not prescriptions):
-jfor the final test build, or building test binaries withcargo test --no-runin a staged step).Logs for the failed attempts expire quickly (several were already unavailable while investigating); the run links above may need GitHub support/api access to recover more detail.
Filed with AI assistance (Claude) while working on #600-series documentation PRs, which surfaced the pattern.