Skip to content

node-suite parity audit on macOS arm64: 577 non-PASS results, including 24 crashes #9202

Description

@TheHypnoo

What happened

A complete local run of Perry's canonical Node compatibility suite on an Apple M1 Pro completed all 4,376 fixtures and produced 577 non-PASS results, including 24 crashes.

The command exited successfully because the aggregate parity rate remained above the current 80% threshold, even though the run contained 9 SIGSEGVs, 15 timeouts, and 7 compile failures. This issue records the full reproducible baseline so the failures can be triaged by causal cluster rather than as isolated fixtures.

What you expected

The complete node-suite run should provide a trustworthy compatibility gate:

  • every selected fixture is adjudicated against the pinned Node oracle;
  • crashes, timeouts, compile failures, and oracle failures are visible and fail the gate independently of the aggregate percentage;
  • the committed baseline and the canonical harness use the same execution contract;
  • failures can be tracked module-by-module from a reproducible report tied to a specific commit and environment.

Minimal reproduction

This is intentionally the full suite, not a minimized single-runtime bug:

env \
  -u PERRY_SKIP_BUILD \
  -u PERRY_BIN \
  -u PERRY_RUNTIME_DIR \
  -u PERRY_NO_AUTO_OPTIMIZE \
  PATH="$PWD/.cache/node-pin/26.5.1/node-v26.5.1-darwin-arm64/bin:$PATH" \
  ./run_parity_tests.sh \
    --suite node-suite \
    --journal /tmp/perry-node-suite-fresh.jsonl

No --module, --filter, --shard, or --resume option was used. The script performed a normal fresh build before running the suite.

Environment

  • Perry version: 0.5.1519
  • Commit: 4a60b8ca1d2cfb9642a24604b0cec18c74863cac
  • Node oracle: v26.5.1 from the repository's pinned local toolchain
  • Host: MacBook Pro (MacBookPro18,3), Apple M1 Pro, 10 CPU cores, 16 GB RAM
  • Host OS: macOS 26.6.1 (25G76), arm64
  • Target: native macOS arm64
  • Rust toolchain: rustc 1.100.0-nightly (f7d782a3b 2026-08-19)
  • Installed via: built from source by the parity harness
  • Test duration: 07:42:04 after the initial build
  • Repository state: clean before and after the run

Diagnostic output

Overall result

Outcome Count
PASS 3,799
Parity failure 546
Compile failure 7
Crash 24
Node/oracle failure 0
Skipped 0
Total 4,376
Non-PASS 577
Success over all selected fixtures 86.8%
Percentage reported by the harness 86.9%

The harness reports 86.9% because compile_fail is excluded from its denominator. It exits with status 0 because the result remains above the 80% threshold.

Result by module

Module Total PASS Parity fail Compile fail Crash Non-PASS
assert 70 69 1 0 0 1
async_hooks 195 195 0 0 0 0
bigint 4 4 0 0 0 0
buffer 134 134 0 0 0 0
child_process 53 51 2 0 0 2
cluster 43 42 1 0 0 1
console 119 119 0 0 0 0
constants 4 4 0 0 0 0
crypto 244 244 0 0 0 0
dgram 57 41 16 0 0 16
diagnostics_channel 69 69 0 0 0 0
dns 43 17 24 0 2 26
domain 48 13 34 0 1 35
events 70 67 1 0 2 3
fetch 12 12 0 0 0 0
fs 175 169 1 5 0 6
fs-promises 82 82 0 0 0 0
globals 122 118 4 0 0 4
http 54 24 29 1 0 30
http2 60 27 27 0 6 33
https 47 13 31 0 3 34
inspector 37 37 0 0 0 0
inspector-promises 31 31 0 0 0 0
module 69 66 3 0 0 3
net 47 17 26 0 4 30
node-core 3 3 0 0 0 0
object 27 25 2 0 0 2
os 39 39 0 0 0 0
path 94 94 0 0 0 0
perf_hooks 148 146 2 0 0 2
process 105 104 0 0 1 1
punycode 8 8 0 0 0 0
querystring 60 60 0 0 0 0
readline 95 24 71 0 0 71
repl 68 11 57 0 0 57
sea 1 1 0 0 0 0
sqlite 47 46 1 0 0 1
stream 802 801 1 0 0 1
string 2 2 0 0 0 0
string_decoder 36 36 0 0 0 0
sys 2 2 0 0 0 0
test 90 86 4 0 0 4
timers 90 90 0 0 0 0
tls 100 99 1 0 0 1
trace_events 24 22 2 0 0 2
tty 33 33 0 0 0 0
url 67 67 0 0 0 0
util 88 87 1 0 0 1
v8 46 18 28 0 0 28
vm 64 64 0 0 0 0
wasi 51 51 0 0 0 0
worker_threads 205 53 146 1 5 152
zlib 92 62 30 0 0 30

Largest failure clusters

Module Non-PASS Main observed areas
worker_threads 152 Worker lifecycle, MessagePort, structured clone, BroadcastChannel, transfers, metadata
readline 71 Exports, helpers, lifecycle, streams, promises, validation, async iteration
repl 57 Startup, exports, context, evaluation, commands, completion
domain 35 Membership, context propagation, binding/interception, EventEmitter integration
https 34 Requests, URL/options overloads, lifecycle and validation
http2 33 Plaintext sessions, streams, headers, trailers, GOAWAY behavior
http 30 Exports, request/response behavior and validation
net 30 Connections, server lifecycle, prototypes and address metadata
zlib 30 Streams, dictionaries, validation, options and one-shot APIs
v8 28 Serialization, promise hooks, classes and exports
dns 26 Resolver lifecycle, lookup/resolve validation and settings
dgram 16 Socket surface, bind/send lifecycle and validation

Compile failures

  • node-suite/fs/thread/threaded-fd-semantics-collision-captured
  • node-suite/fs/thread/threaded-fd-semantics-collision-returned
  • node-suite/fs/thread/threaded-fd-semantics-parallelmap-read
  • node-suite/fs/thread/threaded-fd-semantics-spawn-captured
  • node-suite/fs/thread/threaded-fd-semantics-worker-returned
  • node-suite/http/exports/event-constructors
  • node-suite/worker_threads/worker-lifecycle/url-eval-validation

