EqualifyEverything / equalify-iris

test: run the suite with Sparkplug off, which is what kills the #405 segfault (#477)
#405's crash has an upstream name — nodejs/node#62393, V8 CL 0b94a9fd23ba: the BaselineOutOfLinePrologue builtin left a random value on the stack where the GC found it. `ClearStaleLeftTrimmedPointerVisitor` reads it as a heap pointer and faults at 0xe, the address in all five local reports. Sparkplug generates that prologue, so `--no-sparkplug` removes the path. The two decisions #405 was holding both answer no. Node cannot be bumped into the fix: the backport (nodejs/node#65753) is open, not landed, so no released 24.x has it, and one upstream report has the crash live on v26.7.0. CI needs no dead-child retry: every occurrence here and upstream is macOS arm64, and every workflow runs ubuntu-latest. Cost is nothing measurable — 55.8 s mean either way over two runs each locally, ~3% on Linux x64 over the two heaviest jsdom files, against a 22-minute review step. The flag is on the test script only, on purpose: `npm start` and `npm run dev` keep the Sparkplug path, because one dev server dying is loud where a dead test child reads as a clean run with a short pass count. A test pins the flag, and after round 1 it pins its *position*: `node --test "glob" --no-sparkplug` exits 0, warns nothing, and the child's `execArgv` does not carry the flag, so a presence-only check could go green through the exact regression it exists to catch. Drop the flag and that test together when nodejs/node#65753 ships in a 24.x release. Two rounds, both approved; round 1's three notes fixed, round 2 clean. Refs #405 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Blake Bertuccelli-Booth Blake Bertuccelli-Booth committed on Sep 14, 2026, 09:28 AM
Showing 5 changed files +56 additions -9 deletions
Browse files at this commit →