Repository navigation
node-suite parity audit on macOS arm64: 635 non-PASS results, including 24 crashes #9202
Description
2026-10-11 re-audit: every module and test that fails
Same canonical command as the original report (./run_parity_tests.sh --suite node-suite, auto-optimize on, PERRY_RUN_TIMEOUT at its 10 s default), sharded --shard N/8 for wall clock. Perry 0.5.1659 at commit 3c8a22aa0 plus one uncommitted local line needed to compile (shape_store.rs:1640, E0061), which an A/B over 2,943 fixtures showed to be parity-neutral. Node oracle v26.5.1. Host: macOS 27.0.1, Apple M5 Pro, 18 cores, 48 GB.
| Outcome | Count |
|---|---|
| PASS | 3,746 |
| Parity failure | 604 |
| Compile failure | 7 |
| Crash | 24 |
| Node/oracle failure | 0 |
| Skipped | 0 |
| Total | 4,381 |
| Non-PASS | 635 |
| Success over all selected fixtures | 85.5% |
Result by module
Progress refresh (2026-10-17): rows marked † reflect targeted Node 26.5.1 FAST/PREBUILT verification (auto-optimize off), not a new full-suite canonical audit.
moduleandsqlitewere verified on main commit7cbfde84d;testwas independently verified on the exact source/test content published in PR #12747, now merged asdace49793.consolewas verified 119/119 on maindace49793using the same targeted FAST/PREBUILT lane.diagnostics_channel(70/70) andperf_hooks(150/150) were independently verified on the exact source/test content of PR #12749 and PR #12750, respectively, using this same targeted FAST/PREBUILT lane. Both are merged; their verified functional source hashes match main2cdcabdac. This is not a new combined full-suite sweep. Other rows, the overall totals above/below, and the detailed failure inventory retain the 2026-10-11 historical snapshot and must not be interpreted as recalculated current totals.
| Module | Total | PASS | Parity fail | Compile fail | Crash | Non-PASS |
|---|---|---|---|---|---|---|
worker_threads |
205 | 82 | 118 | 1 | 4 | 123 |
readline |
95 | 22 | 73 | 0 | 0 | 73 |
repl |
68 | 11 | 57 | 0 | 0 | 57 |
cluster |
43 | 10 | 33 | 0 | 0 | 33 |
http2 |
63 | 32 | 31 | 0 | 0 | 31 |
http |
57 | 27 | 29 | 1 | 0 | 30 |
https |
47 | 17 | 27 | 0 | 3 | 30 |
v8 |
46 | 16 | 30 | 0 | 0 | 30 |
domain |
48 | 21 | 27 | 0 | 0 | 27 |
net |
47 | 20 | 26 | 0 | 1 | 27 |
dns |
43 | 17 | 24 | 0 | 2 | 26 |
stream |
802 | 778 | 18 | 0 | 6 | 24 |
zlib |
92 | 70 | 22 | 0 | 0 | 22 |
dgram |
57 | 41 | 16 | 0 | 0 | 16 |
async_hooks |
195 | 181 | 12 | 0 | 2 | 14 |
crypto |
245 | 232 | 13 | 0 | 0 | 13 |
fs |
177 | 165 | 2 | 5 | 5 | 12 |
perf_hooks † |
150 | 150 | 0 | 0 | 0 | 0 — all selected tests PASS |
tls |
100 | 93 | 6 | 0 | 1 | 7 |
vm |
64 | 58 | 6 | 0 | 0 | 6 |
events |
70 | 65 | 5 | 0 | 0 | 5 |
globals |
122 | 117 | 5 | 0 | 0 | 5 |
console † |
119 | 119 | 0 | 0 | 0 | 0 — all selected tests PASS |
diagnostics_channel † |
70 | 70 | 0 | 0 | 0 | 0 — all selected tests PASS |
module † |
60 | 60 | 0 | 0 | 0 | 0 — all selected tests PASS |
process |
105 | 103 | 2 | 0 | 0 | 2 |
sqlite † |
47 | 47 | 0 | 0 | 0 | 0 — all selected tests PASS |
test † |
91 | 91 | 0 | 0 | 0 | 0 — all selected tests PASS |
fetch |
16 | 15 | 1 | 0 | 0 | 1 |
| Total | 4,381 | 3,746 | 604 | 7 | 24 | 635 |
Modules with zero non-PASS: assert, bigint, buffer, child_process, constants, fs-promises, inspector, inspector-promises, node-core, object, os, path, punycode, querystring, sea, string, string_decoder, sys, timers, trace_events, tty, url, util, wasi.
Full non-PASS inventory (635 fixtures)
All 635 non-PASS fixture IDs grouped by module and status
worker_threads - 123 non-PASS (crash=4, compile fail=1, parity fail=118)
crashnode-suite/worker_threads/worker-lifecycle/constructor-rollbackcrashnode-suite/worker_threads/worker-lifecycle/filehandle-name-validationcrashnode-suite/worker_threads/worker-lifecycle/option-validation-precedencecrashnode-suite/worker_threads/worker-lifecycle/process-unsupportedcompile_failnode-suite/worker_threads/worker-lifecycle/url-eval-validationparity_failnode-suite/worker_threads/broadcast-channel/constructor-and-nameparity_failnode-suite/worker_threads/broadcast-channel/constructor-coercion-edgesparity_failnode-suite/worker_threads/broadcast-channel/custom-inspectparity_failnode-suite/worker_threads/broadcast-channel/messageevent-metadataparity_failnode-suite/worker_threads/broadcast-channel/method-receiversparity_failnode-suite/worker_threads/broadcast-channel/onmessage-replacementparity_failnode-suite/worker_threads/broadcast-channel/post-message-missingparity_failnode-suite/worker_threads/direct-message/handler-errorparity_failnode-suite/worker_threads/direct-message/transferablesparity_failnode-suite/worker_threads/direct-message/validationparity_failnode-suite/worker_threads/environment-data/builtin-snapshotparity_failnode-suite/worker_threads/environment-data/graph-snapshotparity_failnode-suite/worker_threads/environment-data/nested-inheritanceparity_failnode-suite/worker_threads/environment-data/uncloneable-constructionparity_failnode-suite/worker_threads/environment-data/worker-snapshotparity_failnode-suite/worker_threads/main-thread/export-surfaceparity_failnode-suite/worker_threads/main-thread/process-worker-eventparity_failnode-suite/worker_threads/main-thread/process-worker-event-late-emitparity_failnode-suite/worker_threads/main-thread/prototype-surfaceparity_failnode-suite/worker_threads/message-channel/constructor-call-rulesparity_failnode-suite/worker_threads/message-channel/move-closed-validationparity_failnode-suite/worker_threads/message-channel/move-context-filehandle-errorparity_failnode-suite/worker_threads/message-channel/move-context-realm-brandparity_failnode-suite/worker_threads/message-channel/move-message-port-to-contextparity_failnode-suite/worker_threads/message-port/close-callback-idempotentparity_failnode-suite/worker_threads/message-port/close-callback-orderparity_failnode-suite/worker_threads/message-port/close-dispatch-flushparity_failnode-suite/worker_threads/message-port/close-orderingparity_failnode-suite/worker_threads/message-port/custom-event-emitparity_failnode-suite/worker_threads/message-port/custom-inspect-ref-stateparity_failnode-suite/worker_threads/message-port/event-portsparity_failnode-suite/worker_threads/message-port/listener-validationparity_failnode-suite/worker_threads/message-port/listeners-while-closingparity_failnode-suite/worker_threads/message-port/max-listeners-remove-allparity_failnode-suite/worker_threads/message-port/messageevent-constructorparity_failnode-suite/worker_threads/message-port/messageevent-defaults-coercionparity_failnode-suite/worker_threads/message-port/messageevent-iterablesparity_failnode-suite/worker_threads/message-port/method-receiversparity_failnode-suite/worker_threads/message-port/node-event-target-surfaceparity_failnode-suite/worker_threads/message-port/once-registry-after-fireparity_failnode-suite/worker_threads/message-port/onmessage-eventparity_failnode-suite/worker_threads/message-port/post-message-missingparity_failnode-suite/worker_threads/message-port/post-message-validationparity_failnode-suite/worker_threads/message-port/prototype-own-surfaceparity_failnode-suite/worker_threads/message-port/queued-before-peer-closeparity_failnode-suite/worker_threads/message-port/receive-fifo-validationparity_failnode-suite/worker_threads/message-port/self-and-closed-transferparity_failnode-suite/worker_threads/message-port/tampered-listener-registryparity_failnode-suite/worker_threads/message-port/transfer-during-close-flushparity_failnode-suite/worker_threads/message-port/transfer-iterablesparity_failnode-suite/worker_threads/message-port/transfer-iterator-errorparity_failnode-suite/worker_threads/message-port/transfer-iterator-shapesparity_failnode-suite/worker_threads/message-port/transfer-optionsparity_failnode-suite/worker_threads/message-port/transfer-state-validationparity_failnode-suite/worker_threads/message-port/transfer-targetparity_failnode-suite/worker_threads/message-port/unread-transferred-port-closeparity_failnode-suite/worker_threads/structured-clone/filehandle-transferparity_failnode-suite/worker_threads/structured-clone/message-port-transferparity_failnode-suite/worker_threads/structured-clone/transfer-rollbackparity_failnode-suite/worker_threads/structured-clone/transfer-validationparity_failnode-suite/worker_threads/structured-clone/url-rejectionparity_failnode-suite/worker_threads/transfer-markers/marker-privacyparity_failnode-suite/worker_threads/transfer-markers/marker-semanticsparity_failnode-suite/worker_threads/transfer-markers/uncloneable-port-transferparity_failnode-suite/worker_threads/web-locks/web-locks-callback-settlementparity_failnode-suite/worker_threads/worker-lifecycle/argv-baseparity_failnode-suite/worker_threads/worker-lifecycle/argv-optionsparity_failnode-suite/worker_threads/worker-lifecycle/async-disposeparity_failnode-suite/worker_threads/worker-lifecycle/captured-outputparity_failnode-suite/worker_threads/worker-lifecycle/constructor-validationparity_failnode-suite/worker_threads/worker-lifecycle/data-and-environmentparity_failnode-suite/worker_threads/worker-lifecycle/env-isolationparity_failnode-suite/worker_threads/worker-lifecycle/env-optionsparity_failnode-suite/worker_threads/worker-lifecycle/eval-stack-getter-errorparity_failnode-suite/worker_threads/worker-lifecycle/eval-syntax-errorparity_failnode-suite/worker_threads/worker-lifecycle/eval-unserializable-errorparity_failnode-suite/worker_threads/worker-lifecycle/eventemitter-listenersparity_failnode-suite/worker_threads/worker-lifecycle/execargv-optionsparity_failnode-suite/worker_threads/worker-lifecycle/exit-code-explicitparity_failnode-suite/worker_threads/worker-lifecycle/exit-code-propertyparity_failnode-suite/worker_threads/worker-lifecycle/exit-listener-errorparity_failnode-suite/worker_threads/worker-lifecycle/exit-unreachable-codeparity_failnode-suite/worker_threads/worker-lifecycle/file-url-unicodeparity_failnode-suite/worker_threads/worker-lifecycle/filehandle-map-setparity_failnode-suite/worker_threads/worker-lifecycle/filehandle-orphan-transferparity_failnode-suite/worker_threads/worker-lifecycle/filehandle-workerdata-aliasparity_failnode-suite/worker_threads/worker-lifecycle/global-postmessage-overrideparity_failnode-suite/worker_threads/worker-lifecycle/inheritance-brandsparity_failnode-suite/worker_threads/worker-lifecycle/listener-validationparity_failnode-suite/worker_threads/worker-lifecycle/natural-exit-terminateparity_failnode-suite/worker_threads/worker-lifecycle/node-options-env-validationparity_failnode-suite/worker_threads/worker-lifecycle/parent-port-onmessageparity_failnode-suite/worker_threads/worker-lifecycle/parent-port-refparity_failnode-suite/worker_threads/worker-lifecycle/post-exit-diagnosticsparity_failnode-suite/worker_threads/worker-lifecycle/post-exit-safe-methodsparity_failnode-suite/worker_threads/worker-lifecycle/postmessage-errorsparity_failnode-suite/worker_threads/worker-lifecycle/postmessage-missingparity_failnode-suite/worker_threads/worker-lifecycle/postmessage-shared-array-bufferparity_failnode-suite/worker_threads/worker-lifecycle/postmessage-url-rejectionparity_failnode-suite/worker_threads/worker-lifecycle/process-env-descriptorsparity_failnode-suite/worker_threads/worker-lifecycle/queued-port-receiveparity_failnode-suite/worker_threads/worker-lifecycle/resource-limits-metadataparity_failnode-suite/worker_threads/worker-lifecycle/share-envparity_failnode-suite/worker_threads/worker-lifecycle/share-env-founderparity_failnode-suite/worker_threads/worker-lifecycle/share-env-treeparity_failnode-suite/worker_threads/worker-lifecycle/terminate-idempotentparity_failnode-suite/worker_threads/worker-lifecycle/thread-metadataparity_failnode-suite/worker_threads/worker-lifecycle/thread-name-defaultsparity_failnode-suite/worker_threads/worker-lifecycle/unreferenced-arraybuffer-transferparity_failnode-suite/worker_threads/worker-lifecycle/worker-created-port-after-exitparity_failnode-suite/worker_threads/worker-lifecycle/worker-eventemitter-surfaceparity_failnode-suite/worker_threads/worker-lifecycle/workerdata-defaultsparity_failnode-suite/worker_threads/worker-lifecycle/workerdata-multiple-portsparity_failnode-suite/worker_threads/worker-lifecycle/workerdata-port-aliasparity_failnode-suite/worker_threads/worker-lifecycle/workerdata-port-mapparity_failnode-suite/worker_threads/worker-lifecycle/workerdata-port-setparity_failnode-suite/worker_threads/worker-lifecycle/workerdata-port-surfaceparity_failnode-suite/worker_threads/worker-lifecycle/workerdata-port-transfer
readline - 73 non-PASS (parity fail=73)
parity_failnode-suite/readline/async-iterator/break-closesparity_failnode-suite/readline/async-iterator/doneparity_failnode-suite/readline/async-iterator/input-errorparity_failnode-suite/readline/async-iterator/nestedparity_failnode-suite/readline/async-iterator/valuesparity_failnode-suite/readline/completer/classic-callbackparity_failnode-suite/readline/completer/classic-errorparity_failnode-suite/readline/completer/classic-syncparity_failnode-suite/readline/completer/promises-asyncparity_failnode-suite/readline/completer/promises-errorparity_failnode-suite/readline/completer/promises-syncparity_failnode-suite/readline/completer/undefined-columnsparity_failnode-suite/readline/create-interface/crlf-delayparity_failnode-suite/readline/create-interface/defaultsparity_failnode-suite/readline/create-interface/positional-overloadparity_failnode-suite/readline/create-interface/pre-aborted-signalparity_failnode-suite/readline/create-interface/terminal-inferenceparity_failnode-suite/readline/exports/classic-surfaceparity_failnode-suite/readline/exports/interface-callableparity_failnode-suite/readline/exports/interface-class-nameparity_failnode-suite/readline/exports/interface-constructor-descriptorparity_failnode-suite/readline/exports/interface-instance-constructorparity_failnode-suite/readline/exports/interface-legacy-aliasesparity_failnode-suite/readline/exports/interface-prototype-identityparity_failnode-suite/readline/exports/interface-symbolsparity_failnode-suite/readline/exports/promises-surfaceparity_failnode-suite/readline/helpers/clear-line-callback-validationparity_failnode-suite/readline/helpers/clear-line-null-outputparity_failnode-suite/readline/helpers/clear-screen-callback-validationparity_failnode-suite/readline/helpers/clear-screen-null-outputparity_failnode-suite/readline/helpers/cursor-to-null-outputparity_failnode-suite/readline/helpers/cursor-to-overloadsparity_failnode-suite/readline/helpers/cursor-to-validationparity_failnode-suite/readline/helpers/move-cursor-callback-validationparity_failnode-suite/readline/helpers/move-cursor-null-outputparity_failnode-suite/readline/history/event-newest-firstparity_failnode-suite/readline/history/history-sizeparity_failnode-suite/readline/history/listener-mutationparity_failnode-suite/readline/history/remove-duplicatesparity_failnode-suite/readline/keypress/csi-chunk-boundaryparity_failnode-suite/readline/keypress/fixed-modifiersparity_failnode-suite/readline/lifecycle/close-idempotentparity_failnode-suite/readline/lifecycle/cursor-positionparity_failnode-suite/readline/lifecycle/cursor-position-widthparity_failnode-suite/readline/lifecycle/pause-resume-after-closeparity_failnode-suite/readline/lifecycle/pause-resume-orderparity_failnode-suite/readline/lifecycle/recursive-writeparity_failnode-suite/readline/lifecycle/write-after-closeparity_failnode-suite/readline/lifecycle/write-undefinedparity_failnode-suite/readline/lifecycle/write-while-pausedparity_failnode-suite/readline/promises/question-abort-causeparity_failnode-suite/readline/promises/question-abort-recoveryparity_failnode-suite/readline/promises/question-after-closeparity_failnode-suite/readline/promises/readline-action-validationparity_failnode-suite/readline/promises/readline-commit-errorparity_failnode-suite/readline/promises/readline-constructor-validationparity_failnode-suite/readline/question/abort-recoveryparity_failnode-suite/readline/question/after-closeparity_failnode-suite/readline/question/concurrentparity_failnode-suite/readline/question/pre-abortedparity_failnode-suite/readline/streams/carriage-returnparity_failnode-suite/readline/streams/crlf-chunk-boundaryparity_failnode-suite/readline/streams/input-error-eventparity_failnode-suite/readline/streams/reopen-utf8-boundaryparity_failnode-suite/readline/streams/unicode-separatorsparity_failnode-suite/readline/streams/unterminated-final-lineparity_failnode-suite/readline/streams/utf8-chunksparity_failnode-suite/readline/validation/completerparity_failnode-suite/readline/validation/escape-code-timeoutparity_failnode-suite/readline/validation/historyparity_failnode-suite/readline/validation/history-sizeparity_failnode-suite/readline/validation/signalparity_failnode-suite/readline/validation/tab-size
repl - 57 non-PASS (parity fail=57)
parity_failnode-suite/repl/classes/repl-server-prototypeparity_failnode-suite/repl/commands/break-commandparity_failnode-suite/repl/commands/builtin-commandsparity_failnode-suite/repl/commands/clear-buffered-commandparity_failnode-suite/repl/commands/define-functionparity_failnode-suite/repl/commands/define-objectparity_failnode-suite/repl/commands/define-validationparity_failnode-suite/repl/completion/builtin-moduleparity_failnode-suite/repl/completion/context-propertyparity_failnode-suite/repl/completion/custom-completer-receiverparity_failnode-suite/repl/completion/global-nameparity_failnode-suite/repl/context/context-bindingsparity_failnode-suite/repl/context/create-contextparity_failnode-suite/repl/context/isolated-contextparity_failnode-suite/repl/context/reset-contextparity_failnode-suite/repl/context/reset-eventparity_failnode-suite/repl/context/underscore-descriptorsparity_failnode-suite/repl/context/use-globalparity_failnode-suite/repl/eval/custom-callback-shapeparity_failnode-suite/repl/eval/direct-contextparity_failnode-suite/repl/eval/direct-successparity_failnode-suite/repl/eval/recoverable-syntaxparity_failnode-suite/repl/eval/sloppy-modeparity_failnode-suite/repl/eval/syntax-errorparity_failnode-suite/repl/eval/top-level-awaitparity_failnode-suite/repl/exports/builtin-module-aliasesparity_failnode-suite/repl/exports/builtin-modules-descriptorsparity_failnode-suite/repl/exports/callable-metadataparity_failnode-suite/repl/exports/export-descriptorsparity_failnode-suite/repl/exports/is-valid-syntaxparity_failnode-suite/repl/exports/mode-symbolsparity_failnode-suite/repl/exports/named-default-aliasesparity_failnode-suite/repl/exports/public-keysparity_failnode-suite/repl/history/setup-history-isolatedparity_failnode-suite/repl/history/setup-history-optionsparity_failnode-suite/repl/history/setup-history-validationparity_failnode-suite/repl/lifecycle/close-eventparity_failnode-suite/repl/lifecycle/emit-resultparity_failnode-suite/repl/lifecycle/exit-close-orderparity_failnode-suite/repl/output/custom-writer-resultparity_failnode-suite/repl/output/default-writer-colorsparity_failnode-suite/repl/output/set-promptparity_failnode-suite/repl/output/writer-optionsparity_failnode-suite/repl/start/constructor-options-instanceparity_failnode-suite/repl/start/custom-completerparity_failnode-suite/repl/start/custom-evalparity_failnode-suite/repl/start/custom-writerparity_failnode-suite/repl/start/default-propertiesparity_failnode-suite/repl/start/domain-option-validationparity_failnode-suite/repl/start/eval-sigint-validationparity_failnode-suite/repl/start/explicit-propertiesparity_failnode-suite/repl/start/legacy-overloadparity_failnode-suite/repl/start/options-return-instanceparity_failnode-suite/repl/start/stream-alias-descriptorsparity_failnode-suite/repl/start/stream-alias-settersparity_failnode-suite/repl/start/stream-aliasesparity_failnode-suite/repl/start/stream-option
cluster - 33 non-PASS (parity fail=33)
parity_failnode-suite/cluster/default-import-shapeparity_failnode-suite/cluster/disconnect/two-workersparity_failnode-suite/cluster/exports/module-surfaceparity_failnode-suite/cluster/exports/primary-stateparity_failnode-suite/cluster/exports/prototypesparity_failnode-suite/cluster/exports/worker-constructorparity_failnode-suite/cluster/fork/incrementing-idsparity_failnode-suite/cluster/fork/respawnparity_failnode-suite/cluster/fork/roles-and-envparity_failnode-suite/cluster/fork/shape-and-registryparity_failnode-suite/cluster/ipc/primary-to-workerparity_failnode-suite/cluster/ipc/send-callbackparity_failnode-suite/cluster/ipc/worker-to-primaryparity_failnode-suite/cluster/lifecycle/natural-exitparity_failnode-suite/cluster/lifecycle/online-orderparity_failnode-suite/cluster/lifecycle/worker-disconnectparity_failnode-suite/cluster/serialization/advancedparity_failnode-suite/cluster/serialization/advanced-builtinsparity_failnode-suite/cluster/serialization/advanced-tcpparity_failnode-suite/cluster/serialization/jsonparity_failnode-suite/cluster/setup/async-eventparity_failnode-suite/cluster/setup/cumulativeparity_failnode-suite/cluster/setup/defaultsparity_failnode-suite/cluster/setup/options-shapeparity_failnode-suite/cluster/setup/worker-cwdparity_failnode-suite/cluster/setup/worker-env-argsparity_failnode-suite/cluster/setup/worker-exec-argvparity_failnode-suite/cluster/setup/worker-silentparity_failnode-suite/cluster/tcp/listening-addressparity_failnode-suite/cluster/tcp/request-responseparity_failnode-suite/cluster/workers/method-shapeparity_failnode-suite/cluster/workers/process-channelparity_failnode-suite/cluster/workers/send-validation
http2 - 31 non-PASS (parity fail=31)
parity_failnode-suite/http2/connect/invalid-authorityparity_failnode-suite/http2/connect/unsupported-protocolparity_failnode-suite/http2/exports/compat-descriptorsparity_failnode-suite/http2/exports/exact-module-keysparity_failnode-suite/http2/exports/request-classparity_failnode-suite/http2/exports/response-classparity_failnode-suite/http2/headers/invalid-request-pseudoheaderparity_failnode-suite/http2/headers/sensitive-symbolparity_failnode-suite/http2/plaintext/response-bodyparity_failnode-suite/http2/plaintext/response-headersparity_failnode-suite/http2/server/create-overloadsparity_failnode-suite/http2/server/inheritanceparity_failnode-suite/http2/server/invalid-optionsparity_failnode-suite/http2/server/invalid-settings-optionparity_failnode-suite/http2/session/aborted-request-signalparity_failnode-suite/http2/session/class-namesparity_failnode-suite/http2/session/client-destroy-stateparity_failnode-suite/http2/session/goaway-opaque-dataparity_failnode-suite/http2/session/method-surfaceparity_failnode-suite/http2/session/request-option-validationparity_failnode-suite/http2/session/settings-callbackparity_failnode-suite/http2/settings/default-shapeparity_failnode-suite/http2/settings/numeric-boundariesparity_failnode-suite/http2/settings/packed-customparity_failnode-suite/http2/settings/packed-fractionalparity_failnode-suite/http2/settings/packed-header-aliasparity_failnode-suite/http2/settings/unpacked-validationparity_failnode-suite/http2/stream/close-validationparity_failnode-suite/http2/stream/initial-stateparity_failnode-suite/http2/stream/sent-headersparity_failnode-suite/http2/stream/trailer-surface
http - 30 non-PASS (compile fail=1, parity fail=29)
compile_failnode-suite/http/exports/event-constructorsparity_failnode-suite/http/agent/defaultsparity_failnode-suite/http/agent/idle-pools-destroyparity_failnode-suite/http/agent/keep-alive-reuseparity_failnode-suite/http/agent/optionsparity_failnode-suite/http/agent/socket-event-introspectionparity_failnode-suite/http/agent/validationparity_failnode-suite/http/client-request/constructor-surfaceparity_failnode-suite/http/client-request/flush-headers-stateparity_failnode-suite/http/client-request/header-operationsparity_failnode-suite/http/client-request/header-validationparity_failnode-suite/http/exports/descriptorsparity_failnode-suite/http/incoming-message/constructor-defaultsparity_failnode-suite/http/incoming-message/response-metadataparity_failnode-suite/http/request/agent-validationparity_failnode-suite/http/request/callback-validation-orderparity_failnode-suite/http/request/method-validationparity_failnode-suite/http/request/path-validationparity_failnode-suite/http/request/signal-validationparity_failnode-suite/http/request/url-validationparity_failnode-suite/http/server-response/header-operationsparity_failnode-suite/http/server-response/informational-validationparity_failnode-suite/http/server-response/set-headersparity_failnode-suite/http/server-response/write-head-validationparity_failnode-suite/http/server/close-not-runningparity_failnode-suite/http/server/constructionparity_failnode-suite/http/server/expectation-eventsparity_failnode-suite/http/server/listen-close-lifecycleparity_failnode-suite/http/server/options-validationparity_failnode-suite/http/server/parser-options
https - 30 non-PASS (crash=3, parity fail=27)
crashnode-suite/https/request/string-url-overloadcrashnode-suite/https/request/url-object-overloadcrashnode-suite/https/request/url-options-mergeparity_failnode-suite/https/agent/default-stateparity_failnode-suite/https/agent/global-default-stateparity_failnode-suite/https/agent/options-stateparity_failnode-suite/https/agent/session-cache-defaultsparity_failnode-suite/https/agent/session-cache-disabledparity_failnode-suite/https/agent/session-cache-evictionparity_failnode-suite/https/agent/session-cache-updateparity_failnode-suite/https/agent/session-receiver-validationparity_failnode-suite/https/agent/tls12-session-reuseparity_failnode-suite/https/classes/agent-prototypeparity_failnode-suite/https/classes/server-inheritanceparity_failnode-suite/https/classes/server-prototypeparity_failnode-suite/https/exports/descriptorsparity_failnode-suite/https/exports/module-keysparity_failnode-suite/https/request/agent-falseparity_failnode-suite/https/request/custom-agentparity_failnode-suite/https/request/global-agentparity_failnode-suite/https/request/protocol-validationparity_failnode-suite/https/request/request-returnparity_failnode-suite/https/server/construction-overloadsparity_failnode-suite/https/server/default-stateparity_failnode-suite/https/server/options-validationparity_failnode-suite/https/tls/alpn-http1parity_failnode-suite/https/tls/explicit-ca-authorizedparity_failnode-suite/https/tls/hostname-mismatchparity_failnode-suite/https/tls/reject-untrustedparity_failnode-suite/https/tls/sni-servername
v8 - 30 non-PASS (parity fail=30)
parity_failnode-suite/v8/classes/instances-inheritanceparity_failnode-suite/v8/classes/prototypesparity_failnode-suite/v8/exports/descriptorsparity_failnode-suite/v8/exports/import-identityparity_failnode-suite/v8/exports/public-surfaceparity_failnode-suite/v8/gc-profiler/disposeparity_failnode-suite/v8/heap-snapshot/outputparity_failnode-suite/v8/heap-snapshot/semantic-schemaparity_failnode-suite/v8/heap-snapshot/twiceparity_failnode-suite/v8/heap-statistics/cpp-shapeparity_failnode-suite/v8/promise-hooks/completion-orderparity_failnode-suite/v8/promise-hooks/lifecycle-orderparity_failnode-suite/v8/promise-hooks/surfaceparity_failnode-suite/v8/promise-hooks/validationparity_failnode-suite/v8/serialize/buffers-viewsparity_failnode-suite/v8/serialize/corrupt-inputparity_failnode-suite/v8/serialize/float16-arrayparity_failnode-suite/v8/serialize/invalid-inputparity_failnode-suite/v8/serialize/invalid-valuesparity_failnode-suite/v8/serialize/objects-collectionsparity_failnode-suite/v8/serialize/typed-arraysparity_failnode-suite/v8/serializer/header-valuesparity_failnode-suite/v8/serializer/raw-primitivesparity_failnode-suite/v8/serializer/raw-viewsparity_failnode-suite/v8/serializer/release-reuseparity_failnode-suite/v8/serializer/transfer-array-bufferparity_failnode-suite/v8/serializer/validationparity_failnode-suite/v8/serializer/wire-versionparity_failnode-suite/v8/strings/one-byteparity_failnode-suite/v8/version-tag/flags-isolated
domain - 27 non-PASS (parity fail=27)
parity_failnode-suite/domain/add-domain-cycleparity_failnode-suite/domain/add-transfers-domainparity_failnode-suite/domain/bind-error-metadataparity_failnode-suite/domain/bind-propertiesparity_failnode-suite/domain/create-stateparity_failnode-suite/domain/detached-receiver-validationparity_failnode-suite/domain/domain-constructor-requires-newparity_failnode-suite/domain/emitter-event-contextparity_failnode-suite/domain/emitter-implicit-membershipparity_failnode-suite/domain/emitter-nested-restoreparity_failnode-suite/domain/eventemitter-using-domainsparity_failnode-suite/domain/export-aliasesparity_failnode-suite/domain/immediate-contextparity_failnode-suite/domain/intercept-callback-errorparity_failnode-suite/domain/intercept-error-metadataparity_failnode-suite/domain/intercept-non-error-first-argumentparity_failnode-suite/domain/intercept-propertiesparity_failnode-suite/domain/nexttick-contextparity_failnode-suite/domain/process-domain-descriptorparity_failnode-suite/domain/promise-contextparity_failnode-suite/domain/promise-handler-domainparity_failnode-suite/domain/prototype-surfaceparity_failnode-suite/domain/remove-unlisted-memberparity_failnode-suite/domain/run-contractparity_failnode-suite/domain/run-error-metadataparity_failnode-suite/domain/run-primitive-errorparity_failnode-suite/domain/timeout-context
net - 27 non-PASS (crash=1, parity fail=26)
crashnode-suite/net/server/listen-overloadsparity_failnode-suite/net/classes/block-list-ipv4parity_failnode-suite/net/classes/block-list-jsonparity_failnode-suite/net/classes/block-list-socket-address-inputsparity_failnode-suite/net/classes/socket-address-defaultsparity_failnode-suite/net/classes/socket-address-validationparity_failnode-suite/net/connection/abort-signalparity_failnode-suite/net/connection/address-metadataparity_failnode-suite/net/connection/backpressureparity_failnode-suite/net/connection/bytes-countersparity_failnode-suite/net/connection/cork-uncorkparity_failnode-suite/net/connection/end-callback-orderparity_failnode-suite/net/connection/half-closeparity_failnode-suite/net/connection/state-transitionsparity_failnode-suite/net/exports/bound-socketparity_failnode-suite/net/exports/descriptors-and-aliasesparity_failnode-suite/net/method-values/server-async-disposeparity_failnode-suite/net/method-values/socket-serverparity_failnode-suite/net/server/get-connectionsparity_failnode-suite/net/socket/chainable-controlsparity_failnode-suite/net/socket/destroy-and-resetparity_failnode-suite/net/socket/initial-stateparity_failnode-suite/net/validation/connect-missing-argumentsparity_failnode-suite/net/validation/connect-optionsparity_failnode-suite/net/validation/listen-optionsparity_failnode-suite/net/validation/receiver-validationparity_failnode-suite/net/validation/socket-constructor-options
dns - 26 non-PASS (crash=2, parity fail=24)
crashnode-suite/dns/resolver/cancel-activecrashnode-suite/dns/resolver/cancel-idempotentparity_failnode-suite/dns/imports/descriptorsparity_failnode-suite/dns/imports/function-metadataparity_failnode-suite/dns/lookup-service/port-coercionparity_failnode-suite/dns/lookup-service/validationparity_failnode-suite/dns/lookup/callback-validationparity_failnode-suite/dns/lookup/falsy-hostnameparity_failnode-suite/dns/lookup/family-formsparity_failnode-suite/dns/lookup/ip-literals-callbackparity_failnode-suite/dns/lookup/options-accessorsparity_failnode-suite/dns/lookup/options-validationparity_failnode-suite/dns/lookup/promisifyparity_failnode-suite/dns/resolve/address-recordsparity_failnode-suite/dns/resolve/errorsparity_failnode-suite/dns/resolve/reverse-validationparity_failnode-suite/dns/resolve/rrtype-aliasesparity_failnode-suite/dns/resolve/structured-recordsparity_failnode-suite/dns/resolver/constructor-validationparity_failnode-suite/dns/resolver/method-metadataparity_failnode-suite/dns/resolver/prototypeparity_failnode-suite/dns/resolver/resolve-validationparity_failnode-suite/dns/resolver/set-local-addressparity_failnode-suite/dns/settings/default-resolver-rebindingparity_failnode-suite/dns/settings/servers-array-semanticsparity_failnode-suite/dns/settings/servers-normalization
stream - 24 non-PASS (crash=6, parity fail=18)
crashnode-suite/stream/consumers/array-buffer-from-web-rscrashnode-suite/stream/consumers/blob-from-web-rscrashnode-suite/stream/consumers/buffer-from-web-rscrashnode-suite/stream/consumers/json-from-web-rscrashnode-suite/stream/consumers/text-from-web-readable-streamcrashnode-suite/stream/consumers/web-readable-streamparity_failnode-suite/stream/compose/async-handler-promiseparity_failnode-suite/stream/compose/buffer-preservesparity_failnode-suite/stream/compose/compose-array-formparity_failnode-suite/stream/compose/composite-end-eventparity_failnode-suite/stream/compose/from-async-iterableparity_failnode-suite/stream/compose/instance-chainparity_failnode-suite/stream/compose/instance-methodparity_failnode-suite/stream/compose/just-source-onlyparity_failnode-suite/stream/compose/single-stream-argparity_failnode-suite/stream/compose/single-sync-fnparity_failnode-suite/stream/compose/three-stages-orderparity_failnode-suite/stream/compose/with-passthrough-midparity_failnode-suite/stream/iter-helpers/compose-then-toarrayparity_failnode-suite/stream/iter-helpers/for-await-local-tailparity_failnode-suite/stream/iter-helpers/for-await-tailparity_failnode-suite/stream/push/typed-arrayparity_failnode-suite/stream/readable/compose-multi-async-fnparity_failnode-suite/stream/readable/compose-with-passthrough
zlib - 22 non-PASS (parity fail=22)
parity_failnode-suite/zlib/async/error-callback-shapeparity_failnode-suite/zlib/async/options-overload-and-callbackparity_failnode-suite/zlib/constants/immutabilityparity_failnode-suite/zlib/convenience/info-resultparity_failnode-suite/zlib/crc32/seed-validationparity_failnode-suite/zlib/dictionary/brotli-roundtripparity_failnode-suite/zlib/dictionary/deflate-roundtripparity_failnode-suite/zlib/dictionary/invalid-typeparity_failnode-suite/zlib/dictionary/source-typesparity_failnode-suite/zlib/dictionary/stream-applicationparity_failnode-suite/zlib/dictionary/zstd-roundtripparity_failnode-suite/zlib/imports/legacy-constant-aliasesparity_failnode-suite/zlib/options/chunk-size-validationparity_failnode-suite/zlib/options/flush-validationparity_failnode-suite/zlib/options/max-output-lengthparity_failnode-suite/zlib/options/validation-orderparity_failnode-suite/zlib/options/window-bits-zeroparity_failnode-suite/zlib/streams/close-stateparity_failnode-suite/zlib/streams/error-closeparity_failnode-suite/zlib/validation/one-shot-buffer-sourcesparity_failnode-suite/zlib/validation/reject-trailing-garbageparity_failnode-suite/zlib/validation/truncated-finish-flush
dgram - 16 non-PASS (parity fail=16)
parity_failnode-suite/dgram/api/export-shapeparity_failnode-suite/dgram/api/receiver-validationparity_failnode-suite/dgram/api/socket-aliasesparity_failnode-suite/dgram/api/socket-classparity_failnode-suite/dgram/api/socket-descriptorsparity_failnode-suite/dgram/connection/connect-syncparity_failnode-suite/dgram/control/ttl-validationparity_failnode-suite/dgram/lifecycle/bind-error-detailsparity_failnode-suite/dgram/lifecycle/bind-stateparity_failnode-suite/dgram/lifecycle/bind-syncparity_failnode-suite/dgram/lifecycle/closed-stateparity_failnode-suite/dgram/lifecycle/default-lookupparity_failnode-suite/dgram/multicast-membershipparity_failnode-suite/dgram/send/callback-receiverparity_failnode-suite/dgram/send/error-routingparity_failnode-suite/dgram/validation/create-socket-advanced-options
async_hooks - 14 non-PASS (crash=2, parity fail=12)
crashnode-suite/async_hooks/hooks/provider-fs-watcher-lifecyclescrashnode-suite/async_hooks/integrations/fs-watch-fileparity_failnode-suite/async_hooks/hooks/interval-repeat-lifecycleparity_failnode-suite/async_hooks/hooks/provider-net-lifecycle-matrixparity_failnode-suite/async_hooks/hooks/provider-zlib-lifecycleparity_failnode-suite/async_hooks/integrations/crypto-deriveparity_failnode-suite/async_hooks/integrations/fs-watchparity_failnode-suite/async_hooks/integrations/zlib-create-gzipparity_failnode-suite/async_hooks/providers/dgram-dual-contextparity_failnode-suite/async_hooks/providers/dgram-sendparity_failnode-suite/async_hooks/providers/events-on-asyncparity_failnode-suite/async_hooks/providers/net-data-isolationparity_failnode-suite/async_hooks/resource/method-receiver-validationparity_failnode-suite/async_hooks/storage/disable-one-pending-other
crypto - 13 non-PASS (parity fail=13)
parity_failnode-suite/crypto/hash/stream-methodsparity_failnode-suite/crypto/hmac/stream-methodsparity_failnode-suite/crypto/key-object/keyobject-from-cryptokeyparity_failnode-suite/crypto/webcrypto/aes-ocbparity_failnode-suite/crypto/webcrypto/chacha20-poly1305parity_failnode-suite/crypto/webcrypto/ec-p384-p521parity_failnode-suite/crypto/webcrypto/ed448-sign-verifyparity_failnode-suite/crypto/webcrypto/kmacparity_failnode-suite/crypto/webcrypto/mlkem-encapsulationparity_failnode-suite/crypto/webcrypto/mlkem-key-materialparity_failnode-suite/crypto/webcrypto/subtle-supportsparity_failnode-suite/crypto/webcrypto/x448-derive-bitsparity_failnode-suite/crypto/x509/public-key
fs - 12 non-PASS (crash=5, compile fail=5, parity fail=2)
crashnode-suite/fs/utf8stream/utf8stream-buffering-eventscrashnode-suite/fs/watch/basiccrashnode-suite/fs/watch/event-emitter-surfacecrashnode-suite/fs/watch/persistent-false-exitcrashnode-suite/fs/watch/watchfile-deliverycompile_failnode-suite/fs/thread/threaded-fd-semantics-collision-capturedcompile_failnode-suite/fs/thread/threaded-fd-semantics-collision-returnedcompile_failnode-suite/fs/thread/threaded-fd-semantics-parallelmap-readcompile_failnode-suite/fs/thread/threaded-fd-semantics-spawn-capturedcompile_failnode-suite/fs/thread/threaded-fd-semantics-worker-returnedparity_failnode-suite/fs/watch/event-deliveryparity_failnode-suite/fs/watch/promises-recursive-abort
perf_hooks - 8 non-PASS (parity fail=8)
parity_failnode-suite/perf_hooks/imports/function-aliasesparity_failnode-suite/perf_hooks/mark/reserved-node-milestoneparity_failnode-suite/perf_hooks/node-timing/node-timingparity_failnode-suite/perf_hooks/node-timing/shape-invariantsparity_failnode-suite/perf_hooks/node-timing/to-jsonparity_failnode-suite/perf_hooks/resource-timing/controlled-fieldsparity_failnode-suite/perf_hooks/timerify/this-arguments-resultparity_failnode-suite/perf_hooks/to-json/snapshot-shape
tls - 7 non-PASS (crash=1, parity fail=6)
crashnode-suite/tls/handshake/plaintext-rejectionparity_failnode-suite/tls/alpn/no-overlapparity_failnode-suite/tls/handshake/authorized-loopbackparity_failnode-suite/tls/handshake/default-ca-client-trustparity_failnode-suite/tls/handshake/reject-untrustedparity_failnode-suite/tls/handshake/secure-context-optionparity_failnode-suite/tls/helpers/inventory-and-ca
vm - 6 non-PASS (parity fail=6)
parity_failnode-suite/vm/api/descriptorsparity_failnode-suite/vm/context/dont-contextifyparity_failnode-suite/vm/execution/compile-functionparity_failnode-suite/vm/execution/create-script-aliasparity_failnode-suite/vm/imports/named-and-namespaceparity_failnode-suite/vm/require/require-shape
events - 5 non-PASS (parity fail=5)
parity_failnode-suite/events/async-resource/basicparity_failnode-suite/events/async-resource/validationparity_failnode-suite/events/listeners/event-name-coercionparity_failnode-suite/events/listeners/listener-count-specific-listenerparity_failnode-suite/events/max-listeners/warning
globals - 5 non-PASS (parity fail=5)
parity_failnode-suite/globals/json-parse-reviver-internalizeparity_failnode-suite/globals/navigator-constructor-identityparity_failnode-suite/globals/string-replaceall-regexp-globalparity_failnode-suite/globals/tagged-template-cache-freezeparity_failnode-suite/globals/webassembly-module-metadata
console - 4 non-PASS (parity fail=4)
parity_failnode-suite/console/dirxml/alias-logparity_failnode-suite/console/inspector/profile-noopparity_failnode-suite/console/inspector/return-valuesparity_failnode-suite/console/inspector/timestamp-noop
diagnostics_channel - 3 non-PASS (parity fail=3)
parity_failnode-suite/diagnostics_channel/bounded/run-and-scopeparity_failnode-suite/diagnostics_channel/channel/identity-instanceofparity_failnode-suite/diagnostics_channel/channel/pub-sub-channel-methods
module - 2 non-PASS (parity fail=2)
parity_failnode-suite/module/imports/json-require-identityparity_failnode-suite/module/require/json-cache
process - 2 non-PASS (parity fail=2)
parity_failnode-suite/process/methods/get-builtin-module-transport-surfacesparity_failnode-suite/process/methods/ref-unref
sqlite - 2 non-PASS (parity fail=2)
parity_failnode-suite/sqlite/binding/typed-array-viewsparity_failnode-suite/sqlite/statements/prepare-validation
test - 2 non-PASS (parity fail=2)
parity_failnode-suite/test/imports/assert-expectfailure-shapeparity_failnode-suite/test/runner/api/run-empty
fetch - 1 non-PASS (parity fail=1)
parity_failnode-suite/fetch/request/async-iterable-body
Activity
fix(assert): test a RegExp matcher against String(thrown), and make i…
fix(assert): test a RegExp matcher against String(thrown), and make i…
fix(assert): test a RegExp matcher against String(thrown), and make i…
proggeramlug commentedon Sep 6, 2026
Two more fixes from this audit landed on
mainvia merge train #9922: #9913 (mock declared prototype methods) and #9914 (render node:test reporter directives).Both PR bodies say
Fixes #9202. Leaving this open deliberately — this issue tracks 577 non-PASS results and 24 crashes across the whole node-suite, and two targeted fixes do not resolve that. Had they merged directly the close-keyword would have closed this umbrella and lost the remaining work; the train merges as its own branch, so the keyword did not fire.Contributing PRs landed so far in this sweep: #9872, #9876, #9885, #9894, #9913, #9914.
proggeramlug commentedon Sep 6, 2026
One more fix from this audit landed on
mainvia merge train #9923: #9916 (format nested node:test reports).Still deliberately open — this tracks 577 non-PASS results and 24 crashes across the whole node-suite, which no single fix resolves. Contributing PRs landed in this sweep so far: #9872, #9876, #9885, #9894, #9913, #9914, #9916.
[-]node-suite parity audit on macOS arm64: 577 non-PASS results, including 24 crashes[/-][+]node-suite parity audit on macOS arm64: 635 non-PASS results, including 24 crashes[/+]fix(module): keep createRequire JSON requires on the runtime loader
docs(changelog): add fragment for #12494
fix(process): unref() consults the real timer handle id
fix(runtime): native namespaces skip the recorded-prototype chain walk
docs(changelog): add fragment for #12494
fix(runtime): default ArrayBuffer.prototype.slice end to the resolved…
fix(sqlite): let SQLite reject a NUL in SQL instead of argument valid…
fix(streams): mark a drained body stream's read promise as handled
fix(runtime): match node's replaceAll non-global RegExp message
fix(runtime): report a defined array index once, not as a second name…
fix(runtime): brand-check WebAssembly.Module before the terminal shor…
fix(runtime): key the tagged-template raw pair on the live cooked head
TheHypnoo commentedon Oct 13, 2026
Seven modules from this audit's non-PASS list are now green on
mainAll of the following were re-measured in the faithful lane (
./run_parity_tests.sh --suite node-suite, auto-optimize ON,PERRY_SKIP_BUILD=0) against the pinned oracle node v26.5.1, and every target fixture's Perry stdout was diffed against node's byte for byte. Merge commits confirmed ancestors ofmainat the time of writing.moduleprocesssqlitetestfetcheventsglobalsThat closes all 21 fixtures in those modules.
node-suite/globals/function-tostring-overridewas the last one: it matched node exactly at3c8a22aa0and had regressed onmain, introduced by #11915's shared patched-prototype redirect (Call(Get(recv, name), recv, args)), whose genericGetis structurally blind to a function receiver's inherited method surface and so reported a replacedFunction.prototype.toStringas not callable. #12584 makesspec_getresolve such a name off the receiver's real[[Prototype]], for closure receivers only, with two regression tests.Three of these PRs also needed small follow-ups, which landed separately: #12476 and #12509 backfill changelog fragments that the merge train squashed past (the merge train can take a PR in under two minutes), #12564 drops two
-D warningserrors theeventschange itself introduced, and #12566 is a rustfmt-only pass over theglobalsfiles.Unrelated findings worth their own issues
mainparity regression:globals/function-tostring-override(above).--filteris ANDed, not ORed: the selection pre-pass inrun_parity_tests.shbreaks on the first non-matching filter, so--filter A --filter Bselects the intersection. Two filters can select zero tests and still printParity Rate: 0.0%, which reads as "no failures".node-suite/stream/consumersSIGSEGV family (6 fixtures: the*-from-web-rsset andweb-readable-stream): consuming anode:stream/webReadableStream throughnode:stream/consumerscrashes Perry (exit 139, no output). Pre-existing and unrelated to the changes above.main's own CI is red onlint(the 2000-line file-size cap on three files),warnings(-D warningsinperry-runtime),check,cargo-test,gc-call-effects(the tree does not compile for its windows leg:builtin_proto.rs:503) andtls-budget(scripts/check_thread_locals.py), all in files unrelated to this work. No PR can go green until those are fixed onmain.util.inspectnegative depth:decode_dir_depth_optionincrates/perry-runtime/src/builtins/console.rsclamps any negativedepthto 0, soutil.inspect(x, {depth: -1})prints the object where node prints[Constructor]. Worked around locally in theeventslane's max-listeners warning rather than changing shared inspect semantics.This tracker stays open: the remaining non-PASS count is still in the hundreds, and the next batch (
console,diagnostics_channel,vm,tls,perf_hooks, ...) is queued.