You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
regression: GET /api/hello segfaults the compiled Next.js standalone server (2026-07-04 main window; was byte-identical at #5932 validation) #5990
Fresh regression on main (window: 2026-07-04's commits): GET /api/hello on the compiled Next.js 16 App Router standalone server segfaults the server process (SIGSEGV, empty reply, server dead). At the #5932 validation earlier the same day (main @ ~a0a542fae era), both /api/hello GET and POST were byte-identical vs node v26.
Compile server.js with current main (perry-dev profile is fine), boot with PERRY_ALLOW_UNIMPLEMENTED=1 PERRY_ALLOW_DYNAMIC_STDLIB=1 PERRY_ALLOW_EVAL=1 PORT=<p> HOSTNAME=127.0.0.1 NODE_ENV=production.
First curl http://127.0.0.1:<p>/api/hello → curl exit 52 (empty reply), server process dead with Segmentation fault: 11. Deterministic (2/2 boots). Static routes (/, /about, /counter) render byte-identical before the crash, so boot + static serving are unaffected.
macOS crash reports captured (e.g. ~/Library/Logs/DiagnosticReports/nx-5941-base-2026-07-04-173207.ips on the box) — 11 frames, all in the compiled binary, unsymbolized on a default build. Recompiling the bundle with PERRY_DEBUG_SYMBOLS=1 and re-symbolizing via atos -l <__TEXT base> will name the frames (the standard #5437-era technique).
Suspect window
The ~25 commits merged 2026-07-04 between the #5932 validation and 632e68e. Categorical suspects touching request/write paths: 8f6db5f (spread-source validation / handle band on the set path), 53d23ad (write-path hardening slice 2: transition_fast, structuredClone, rejection printer), 4de47ef (frozen/non-writable length on mutating array methods). Untriaged — a bundle-compile bisect over that window (API route only, ~10 min per round) should pin it quickly.
References
#5932 (the 5/8 validation this regressed from), #5437 (tracking), PR #5988 (where it was observed while validating).
Verified fixed on current main (c1c3d88c8). Compiled the #5437 standalone app and GET /api/hello now returns byte-identical output vs node (server stays alive, no segfault) — as does POST. Confirms 4500b5d (drop external-http-client-pump from stdlib full → restore the ext-http link lockstep) closed this; the crashing window build (632e68e) carried the pump. Safe to close.
Matrix on c1c3d88c8: /, /about, /counter, /api/hello GET+POST all byte-identical (5/8). The 3 dynamic RSC routes (/plain, /posts, /fetcher) are a separate issue — now #5989 (and on current main they SIGBUS-crash with an infinite-recursion signature; investigating).
Activity
fix(runtime,transform): #5941 — eliminate the async-step deadlock cla…
proggeramlug commentedon Jul 5, 2026
Verified fixed on current
main(c1c3d88c8). Compiled the #5437 standalone app andGET /api/hellonow returns byte-identical output vs node (server stays alive, no segfault) — as doesPOST. Confirms 4500b5d (dropexternal-http-client-pumpfrom stdlibfull→ restore the ext-http link lockstep) closed this; the crashing window build (632e68e) carried the pump. Safe to close.Matrix on
c1c3d88c8:/,/about,/counter,/api/helloGET+POST all byte-identical (5/8). The 3 dynamic RSC routes (/plain,/posts,/fetcher) are a separate issue — now #5989 (and on current main they SIGBUS-crash with an infinite-recursion signature; investigating).