From 7360fadff47942377674040c4f74bba8e0d9cdaf Mon Sep 17 00:00:00 2001 From: Kirill Saied Date: Thu, 9 Jul 2026 13:24:20 +0200 Subject: [PATCH 1/2] test: unmark flaky http2-large-file for Win MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Kirill Saied PR-URL: https://github.com/nodejs/node/pull/64255 Reviewed-By: Luigi Pinca Reviewed-By: James M Snell Reviewed-By: Ulises Gascón --- test/sequential/sequential.status | 4 ---- 1 file changed, 4 deletions(-) diff --git a/test/sequential/sequential.status b/test/sequential/sequential.status index 627e61911d15ca..01a021130c15ca 100644 --- a/test/sequential/sequential.status +++ b/test/sequential/sequential.status @@ -13,10 +13,6 @@ test-watch-mode-inspect: PASS, FLAKY # https://github.com/nodejs/node/issues/47409 test-http2-large-file: PASS, FLAKY -[$system==win32] -# https://github.com/nodejs/node/issues/47409 -test-http2-large-file: PASS, FLAKY - [$system==linux] # https://github.com/nodejs/node/issues/54817 test-http-server-request-timeouts-mixed: PASS, FLAKY From 8fec65d87731c86711bc930a78c612a4ae70b16b Mon Sep 17 00:00:00 2001 From: Joyee Cheung Date: Thu, 9 Jul 2026 13:24:31 +0200 Subject: [PATCH 2/2] test: normalize Windows crash in debugger test normalization The inspector can crash on teardown when the debuggee exits quickly, previously we ignored it for debugger tests as that's likely an upstream issue unrelated to Node.js's own debugger utilities, but the detection only matches patternsf on UNIX-y platforms. On Windows this manifests as exit code 3221225477 (0xC0000005 STATUS_ACCESS_VIOLATION) instead of SIGSEGV. Extend the helper to recognize and normalize both variants. Signed-off-by: Joyee Cheung PR-URL: https://github.com/nodejs/node/pull/64332 Reviewed-By: Stefan Stojanovic Reviewed-By: Matteo Collina Reviewed-By: Filip Skokan Reviewed-By: Luigi Pinca --- test/common/debugger-probe.js | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/test/common/debugger-probe.js b/test/common/debugger-probe.js index 58ecfc24055dad..b8302de36957c9 100644 --- a/test/common/debugger-probe.js +++ b/test/common/debugger-probe.js @@ -4,25 +4,33 @@ const assert = require('assert'); const { spawnSyncAndExit } = require('./child_process'); // Work around a pre-existing inspector issue: if the debuggee exits too quickly -// the inspector can segfault while tearing down. For now normalize the segfault +// the inspector can crash while tearing down. For now normalize the crash // back to the expected terminal event (e.g. "completed" or "miss") // until the upstream bug is fixed. // See https://github.com/nodejs/node/issues/62765 // https://github.com/nodejs/node/issues/58245 +// The crash shows up as with exit code 3221225477 on Windows, or signal +// SIGSEGV on other platforms. const probeTargetExitSignal = 'SIGSEGV'; +// 0xC0000005 STATUS_ACCESS_VIOLATION on Windows +const probeTargetExitCode = 3221225477; function isProbeSegvTeardown(result) { if (result?.event !== 'error') { return false; } const error = result.error; - if (error?.signal !== probeTargetExitSignal) { return false; } + if (error?.signal !== probeTargetExitSignal && error?.exitCode !== probeTargetExitCode) { return false; } return error.code === 'probe_target_exit' || error.code === 'probe_failure'; } function findProbeSegvTeardownLine(output) { const signalPrefix = `Target exited with signal ${probeTargetExitSignal}`; - if (output.startsWith(signalPrefix)) { return 0; } - const idx = output.indexOf(`\n${signalPrefix}`); - return idx === -1 ? -1 : idx + 1; + const codePrefix = `Target exited with code ${probeTargetExitCode}`; + for (const prefix of [signalPrefix, codePrefix]) { + if (output.startsWith(prefix)) { return 0; } + const idx = output.indexOf(`\n${prefix}`); + if (idx !== -1) { return idx + 1; } + } + return -1; } // Replace volatile fields in a probe report (stack frames, Node.js version,