Commit 4cd4701f69c for nodejs

commit 4cd4701f69c010dad0f4c48bc342a0abf7e92fe5
Author: Filip Skokan <panva.ip@gmail.com>
Date:   Thu Sep 24 09:39:04 2026 +0200

    test: deflake inspector async hook setup

    Async hook activation can be deferred when the inspector command arrives
    during a V8 interrupt. Schedule timeout creation with setImmediate so
    the event loop finishes enabling the hooks before recording its async
    stack.

    Signed-off-by: Filip Skokan <panva.ip@gmail.com>
    Assisted-by: Codex
    PR-URL: https://github.com/nodejs/node/pull/66255
    Reviewed-By: Aviv Keller <me@aviv.sh>
    Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>

diff --git a/test/parallel/test-inspector-async-hook-setup-at-signal.js b/test/parallel/test-inspector-async-hook-setup-at-signal.js
index 64a3835e415..88d8dfb26a5 100644
--- a/test/parallel/test-inspector-async-hook-setup-at-signal.js
+++ b/test/parallel/test-inspector-async-hook-setup-at-signal.js
@@ -33,7 +33,6 @@ function waitUntilDebugged() {

 // This function is called by the inspector client (session)
 function setupTimeoutWithBreak() {
-  clearInterval(waiting);
   process._rawDebug('Debugger ready, setting up timeout with a break');
   setTimeout(() => { debugger; }, 50);
 }
@@ -46,16 +45,20 @@ async function waitForInitialSetup(session) {

 async function setupTimeoutForStackTrace(session) {
   console.error('[test]', 'Setting up timeout for async stack trace');
+  // Async hook setup is deferred when requested from a V8 interrupt. Let the
+  // event loop finish that setup before creating the timeout whose stack we test.
   await session.send([
     { 'method': 'Runtime.evaluate',
-      'params': { expression: 'setupTimeoutWithBreak()' } },
+      'params': {
+        expression: 'clearInterval(waiting); setImmediate(setupTimeoutWithBreak)',
+      } },
     { 'method': 'Debugger.resume' },
   ]);
 }

 async function checkAsyncStackTrace(session) {
   console.error('[test]', 'Verify basic properties of asyncStackTrace');
-  const paused = await session.waitForBreakOnLine(23, '[eval]');
+  const paused = await session.waitForBreakOnLine(22, '[eval]');
   assert(paused.params.asyncStackTrace,
          `${Object.keys(paused.params)} contains "asyncStackTrace" property`);
   assert(paused.params.asyncStackTrace.description, 'Timeout');