Observed classes:

  • The five fs/thread fixtures hit Perry's safety barrier against capturing module-scope heap objects from spawn/parallelMap.
  • http/exports/event-constructors fails because Perry does not export CloseEvent from node:http.
  • worker_threads/worker-lifecycle/url-eval-validation fails while parsing generated worker eval code with TS1109.

Crashes

15 timeouts at 10 seconds

  • node-suite/dns/resolver/cancel-active
  • node-suite/dns/resolver/cancel-idempotent
  • node-suite/http2/plaintext/response-body
  • node-suite/http2/plaintext/response-headers
  • node-suite/http2/session/goaway-opaque-data
  • node-suite/http2/stream/initial-state
  • node-suite/http2/stream/sent-headers
  • node-suite/http2/stream/trailer-surface
  • node-suite/https/request/string-url-overload
  • node-suite/https/request/url-object-overload
  • node-suite/https/request/url-options-merge
  • node-suite/net/connection/address-metadata
  • node-suite/net/method-values/server-async-dispose
  • node-suite/net/server/get-connections
  • node-suite/process/methods/kill

9 SIGSEGVs

  • node-suite/domain/domain-eventemitter-inheritance
  • node-suite/events/async-resource/basic
  • node-suite/events/emitter/instanceof
  • node-suite/net/exports/class-prototypes
  • node-suite/worker_threads/worker-lifecycle/constructor-rollback
  • node-suite/worker_threads/worker-lifecycle/filehandle-name-validation
  • node-suite/worker_threads/worker-lifecycle/option-validation-precedence
  • node-suite/worker_threads/worker-lifecycle/postmessage-url-rejection
  • node-suite/worker_threads/worker-lifecycle/workerdata-cycle

Baseline and gate observations

  1. run_parity_tests.sh exits successfully with 24 crashes and 7 compile failures because only the aggregate 80% threshold controls its final status.
  2. test-parity/known_failures.json has no node-suite/* entries, so its macOS audit classifies all 577 non-PASS results as new.
  3. The committed node_suite_baseline.json was generated with scripts/node_suite_run.py, while this run used the canonical run_parity_tests.sh harness. The runners do not currently share an identical execution contract, so floor/ceiling comparisons are only directional.
  4. Compared directionally with the committed baseline, PASS floors are lower for assert, cluster, dgram, domain, events, and http2; crash ceilings are exceeded for dns, http2, https, and net.

Full non-PASS inventory

All 577 non-PASS fixture IDs grouped by module and status

assert — 1 non-PASS (parity_fail=1)

  • parity_failnode-suite/assert/errors/strict-throws-validation

child_process — 2 non-PASS (parity_fail=2)

  • parity_failnode-suite/child_process/async/callback-ordering
  • parity_failnode-suite/child_process/sync/sync-options

cluster — 1 non-PASS (parity_fail=1)

  • parity_failnode-suite/cluster/exports/prototypes

dgram — 16 non-PASS (parity_fail=16)

  • parity_failnode-suite/dgram/api/export-shape
  • parity_failnode-suite/dgram/api/receiver-validation
  • parity_failnode-suite/dgram/api/socket-aliases
  • parity_failnode-suite/dgram/api/socket-class
  • parity_failnode-suite/dgram/api/socket-descriptors
  • parity_failnode-suite/dgram/connection/connect-sync
  • parity_failnode-suite/dgram/control/ttl-validation
  • parity_failnode-suite/dgram/lifecycle/bind-error-details
  • parity_failnode-suite/dgram/lifecycle/bind-state
  • parity_failnode-suite/dgram/lifecycle/bind-sync
  • parity_failnode-suite/dgram/lifecycle/closed-state
  • parity_failnode-suite/dgram/lifecycle/default-lookup
  • parity_failnode-suite/dgram/multicast-membership
  • parity_failnode-suite/dgram/send/callback-receiver
  • parity_failnode-suite/dgram/send/error-routing
  • parity_failnode-suite/dgram/validation/create-socket-advanced-options

dns — 26 non-PASS (crash=2, parity_fail=24)

  • parity_failnode-suite/dns/imports/descriptors
  • parity_failnode-suite/dns/imports/function-metadata
  • parity_failnode-suite/dns/lookup-service/port-coercion
  • parity_failnode-suite/dns/lookup-service/validation
  • parity_failnode-suite/dns/lookup/callback-validation
  • parity_failnode-suite/dns/lookup/falsy-hostname
  • parity_failnode-suite/dns/lookup/family-forms
  • parity_failnode-suite/dns/lookup/ip-literals-callback
  • parity_failnode-suite/dns/lookup/options-accessors
  • parity_failnode-suite/dns/lookup/options-validation
  • parity_failnode-suite/dns/lookup/promisify
  • parity_failnode-suite/dns/resolve/address-records
  • parity_failnode-suite/dns/resolve/errors
  • parity_failnode-suite/dns/resolve/reverse-validation
  • parity_failnode-suite/dns/resolve/rrtype-aliases
  • parity_failnode-suite/dns/resolve/structured-records
  • crashnode-suite/dns/resolver/cancel-active
  • crashnode-suite/dns/resolver/cancel-idempotent
  • parity_failnode-suite/dns/resolver/constructor-validation
  • parity_failnode-suite/dns/resolver/method-metadata
  • parity_failnode-suite/dns/resolver/prototype
  • parity_failnode-suite/dns/resolver/resolve-validation
  • parity_failnode-suite/dns/resolver/set-local-address
  • parity_failnode-suite/dns/settings/default-resolver-rebinding
  • parity_failnode-suite/dns/settings/servers-array-semantics
  • parity_failnode-suite/dns/settings/servers-normalization

domain — 35 non-PASS (crash=1, parity_fail=34)

  • parity_failnode-suite/domain/add-domain-cycle
  • parity_failnode-suite/domain/add-member
  • parity_failnode-suite/domain/add-plain-object
  • parity_failnode-suite/domain/add-transfers-domain
  • parity_failnode-suite/domain/bind-call-contract
  • parity_failnode-suite/domain/bind-error-metadata
  • parity_failnode-suite/domain/bind-properties
  • parity_failnode-suite/domain/create-state
  • parity_failnode-suite/domain/detached-receiver-validation
  • parity_failnode-suite/domain/domain-constructor-requires-new
  • crashnode-suite/domain/domain-eventemitter-inheritance
  • parity_failnode-suite/domain/emitter-event-context
  • parity_failnode-suite/domain/emitter-implicit-membership
  • parity_failnode-suite/domain/emitter-nested-restore
  • parity_failnode-suite/domain/enter-duplicate
  • parity_failnode-suite/domain/enter-exit-active
  • parity_failnode-suite/domain/eventemitter-using-domains
  • parity_failnode-suite/domain/eventtarget-membership
  • parity_failnode-suite/domain/export-aliases
  • parity_failnode-suite/domain/immediate-context
  • parity_failnode-suite/domain/intercept-call-contract
  • parity_failnode-suite/domain/intercept-non-error-first-argument
  • parity_failnode-suite/domain/intercept-properties
  • parity_failnode-suite/domain/members-descriptor
  • parity_failnode-suite/domain/members-live-array
  • parity_failnode-suite/domain/nexttick-context
  • parity_failnode-suite/domain/process-domain-descriptor
  • parity_failnode-suite/domain/promise-context
  • parity_failnode-suite/domain/promise-handler-domain
  • parity_failnode-suite/domain/prototype-surface
  • parity_failnode-suite/domain/remove-member
  • parity_failnode-suite/domain/remove-unlisted-member
  • parity_failnode-suite/domain/run-contract
  • parity_failnode-suite/domain/run-nested-restore
  • parity_failnode-suite/domain/timeout-context

events — 3 non-PASS (crash=2, parity_fail=1)

  • crashnode-suite/events/async-resource/basic
  • parity_failnode-suite/events/async-resource/validation
  • crashnode-suite/events/emitter/instanceof

fs — 6 non-PASS (compile_fail=5, parity_fail=1)

  • parity_failnode-suite/fs/imports/namespace-exports
  • compile_failnode-suite/fs/thread/threaded-fd-semantics-collision-captured
  • compile_failnode-suite/fs/thread/threaded-fd-semantics-collision-returned
  • compile_failnode-suite/fs/thread/threaded-fd-semantics-parallelmap-read
  • compile_failnode-suite/fs/thread/threaded-fd-semantics-spawn-captured
  • compile_failnode-suite/fs/thread/threaded-fd-semantics-worker-returned

globals — 4 non-PASS (parity_fail=4)

  • parity_failnode-suite/globals/class-expression-var-value
  • parity_failnode-suite/globals/native-module-default-export-keys
  • parity_failnode-suite/globals/proxy-generator-apply-this
  • parity_failnode-suite/globals/typedarray-own-properties

http — 30 non-PASS (compile_fail=1, parity_fail=29)

  • parity_failnode-suite/http/agent/defaults
  • parity_failnode-suite/http/agent/idle-pools-destroy
  • parity_failnode-suite/http/agent/keep-alive-reuse
  • parity_failnode-suite/http/agent/options
  • parity_failnode-suite/http/agent/validation
  • parity_failnode-suite/http/client-request/constructor-surface
  • parity_failnode-suite/http/client-request/flush-headers-state
  • parity_failnode-suite/http/client-request/header-operations
  • parity_failnode-suite/http/client-request/header-validation
  • parity_failnode-suite/http/exports/class-hierarchy
  • parity_failnode-suite/http/exports/descriptors
  • compile_failnode-suite/http/exports/event-constructors
  • parity_failnode-suite/http/incoming-message/constructor-defaults
  • parity_failnode-suite/http/incoming-message/response-metadata
  • parity_failnode-suite/http/request/agent-validation
  • parity_failnode-suite/http/request/callback-validation-order
  • parity_failnode-suite/http/request/method-validation
  • parity_failnode-suite/http/request/path-validation
  • parity_failnode-suite/http/request/signal-validation
  • parity_failnode-suite/http/request/url-validation
  • parity_failnode-suite/http/server-response/header-operations
  • parity_failnode-suite/http/server-response/informational-validation
  • parity_failnode-suite/http/server-response/set-headers
  • parity_failnode-suite/http/server-response/write-head-validation
  • parity_failnode-suite/http/server/close-not-running
  • parity_failnode-suite/http/server/construction
  • parity_failnode-suite/http/server/expectation-events
  • parity_failnode-suite/http/server/listen-close-lifecycle
  • parity_failnode-suite/http/server/options-validation
  • parity_failnode-suite/http/server/parser-options

http2 — 33 non-PASS (crash=6, parity_fail=27)

  • parity_failnode-suite/http2/connect/invalid-authority
  • parity_failnode-suite/http2/connect/unsupported-protocol
  • parity_failnode-suite/http2/exports/compat-descriptors
  • parity_failnode-suite/http2/exports/exact-module-keys
  • parity_failnode-suite/http2/exports/request-class
  • parity_failnode-suite/http2/exports/response-class
  • parity_failnode-suite/http2/headers/invalid-request-pseudoheader
  • parity_failnode-suite/http2/headers/sensitive-symbol
  • parity_failnode-suite/http2/plaintext/multiplex
  • crashnode-suite/http2/plaintext/response-body
  • crashnode-suite/http2/plaintext/response-headers
  • parity_failnode-suite/http2/server/create-overloads
  • parity_failnode-suite/http2/server/inheritance
  • parity_failnode-suite/http2/server/invalid-options
  • parity_failnode-suite/http2/server/invalid-settings-option
  • parity_failnode-suite/http2/session/aborted-request-signal
  • parity_failnode-suite/http2/session/class-names
  • parity_failnode-suite/http2/session/client-destroy-state
  • crashnode-suite/http2/session/goaway-opaque-data
  • parity_failnode-suite/http2/session/method-surface
  • parity_failnode-suite/http2/session/request-option-validation
  • parity_failnode-suite/http2/session/settings-callback
  • parity_failnode-suite/http2/settings/default-shape
  • parity_failnode-suite/http2/settings/invalid-numeric-values
  • parity_failnode-suite/http2/settings/numeric-boundaries
  • parity_failnode-suite/http2/settings/packed-custom
  • parity_failnode-suite/http2/settings/packed-header-alias
  • parity_failnode-suite/http2/settings/unpacked-custom
  • parity_failnode-suite/http2/settings/unpacked-validation
  • parity_failnode-suite/http2/stream/close-validation
  • crashnode-suite/http2/stream/initial-state
  • crashnode-suite/http2/stream/sent-headers
  • crashnode-suite/http2/stream/trailer-surface

https — 34 non-PASS (crash=3, parity_fail=31)

  • parity_failnode-suite/https/agent/create-connection-options
  • parity_failnode-suite/https/agent/create-connection-port-host-options
  • parity_failnode-suite/https/agent/create-connection-port-options
  • parity_failnode-suite/https/agent/default-state
  • parity_failnode-suite/https/agent/global-default-state
  • parity_failnode-suite/https/agent/options-state
  • parity_failnode-suite/https/agent/session-cache-defaults
  • parity_failnode-suite/https/agent/session-cache-disabled
  • parity_failnode-suite/https/agent/session-cache-eviction
  • parity_failnode-suite/https/agent/session-cache-update
  • parity_failnode-suite/https/agent/session-receiver-validation
  • parity_failnode-suite/https/classes/agent-inheritance
  • parity_failnode-suite/https/classes/agent-prototype
  • parity_failnode-suite/https/classes/server-inheritance
  • parity_failnode-suite/https/classes/server-prototype
  • parity_failnode-suite/https/exports/descriptors
  • parity_failnode-suite/https/exports/module-keys
  • parity_failnode-suite/https/request/agent-false
  • parity_failnode-suite/https/request/custom-agent
  • parity_failnode-suite/https/request/global-agent
  • parity_failnode-suite/https/request/protocol-validation
  • parity_failnode-suite/https/request/request-return
  • crashnode-suite/https/request/string-url-overload
  • parity_failnode-suite/https/request/transport-socket
  • crashnode-suite/https/request/url-object-overload
  • crashnode-suite/https/request/url-options-merge
  • parity_failnode-suite/https/server/construction-overloads
  • parity_failnode-suite/https/server/default-state
  • parity_failnode-suite/https/server/options-validation
  • parity_failnode-suite/https/tls/allow-untrusted-state
  • parity_failnode-suite/https/tls/alpn-http1
  • parity_failnode-suite/https/tls/explicit-ca-authorized
  • parity_failnode-suite/https/tls/hostname-mismatch
  • parity_failnode-suite/https/tls/reject-untrusted

module — 3 non-PASS (parity_fail=3)

  • parity_failnode-suite/module/commonjs/constructor-prototype
  • parity_failnode-suite/module/exports/builtin-modules
  • parity_failnode-suite/module/methods/sync-builtin-exports

net — 30 non-PASS (crash=4, parity_fail=26)

  • parity_failnode-suite/net/classes/block-list-ipv4
  • parity_failnode-suite/net/classes/block-list-json
  • parity_failnode-suite/net/classes/block-list-socket-address-inputs
  • parity_failnode-suite/net/classes/socket-address-defaults
  • parity_failnode-suite/net/classes/socket-address-validation
  • parity_failnode-suite/net/connection/abort-signal
  • crashnode-suite/net/connection/address-metadata
  • parity_failnode-suite/net/connection/backpressure
  • parity_failnode-suite/net/connection/bytes-counters
  • parity_failnode-suite/net/connection/connect-overloads
  • parity_failnode-suite/net/connection/cork-uncork
  • parity_failnode-suite/net/connection/data-roundtrip
  • parity_failnode-suite/net/connection/end-callback-order
  • parity_failnode-suite/net/connection/half-close
  • parity_failnode-suite/net/connection/state-transitions
  • parity_failnode-suite/net/exports/bound-socket
  • crashnode-suite/net/exports/class-prototypes
  • parity_failnode-suite/net/exports/descriptors-and-aliases
  • crashnode-suite/net/method-values/server-async-dispose
  • crashnode-suite/net/server/get-connections
  • parity_failnode-suite/net/server/listen-overloads
  • parity_failnode-suite/net/server/pause-on-connect
  • parity_failnode-suite/net/socket/chainable-controls
  • parity_failnode-suite/net/socket/destroy-and-reset
  • parity_failnode-suite/net/socket/initial-state
  • parity_failnode-suite/net/validation/connect-missing-arguments
  • parity_failnode-suite/net/validation/connect-options
  • parity_failnode-suite/net/validation/listen-options
  • parity_failnode-suite/net/validation/receiver-validation
  • parity_failnode-suite/net/validation/socket-constructor-options

object — 2 non-PASS (parity_fail=2)

  • parity_failnode-suite/object/class-expr-capture-refresh-edge
  • parity_failnode-suite/object/primitive-wrapper-toobject

perf_hooks — 2 non-PASS (parity_fail=2)

  • parity_failnode-suite/perf_hooks/histogram/illegal-constructor
  • parity_failnode-suite/perf_hooks/shapes/receiver-branding

process — 1 non-PASS (crash=1)

  • crashnode-suite/process/methods/kill

readline — 71 non-PASS (parity_fail=71)

  • parity_failnode-suite/readline/async-iterator/break-closes
  • parity_failnode-suite/readline/async-iterator/done
  • parity_failnode-suite/readline/async-iterator/input-error
  • parity_failnode-suite/readline/async-iterator/nested
  • parity_failnode-suite/readline/async-iterator/values
  • parity_failnode-suite/readline/completer/promises-async
  • parity_failnode-suite/readline/completer/promises-error
  • parity_failnode-suite/readline/completer/promises-sync
  • parity_failnode-suite/readline/completer/undefined-columns
  • parity_failnode-suite/readline/create-interface/crlf-delay
  • parity_failnode-suite/readline/create-interface/defaults
  • parity_failnode-suite/readline/create-interface/positional-overload
  • parity_failnode-suite/readline/create-interface/pre-aborted-signal
  • parity_failnode-suite/readline/create-interface/terminal-inference
  • parity_failnode-suite/readline/exports/classic-surface
  • parity_failnode-suite/readline/exports/interface-callable
  • parity_failnode-suite/readline/exports/interface-class-name
  • parity_failnode-suite/readline/exports/interface-constructor-descriptor
  • parity_failnode-suite/readline/exports/interface-instance-constructor
  • parity_failnode-suite/readline/exports/interface-legacy-aliases
  • parity_failnode-suite/readline/exports/interface-prototype-identity
  • parity_failnode-suite/readline/exports/interface-symbols
  • parity_failnode-suite/readline/exports/promises-surface
  • parity_failnode-suite/readline/helpers/clear-line-callback-validation
  • parity_failnode-suite/readline/helpers/clear-line-null-output
  • parity_failnode-suite/readline/helpers/clear-screen-callback-validation
  • parity_failnode-suite/readline/helpers/clear-screen-null-output
  • parity_failnode-suite/readline/helpers/cursor-to-null-output
  • parity_failnode-suite/readline/helpers/cursor-to-overloads
  • parity_failnode-suite/readline/helpers/cursor-to-validation
  • parity_failnode-suite/readline/helpers/move-cursor-callback-validation
  • parity_failnode-suite/readline/helpers/move-cursor-null-output
  • parity_failnode-suite/readline/history/event-newest-first
  • parity_failnode-suite/readline/history/history-size
  • parity_failnode-suite/readline/history/listener-mutation
  • parity_failnode-suite/readline/history/remove-duplicates
  • parity_failnode-suite/readline/keypress/csi-chunk-boundary
  • parity_failnode-suite/readline/keypress/fixed-csi
  • parity_failnode-suite/readline/keypress/fixed-modifiers
  • parity_failnode-suite/readline/lifecycle/close-idempotent
  • parity_failnode-suite/readline/lifecycle/cursor-position-width
  • parity_failnode-suite/readline/lifecycle/cursor-position
  • parity_failnode-suite/readline/lifecycle/pause-resume-after-close
  • parity_failnode-suite/readline/lifecycle/pause-resume-order
  • parity_failnode-suite/readline/lifecycle/write-after-close
  • parity_failnode-suite/readline/lifecycle/write-undefined
  • parity_failnode-suite/readline/lifecycle/write-while-paused
  • parity_failnode-suite/readline/promises/question-abort-cause
  • parity_failnode-suite/readline/promises/question-abort-recovery
  • parity_failnode-suite/readline/promises/question-after-close
  • parity_failnode-suite/readline/promises/readline-action-validation
  • parity_failnode-suite/readline/promises/readline-commit-error
  • parity_failnode-suite/readline/promises/readline-constructor-validation
  • parity_failnode-suite/readline/question/abort-recovery
  • parity_failnode-suite/readline/question/after-close
  • parity_failnode-suite/readline/question/callback-receiver
  • parity_failnode-suite/readline/question/concurrent
  • parity_failnode-suite/readline/question/pre-aborted
  • parity_failnode-suite/readline/streams/carriage-return
  • parity_failnode-suite/readline/streams/crlf-chunk-boundary
  • parity_failnode-suite/readline/streams/input-error-event
  • parity_failnode-suite/readline/streams/reopen-utf8-boundary
  • parity_failnode-suite/readline/streams/unicode-separators
  • parity_failnode-suite/readline/streams/unterminated-final-line
  • parity_failnode-suite/readline/streams/utf8-chunks
  • parity_failnode-suite/readline/validation/completer
  • parity_failnode-suite/readline/validation/escape-code-timeout
  • parity_failnode-suite/readline/validation/history-size
  • parity_failnode-suite/readline/validation/history
  • parity_failnode-suite/readline/validation/signal
  • parity_failnode-suite/readline/validation/tab-size

repl — 57 non-PASS (parity_fail=57)

  • parity_failnode-suite/repl/classes/recoverable-prototype
  • parity_failnode-suite/repl/classes/repl-server-inheritance
  • parity_failnode-suite/repl/classes/repl-server-prototype
  • parity_failnode-suite/repl/commands/break-command
  • parity_failnode-suite/repl/commands/builtin-commands
  • parity_failnode-suite/repl/commands/clear-buffered-command
  • parity_failnode-suite/repl/commands/define-function
  • parity_failnode-suite/repl/commands/define-object
  • parity_failnode-suite/repl/commands/define-validation
  • parity_failnode-suite/repl/completion/builtin-module
  • parity_failnode-suite/repl/completion/context-property
  • parity_failnode-suite/repl/completion/custom-completer-receiver
  • parity_failnode-suite/repl/completion/global-name
  • parity_failnode-suite/repl/context/context-bindings
  • parity_failnode-suite/repl/context/create-context
  • parity_failnode-suite/repl/context/isolated-context
  • parity_failnode-suite/repl/context/reset-context
  • parity_failnode-suite/repl/context/reset-event
  • parity_failnode-suite/repl/context/underscore-descriptors
  • parity_failnode-suite/repl/context/use-global
  • parity_failnode-suite/repl/eval/custom-callback-shape
  • parity_failnode-suite/repl/eval/direct-context
  • parity_failnode-suite/repl/eval/direct-success
  • parity_failnode-suite/repl/eval/recoverable-syntax
  • parity_failnode-suite/repl/eval/sloppy-mode
  • parity_failnode-suite/repl/eval/syntax-error
  • parity_failnode-suite/repl/eval/top-level-await
  • parity_failnode-suite/repl/exports/builtin-module-aliases
  • parity_failnode-suite/repl/exports/builtin-modules-descriptors
  • parity_failnode-suite/repl/exports/callable-metadata
  • parity_failnode-suite/repl/exports/export-descriptors
  • parity_failnode-suite/repl/exports/is-valid-syntax
  • parity_failnode-suite/repl/exports/mode-symbols
  • parity_failnode-suite/repl/exports/named-default-aliases
  • parity_failnode-suite/repl/exports/public-keys
  • parity_failnode-suite/repl/history/setup-history-isolated
  • parity_failnode-suite/repl/history/setup-history-options
  • parity_failnode-suite/repl/history/setup-history-validation
  • parity_failnode-suite/repl/lifecycle/close-event
  • parity_failnode-suite/repl/lifecycle/emit-result
  • parity_failnode-suite/repl/lifecycle/exit-close-order
  • parity_failnode-suite/repl/output/custom-writer-result
  • parity_failnode-suite/repl/output/default-writer-colors
  • parity_failnode-suite/repl/output/set-prompt
  • parity_failnode-suite/repl/output/writer-options
  • parity_failnode-suite/repl/start/custom-completer
  • parity_failnode-suite/repl/start/custom-eval
  • parity_failnode-suite/repl/start/custom-writer
  • parity_failnode-suite/repl/start/default-properties
  • parity_failnode-suite/repl/start/domain-option-validation
  • parity_failnode-suite/repl/start/eval-sigint-validation
  • parity_failnode-suite/repl/start/explicit-properties
  • parity_failnode-suite/repl/start/legacy-overload
  • parity_failnode-suite/repl/start/stream-alias-descriptors
  • parity_failnode-suite/repl/start/stream-alias-setters
  • parity_failnode-suite/repl/start/stream-aliases
  • parity_failnode-suite/repl/start/stream-option

sqlite — 1 non-PASS (parity_fail=1)

  • parity_failnode-suite/sqlite/statements/iterate

stream — 1 non-PASS (parity_fail=1)

  • parity_failnode-suite/stream/finished/callback

test — 4 non-PASS (parity_fail=4)

  • parity_failnode-suite/test/mock-fn/prototype-method
  • parity_failnode-suite/test/mock-timers/validation
  • parity_failnode-suite/test/reporters/directives
  • parity_failnode-suite/test/reporters/nested

tls — 1 non-PASS (parity_fail=1)

  • parity_failnode-suite/tls/context/server-context-rotation

trace_events — 2 non-PASS (parity_fail=2)

  • parity_failnode-suite/trace_events/native-output/category-filtering
  • parity_failnode-suite/trace_events/surface/module-descriptors

util — 1 non-PASS (parity_fail=1)

  • parity_failnode-suite/util/mime/constructors-and-params

v8 — 28 non-PASS (parity_fail=28)

  • parity_failnode-suite/v8/classes/constructor-validation
  • parity_failnode-suite/v8/classes/instances-inheritance
  • parity_failnode-suite/v8/classes/prototypes
  • parity_failnode-suite/v8/exports/descriptors
  • parity_failnode-suite/v8/exports/import-identity
  • parity_failnode-suite/v8/exports/public-surface
  • parity_failnode-suite/v8/gc-profiler/dispose
  • parity_failnode-suite/v8/heap-statistics/cpp-shape
  • parity_failnode-suite/v8/promise-hooks/completion-order
  • parity_failnode-suite/v8/promise-hooks/lifecycle-order
  • parity_failnode-suite/v8/promise-hooks/surface
  • parity_failnode-suite/v8/promise-hooks/validation
  • parity_failnode-suite/v8/serialize/buffers-views
  • parity_failnode-suite/v8/serialize/corrupt-input
  • parity_failnode-suite/v8/serialize/float16-array
  • parity_failnode-suite/v8/serialize/invalid-input
  • parity_failnode-suite/v8/serialize/invalid-values
  • parity_failnode-suite/v8/serialize/objects-collections
  • parity_failnode-suite/v8/serialize/typed-arrays
  • parity_failnode-suite/v8/serializer/header-values
  • parity_failnode-suite/v8/serializer/raw-primitives
  • parity_failnode-suite/v8/serializer/raw-views
  • parity_failnode-suite/v8/serializer/release-reuse
  • parity_failnode-suite/v8/serializer/transfer-array-buffer
  • parity_failnode-suite/v8/serializer/validation
  • parity_failnode-suite/v8/serializer/wire-version
  • parity_failnode-suite/v8/strings/one-byte
  • parity_failnode-suite/v8/version-tag/flags-isolated

worker_threads — 152 non-PASS (compile_fail=1, crash=5, parity_fail=146)

  • parity_failnode-suite/worker_threads/broadcast-channel/constructor-and-name
  • parity_failnode-suite/worker_threads/broadcast-channel/constructor-coercion-edges
  • parity_failnode-suite/worker_threads/broadcast-channel/custom-inspect
  • parity_failnode-suite/worker_threads/broadcast-channel/messageevent-metadata
  • parity_failnode-suite/worker_threads/broadcast-channel/method-receivers
  • parity_failnode-suite/worker_threads/broadcast-channel/onmessage-replacement
  • parity_failnode-suite/worker_threads/broadcast-channel/post-message-missing
  • parity_failnode-suite/worker_threads/broadcast-channel/shared-array-buffer
  • parity_failnode-suite/worker_threads/direct-message/handler-error
  • parity_failnode-suite/worker_threads/direct-message/transferables
  • parity_failnode-suite/worker_threads/direct-message/validation
  • parity_failnode-suite/worker_threads/environment-data/builtin-snapshot
  • parity_failnode-suite/worker_threads/environment-data/graph-snapshot
  • parity_failnode-suite/worker_threads/environment-data/nested-inheritance
  • parity_failnode-suite/worker_threads/environment-data/uncloneable-construction
  • parity_failnode-suite/worker_threads/environment-data/worker-snapshot
  • parity_failnode-suite/worker_threads/main-thread/export-surface
  • parity_failnode-suite/worker_threads/main-thread/process-worker-event-late-emit
  • parity_failnode-suite/worker_threads/main-thread/process-worker-event
  • parity_failnode-suite/worker_threads/main-thread/prototype-surface
  • parity_failnode-suite/worker_threads/message-channel/constructor-call-rules
  • parity_failnode-suite/worker_threads/message-channel/constructor-options
  • parity_failnode-suite/worker_threads/message-channel/move-closed-validation
  • parity_failnode-suite/worker_threads/message-channel/move-context-filehandle-error
  • parity_failnode-suite/worker_threads/message-channel/move-context-realm-brand
  • parity_failnode-suite/worker_threads/message-channel/move-message-port-to-context
  • parity_failnode-suite/worker_threads/message-port/close-callback-idempotent
  • parity_failnode-suite/worker_threads/message-port/close-callback-order
  • parity_failnode-suite/worker_threads/message-port/close-dispatch-flush
  • parity_failnode-suite/worker_threads/message-port/close-ordering
  • parity_failnode-suite/worker_threads/message-port/closed-transfer-error-brand
  • parity_failnode-suite/worker_threads/message-port/custom-event-emit
  • parity_failnode-suite/worker_threads/message-port/custom-inspect-ref-state
  • parity_failnode-suite/worker_threads/message-port/duplicate-transfer
  • parity_failnode-suite/worker_threads/message-port/event-ports
  • parity_failnode-suite/worker_threads/message-port/frozen-eventtarget-prototype
  • parity_failnode-suite/worker_threads/message-port/listener-validation
  • parity_failnode-suite/worker_threads/message-port/listeners-while-closing
  • parity_failnode-suite/worker_threads/message-port/max-listeners-remove-all
  • parity_failnode-suite/worker_threads/message-port/messageevent-constructor
  • parity_failnode-suite/worker_threads/message-port/messageevent-defaults-coercion
  • parity_failnode-suite/worker_threads/message-port/messageevent-iterables
  • parity_failnode-suite/worker_threads/message-port/method-receivers
  • parity_failnode-suite/worker_threads/message-port/node-event-target-surface
  • parity_failnode-suite/worker_threads/message-port/once-registry-after-fire
  • parity_failnode-suite/worker_threads/message-port/onmessage-event
  • parity_failnode-suite/worker_threads/message-port/post-message-missing
  • parity_failnode-suite/worker_threads/message-port/post-message-validation
  • parity_failnode-suite/worker_threads/message-port/prototype-own-surface
  • parity_failnode-suite/worker_threads/message-port/queued-before-peer-close
  • parity_failnode-suite/worker_threads/message-port/receive-after-start
  • parity_failnode-suite/worker_threads/message-port/receive-fifo-validation
  • parity_failnode-suite/worker_threads/message-port/self-and-closed-transfer
  • parity_failnode-suite/worker_threads/message-port/tampered-listener-registry
  • parity_failnode-suite/worker_threads/message-port/transfer-during-close-flush
  • parity_failnode-suite/worker_threads/message-port/transfer-iterables
  • parity_failnode-suite/worker_threads/message-port/transfer-iterator-error
  • parity_failnode-suite/worker_threads/message-port/transfer-iterator-shapes
  • parity_failnode-suite/worker_threads/message-port/transfer-options
  • parity_failnode-suite/worker_threads/message-port/transfer-state-validation
  • parity_failnode-suite/worker_threads/message-port/transfer-target
  • parity_failnode-suite/worker_threads/message-port/unread-transferred-port-close
  • parity_failnode-suite/worker_threads/structured-clone/arraybuffer-clone
  • parity_failnode-suite/worker_threads/structured-clone/arraybuffer-transfer
  • parity_failnode-suite/worker_threads/structured-clone/builtin-types
  • parity_failnode-suite/worker_threads/structured-clone/cycles-and-aliases
  • parity_failnode-suite/worker_threads/structured-clone/detached-retransfer
  • parity_failnode-suite/worker_threads/structured-clone/filehandle-transfer
  • parity_failnode-suite/worker_threads/structured-clone/message-port-transfer
  • parity_failnode-suite/worker_threads/structured-clone/multiple-shared-arraybuffers
  • parity_failnode-suite/worker_threads/structured-clone/multiple-views-transfer
  • parity_failnode-suite/worker_threads/structured-clone/shared-array-buffer
  • parity_failnode-suite/worker_threads/structured-clone/transfer-rollback
  • parity_failnode-suite/worker_threads/structured-clone/transfer-validation
  • parity_failnode-suite/worker_threads/structured-clone/url-rejection
  • parity_failnode-suite/worker_threads/transfer-markers/marker-privacy
  • parity_failnode-suite/worker_threads/transfer-markers/marker-semantics
  • parity_failnode-suite/worker_threads/transfer-markers/uncloneable-port-transfer
  • parity_failnode-suite/worker_threads/transfer-markers/untransferable-transfer
  • parity_failnode-suite/worker_threads/web-locks/web-locks-callback-settlement
  • parity_failnode-suite/worker_threads/worker-file/options-diagnostics
  • parity_failnode-suite/worker_threads/worker-lifecycle/argv-base
  • parity_failnode-suite/worker_threads/worker-lifecycle/argv-options
  • parity_failnode-suite/worker_threads/worker-lifecycle/async-dispose
  • parity_failnode-suite/worker_threads/worker-lifecycle/captured-output
  • crashnode-suite/worker_threads/worker-lifecycle/constructor-rollback
  • parity_failnode-suite/worker_threads/worker-lifecycle/constructor-validation
  • parity_failnode-suite/worker_threads/worker-lifecycle/data-and-environment
  • parity_failnode-suite/worker_threads/worker-lifecycle/env-isolation
  • parity_failnode-suite/worker_threads/worker-lifecycle/env-options
  • parity_failnode-suite/worker_threads/worker-lifecycle/error-ordering
  • parity_failnode-suite/worker_threads/worker-lifecycle/eval-error
  • parity_failnode-suite/worker_threads/worker-lifecycle/eval-stack-getter-error
  • parity_failnode-suite/worker_threads/worker-lifecycle/eval-syntax-error
  • parity_failnode-suite/worker_threads/worker-lifecycle/eval-unserializable-error
  • parity_failnode-suite/worker_threads/worker-lifecycle/eventemitter-listeners
  • parity_failnode-suite/worker_threads/worker-lifecycle/execargv-options
  • parity_failnode-suite/worker_threads/worker-lifecycle/exit-code-explicit
  • parity_failnode-suite/worker_threads/worker-lifecycle/exit-code-property
  • parity_failnode-suite/worker_threads/worker-lifecycle/exit-listener-error
  • parity_failnode-suite/worker_threads/worker-lifecycle/exit-unreachable-code
  • parity_failnode-suite/worker_threads/worker-lifecycle/file-url-unicode
  • parity_failnode-suite/worker_threads/worker-lifecycle/filehandle-construction-rollback
  • parity_failnode-suite/worker_threads/worker-lifecycle/filehandle-map-set
  • crashnode-suite/worker_threads/worker-lifecycle/filehandle-name-validation
  • parity_failnode-suite/worker_threads/worker-lifecycle/filehandle-orphan-rollback
  • parity_failnode-suite/worker_threads/worker-lifecycle/filehandle-orphan-transfer
  • parity_failnode-suite/worker_threads/worker-lifecycle/filehandle-workerdata-alias
  • parity_failnode-suite/worker_threads/worker-lifecycle/filename-validation
  • parity_failnode-suite/worker_threads/worker-lifecycle/global-postmessage-override
  • parity_failnode-suite/worker_threads/worker-lifecycle/inheritance-brands
  • parity_failnode-suite/worker_threads/worker-lifecycle/listener-validation
  • parity_failnode-suite/worker_threads/worker-lifecycle/multiple-worker-ids
  • parity_failnode-suite/worker_threads/worker-lifecycle/natural-exit-terminate
  • parity_failnode-suite/worker_threads/worker-lifecycle/node-options-env-validation
  • crashnode-suite/worker_threads/worker-lifecycle/option-validation-precedence
  • parity_failnode-suite/worker_threads/worker-lifecycle/parent-port-onmessage
  • parity_failnode-suite/worker_threads/worker-lifecycle/parent-port-ref
  • parity_failnode-suite/worker_threads/worker-lifecycle/post-exit-diagnostics
  • parity_failnode-suite/worker_threads/worker-lifecycle/post-exit-safe-methods
  • parity_failnode-suite/worker_threads/worker-lifecycle/post-message-transfer
  • parity_failnode-suite/worker_threads/worker-lifecycle/postmessage-errors
  • parity_failnode-suite/worker_threads/worker-lifecycle/postmessage-missing
  • parity_failnode-suite/worker_threads/worker-lifecycle/postmessage-shared-array-buffer
  • crashnode-suite/worker_threads/worker-lifecycle/postmessage-url-rejection
  • parity_failnode-suite/worker_threads/worker-lifecycle/process-env-descriptors
  • parity_failnode-suite/worker_threads/worker-lifecycle/process-unsupported
  • parity_failnode-suite/worker_threads/worker-lifecycle/queued-port-receive
  • parity_failnode-suite/worker_threads/worker-lifecycle/resource-limits-metadata
  • parity_failnode-suite/worker_threads/worker-lifecycle/share-env-founder
  • parity_failnode-suite/worker_threads/worker-lifecycle/share-env-tree
  • parity_failnode-suite/worker_threads/worker-lifecycle/share-env
  • parity_failnode-suite/worker_threads/worker-lifecycle/terminate-idempotent
  • parity_failnode-suite/worker_threads/worker-lifecycle/thread-metadata
  • parity_failnode-suite/worker_threads/worker-lifecycle/thread-name-defaults
  • parity_failnode-suite/worker_threads/worker-lifecycle/unreferenced-arraybuffer-transfer
  • parity_failnode-suite/worker_threads/worker-lifecycle/unsupported-paths
  • compile_failnode-suite/worker_threads/worker-lifecycle/url-eval-validation
  • parity_failnode-suite/worker_threads/worker-lifecycle/worker-created-buffers-after-exit
  • parity_failnode-suite/worker_threads/worker-lifecycle/worker-created-port-after-exit
  • parity_failnode-suite/worker_threads/worker-lifecycle/worker-eventemitter-surface
  • parity_failnode-suite/worker_threads/worker-lifecycle/workerdata-alias-view
  • parity_failnode-suite/worker_threads/worker-lifecycle/workerdata-builtins
  • crashnode-suite/worker_threads/worker-lifecycle/workerdata-cycle
  • parity_failnode-suite/worker_threads/worker-lifecycle/workerdata-defaults
  • parity_failnode-suite/worker_threads/worker-lifecycle/workerdata-multiple-ports
  • parity_failnode-suite/worker_threads/worker-lifecycle/workerdata-port-alias
  • parity_failnode-suite/worker_threads/worker-lifecycle/workerdata-port-map
  • parity_failnode-suite/worker_threads/worker-lifecycle/workerdata-port-set
  • parity_failnode-suite/worker_threads/worker-lifecycle/workerdata-port-surface
  • parity_failnode-suite/worker_threads/worker-lifecycle/workerdata-port-transfer
  • parity_failnode-suite/worker_threads/worker-lifecycle/workerdata-shared-array-buffer

zlib — 30 non-PASS (parity_fail=30)

  • parity_failnode-suite/zlib/async/error-callback-shape
  • parity_failnode-suite/zlib/async/options-overload-and-callback
  • parity_failnode-suite/zlib/constants/immutability
  • parity_failnode-suite/zlib/convenience/constructors
  • parity_failnode-suite/zlib/convenience/factory-instances
  • parity_failnode-suite/zlib/convenience/info-result
  • parity_failnode-suite/zlib/convenience/prototype-chains
  • parity_failnode-suite/zlib/crc32/seed-validation
  • parity_failnode-suite/zlib/dictionary/brotli-roundtrip
  • parity_failnode-suite/zlib/dictionary/deflate-roundtrip
  • parity_failnode-suite/zlib/dictionary/invalid-type
  • parity_failnode-suite/zlib/dictionary/source-types
  • parity_failnode-suite/zlib/dictionary/stream-application
  • parity_failnode-suite/zlib/dictionary/zstd-roundtrip
  • parity_failnode-suite/zlib/gzip/trailing-null-bytes
  • parity_failnode-suite/zlib/imports/legacy-constant-aliases
  • parity_failnode-suite/zlib/options/chunk-size-validation
  • parity_failnode-suite/zlib/options/flush-validation
  • parity_failnode-suite/zlib/options/max-output-length
  • parity_failnode-suite/zlib/options/validation-order
  • parity_failnode-suite/zlib/options/window-bits-zero
  • parity_failnode-suite/zlib/streams/bytes-written-trailing
  • parity_failnode-suite/zlib/streams/close-state
  • parity_failnode-suite/zlib/streams/error-close
  • parity_failnode-suite/zlib/streams/flush-order
  • parity_failnode-suite/zlib/streams/instance-methods-and-bytes
  • parity_failnode-suite/zlib/unzip/one-byte-members
  • parity_failnode-suite/zlib/validation/one-shot-buffer-sources
  • parity_failnode-suite/zlib/validation/reject-trailing-garbage
  • parity_failnode-suite/zlib/validation/truncated-finish-flush

Suggested triage order

  1. Treat SIGSEGVs, timeouts, and compile failures as hard gate failures independent of aggregate parity.
  2. Triage shared runtime classes before individual fixtures: worker_threads lifecycle/transfer, async network lifecycle, and EventEmitter/domain prototype identity.
  3. Generate the committed node-suite baseline with the same canonical harness and pinned Node version used by the gate.
  4. Split confirmed causal clusters into implementation issues, keeping this issue as the reproducible full-suite baseline.

Anything else

This is distinct from the top-level test-files/*.ts parity audit in #8271. This report covers only the complete test-parity/node-suite/**/*.ts corpus selected by --suite node-suite.

Activity

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

    bugConfirmed defect or regressionparityCompatibility gap with Node.js, ECMAScript, or the supported ecosystemtoolingDeveloper tooling, CI, tests, or release infrastructure

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions