ci(anvil): limit mutation concurrency - #765
martin-kolinek wants to merge 9 commits into
Conversation
Run one diff mutant at a time to test whether automatic parallelism causes hosted runner shutdowns on allocator-heavy changes. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Point only the diagnostic mutation group at PR 764's original base so it runs the same allocator mutants with single-job concurrency. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Codecov Report✅ All modified and coverable lines are covered by tests. ❌ Your project check has failed because the head coverage (99.9%) is below the target coverage (100.0%). You can increase the head coverage or adjust the target coverage. Additional details and impacted files@@ Coverage Diff @@
## users/ralfbiedert/rallocator-v1-integration-20260915 #765 +/- ##
======================================================================================
Coverage 99.9% 99.9%
======================================================================================
Files 648 648
Lines 89603 90644 +1041
======================================================================================
+ Hits 89600 90643 +1043
+ Misses 3 1 -2
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
Run only the next deterministic Linux allocator mutant and stream cgroup and process memory telemetry so evidence survives runner termination. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Advance the isolated Linux diagnostic to the next deterministic allocate_medium mutation. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Run the next eight deterministic allocate_medium mutants as a bounded telemetry batch. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Advance the Linux shutdown diagnostic to the next deterministic mutation block. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Narrow the reproduced OOM batch to its first deterministic mutant. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Test the mutation that turns the finite telemetry bitmap iterator into an unbounded stream. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
|
🤖 Diagnostic result: the runner shutdown is a genuine OOM caused by one deterministic mutant, not mutation parallelism. Exact mutant: This changes Linux x64 and ARM64 both reproduced the failure with Earlier isolated mutations at allocator.rs:1259:57 and the following eight This means |
Exclude the finite telemetry bitmap iterator from mutation generation because bit-clearing mutants create unbounded snapshot streams that OOM Linux runners. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Purpose
Diagnostic change for the Linux and Linux-ARM mutation runner shutdowns observed on #764.
Both jobs successfully found 1,025 mutants and passed their unmutated baseline, then timed out on the same allocator mutations before the runner service received SIGTERM (exit 143). The generated Anvil recipe currently passes
--jobs 0, which enables automatic CPU-based parallelism; the former Oxidizer mutation runner used one mutation job at a time.Change
Run PR diff mutation testing with
--jobs 1instead of--jobs 0.This intentionally modifies a generated Anvil recipe only for diagnosis. If the mutation matrix completes reliably, the equivalent change should be made in the upstream Cargo Anvil catalog and regenerated here rather than merging this generated-file override as the permanent fix.
Evidence
Validation
just --dry-run anvil-mutants-diffgit diff --check