From fc9c9025530284292b29b7079d863fd1f6b94f86 Mon Sep 17 00:00:00 2001 From: Antoine du Hamel Date: Sat, 9 May 2026 14:51:12 +0200 Subject: [PATCH 1/2] test: reduce flakiness of `different-registry-per-thread` There was an assumption that the `WeakRef` would be kept alive but it seems to not always be true on Windows. This commit makes sure it's kept alive. Signed-off-by: Antoine du Hamel --- .../process/different-registry-per-thread.mjs | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/test/fixtures/process/different-registry-per-thread.mjs b/test/fixtures/process/different-registry-per-thread.mjs index 6718ae72b5fd86..018fb42529f6f0 100644 --- a/test/fixtures/process/different-registry-per-thread.mjs +++ b/test/fixtures/process/different-registry-per-thread.mjs @@ -1,15 +1,26 @@ import { isMainThread, Worker } from 'node:worker_threads'; +const registeredRefs = []; + +const ref = { foo: 'foo' }; +registeredRefs.push(ref); + if (isMainThread) { - process.finalization.register({ foo: 'foo' }, () => { + process.finalization.register(ref, () => { process.stdout.write('shutdown on main thread\n'); }); const worker = new Worker(import.meta.filename); + worker.on('error', (err) => { + // Referencing `registeredRefs` here to avoid `ref` being GCed before the worker exits. + console.log(registeredRefs); + throw err; + }); + worker.postMessage('ping'); } else { - process.finalization.register({ foo: 'bar' }, () => { + process.finalization.register(ref, () => { process.stdout.write('shutdown on worker\n'); }); } From 1a9791e5c03c7766e99884c613eb96f5cbeec553 Mon Sep 17 00:00:00 2001 From: inoway46 Date: Sun, 10 May 2026 13:15:01 +0900 Subject: [PATCH 2/2] test: relax test-memory-usage arrayBuffers check Signed-off-by: inoway46 --- test/parallel/test-memory-usage.js | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/test/parallel/test-memory-usage.js b/test/parallel/test-memory-usage.js index 8e5ea4de5bf587..9f1160f19ca6e8 100644 --- a/test/parallel/test-memory-usage.js +++ b/test/parallel/test-memory-usage.js @@ -44,6 +44,8 @@ if (r.arrayBuffers > 0) { const after = process.memoryUsage(); assert.ok(after.external - r.external >= size, `${after.external} - ${r.external} >= ${size}`); - assert.strictEqual(after.arrayBuffers - r.arrayBuffers, size, - `${after.arrayBuffers} - ${r.arrayBuffers} === ${size}`); + // `arrayBuffers` is process-wide, so unrelated backing stores may be freed + // between the two snapshots. Check that the live ArrayBuffer is included. + assert.ok(after.arrayBuffers >= size, + `${after.arrayBuffers} >= ${size}`); }