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
Found while re-measuring the #4909 bucket for PR #4964: test-http-response-setheaders.js (staged with the node-core shim) exits with SIGSEGV (139) in ~6/8 runs and exit 1 ("Missing expected exception") otherwise — identical behavior on origin/main baseline and the PR branch, so it is pre-existing and unrelated to the #4909 client fixes.
Repro:
# stage common/ shim next to the test per scripts/node_core_subset.py
perry compile parallel/test-http-response-setheaders.js -o rsh.out # PERRY_ALLOW_UNIMPLEMENTED=1
for i in 1 2 3 4 5 6 7 8; do ./rsh.out >/dev/null 2>&1; echo -n "$? "; done
# → 139 1 139 139 139 139 1 139
The test exercises res.setHeaders(new globalThis.Headers({...})) after writeHead (expects ERR_HTTP_HEADERS_SENT) and a series of assert.throws(() => res.setHeaders(<bad arg>), { code: 'ERR_INVALID_ARG_TYPE' }) calls inside the request handler. The nondeterminism suggests a GC/longjmp interaction on the throw path rather than a plain logic bug.
Part of the #4909 triage residue (#2132 umbrella).
Activity
fix(http): res.setHeaders no longer SIGSEGVs on Headers; correct Head…
fix(http): res.setHeaders no longer SIGSEGVs on Headers; correct Head…
fix(runtime): validate spread sources; full handle band + no type-pun…
fix(runtime): validate spread sources; full handle band + no type-pun…