Skip to content

release blocker: test_gap_gc_alloc_point_no_move compile does not terminate #8913

Description

@proggeramlug

Release evidence

One fixture deterministically consumes multiple Full CI jobs until their hard limits: test-files/test_gap_gc_alloc_point_no_move.ts.

Three independent consumers identify it:

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 live perry process 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_move

Profile 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

  • The isolated compile completes reliably and well below the 110-minute shard limit on an ubuntu-latest-class runner.
  • The fixture runs and passes; it is not skipped, weakened, or allowlisted.
  • Full-mode gap shard 1 and parity shard 10 complete and upload reports.
  • compile-smoke completes rather than reaching six hours.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugConfirmed defect or regressionparityCompatibility gap with Node.js, ECMAScript, or the supported ecosystemperformanceRuntime, compile-time, build-size, or memory performancereleaseRelease tracking issuesrustPull requests that update rust code

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions