Symptom
cargo-test-perry fails on Linux (ubuntu-latest), blocking
full-suite-gate and therefore any release cut:
test cold_callback_arms_resume_once_at_the_next_index ... FAILED
panicked at crates/perry/tests/versioned_indexed_loop_callback_deopt.rs:324:5:
fixture failed (force_evacuation=false)
stderr:
thread '<unnamed>' panicked at library/core/src/panicking.rs:225:5:
panic in a function that cannot unwind
thread caused non-unwinding panic. aborting.
The inner abort — a panic crossing a nounwind boundary — is the interesting
part; see #8479 for the unwind-regime context.
Platform-specific
| platform |
result |
ubuntu-latest (CI) |
fails, 2/2 runs where it executed — never observed green |
| macOS/aarch64, clean build at the same pin |
passes, 3/3 |
I originally called this flaky based on the macOS runs. That was wrong: the
macOS result says nothing about Linux, and on Linux it has never passed.
What is and is not established
Established:
Not established: whether this is long-standing Linux-only debt or a recent
runtime regression. The test never executed in the Aug-31 full tier — that
shard died early — so there is no historical baseline, and I have no Linux host
to bisect on. Getting one costs a full tier run against an old pin.
Reproduce (Linux)
cargo build -p perry -p perry-runtime-static -p perry-stdlib-static
RUST_TEST_THREADS=1 cargo test -p perry --test versioned_indexed_loop_callback_deopt
The fixture is the force_evacuation=false arm, so it is on the ordinary
(non-forced) GC path.
Status
Marked #[ignore] to unblock the release, in the same spirit as #9377/#9378 —
deferred, not dismissed. Unlike those two, I cannot show it is pre-existing;
the honest statement is that it fails consistently on Linux and its age is
unknown. Re-enable is a one-line change once diagnosed.
Symptom
cargo-test-perryfails on Linux (ubuntu-latest), blockingfull-suite-gateand therefore any release cut:The inner abort — a panic crossing a
nounwindboundary — is the interestingpart; see #8479 for the unwind-regime context.
Platform-specific
ubuntu-latest(CI)I originally called this flaky based on the macOS runs. That was wrong: the
macOS result says nothing about Linux, and on Linux it has never passed.
What is and is not established
Established:
(
83754818ea), so the test itself has not changed. It was added by1db5a8402c(land #8783: deopt exact callbacks and captured updates #8808).Not established: whether this is long-standing Linux-only debt or a recent
runtime regression. The test never executed in the Aug-31 full tier — that
shard died early — so there is no historical baseline, and I have no Linux host
to bisect on. Getting one costs a full tier run against an old pin.
Reproduce (Linux)
The fixture is the
force_evacuation=falsearm, so it is on the ordinary(non-forced) GC path.
Status
Marked
#[ignore]to unblock the release, in the same spirit as #9377/#9378 —deferred, not dismissed. Unlike those two, I cannot show it is pre-existing;
the honest statement is that it fails consistently on Linux and its age is
unknown. Re-enable is a one-line change once diagnosed.