Skip to content

regression: GET /api/hello segfaults the compiled Next.js standalone server (2026-07-04 main window; was byte-identical at #5932 validation) #5990

Closed

Description

@proggeramlug

Summary

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.

Repro

Crash data

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).

Activity

  1. added a commit that references this issue on Jul 4, 2026
  2. proggeramlug commented on Jul 5, 2026

    @proggeramlug
    ContributorAuthor

    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).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions