test_gap_net_connect_bound_value fails intermittently (~50–60% of runs) on main-gate sweeps: Perry exits 1 after printing only the first output line — the uncaught throw happens between console.log("connect:", typeof net.connect) and console.log("createConnection:", typeof net.createConnection), i.e. in the native-module namespace property-read path, before any socket/pump activity.
Evidence:
Intermittent = an unrooted register/window per the rooting playbook; hunt with the seeded instruments (PERRY_GC_SCHEDULE_RATE=1 PERRY_GC_SCHEDULE_SEED=N PERRY_GC_PROTECT_FROMSPACE=1) on this one test — the protect arm should turn the flake into a deterministic fault at the real site.
test_gap_net_connect_bound_valuefails intermittently (~50–60% of runs) onmain-gatesweeps: Perry exits 1 after printing only the first output line — the uncaught throw happens betweenconsole.log("connect:", typeof net.connect)andconsole.log("createConnection:", typeof net.createConnection), i.e. in the native-module namespace property-read path, before any socket/pump activity.Evidence:
92f036a7b: red 07:03, green 07:25, red 09:17;d1d992966: 4/5 red) → a collection-window bug, not deterministic state.7cadb938e) — the introduction window is anything ≤08-18, sweeps simply didn't run before.js_ext_net_drain_pending's dispatch arms andscan_net_roots; the crash site executes before any listener registration or pump tick.netviacreateRequire).Intermittent = an unrooted register/window per the rooting playbook; hunt with the seeded instruments (
PERRY_GC_SCHEDULE_RATE=1 PERRY_GC_SCHEDULE_SEED=N PERRY_GC_PROTECT_FROMSPACE=1) on this one test — the protect arm should turn the flake into a deterministic fault at the real site.