-
-
Notifications
You must be signed in to change notification settings - Fork 161
release blocker: test_gap_gc_alloc_point_no_move compile does not terminate #8913
Copy link
Copy link
Closed
Closed
Copy link
Labels
bugConfirmed defect or regressionConfirmed defect or regressionparityCompatibility gap with Node.js, ECMAScript, or the supported ecosystemCompatibility gap with Node.js, ECMAScript, or the supported ecosystemperformanceRuntime, compile-time, build-size, or memory performanceRuntime, compile-time, build-size, or memory performancereleaseRelease tracking issuesRelease tracking issuesrustPull requests that update rust codePull requests that update rust code
Description
Activity
Metadata
Metadata
Assignees
Labels
bugConfirmed defect or regressionConfirmed defect or regressionparityCompatibility gap with Node.js, ECMAScript, or the supported ecosystemCompatibility gap with Node.js, ECMAScript, or the supported ecosystemperformanceRuntime, compile-time, build-size, or memory performanceRuntime, compile-time, build-size, or memory performancereleaseRelease tracking issuesRelease tracking issuesrustPull requests that update rust codePull requests that update rust code
Release evidence
One fixture deterministically consumes multiple Full CI jobs until their hard limits:
test-files/test_gap_gc_alloc_point_no_move.ts.7c9f6016987ea9fdce2d253fb8666428cf0c6d24Three independent consumers identify it:
https://github.com/PerryTS/perry/actions/runs/33123474583/job/98695927559
https://github.com/PerryTS/perry/actions/runs/33123474583/job/98698057058
test_gap_gc_alloc_point_no_move.compile_error.log:https://github.com/PerryTS/perry/actions/runs/33123474583/job/98698056865
The candidate tree's round-robin selection confirms test 38 in both shards is
test_gap_gc_alloc_point_no_move. The empty compile log and liveperryprocess place the stall inside compilation, before an error is reported.The candidate already contains the bounded TailCallElim alloca walk from #8894, so this is a remaining compile-time pathology.
Reproduction
cargo build --release time target/release/perry \ test-files/test_gap_gc_alloc_point_no_move.ts \ -o /tmp/perry-gap-gc-alloc-point ./run_parity_tests.sh --filter test_gap_gc_alloc_point_no_moveProfile compiler passes during the isolated command; do not diagnose this by repeatedly running the entire Full CI matrix.
Required fix
Find and bound the compiler phase that scales pathologically on this fixture while preserving the fixture's allocation-point/no-move assertions. Add pass timing or a focused regression guard so a future unbounded walk fails close to the source.
Acceptance criteria
ubuntu-latest-class runner.