Skip to content

process: expose enhanced stack trace to uncaughtException handlers #92107

process: expose enhanced stack trace to uncaughtException handlers

process: expose enhanced stack trace to uncaughtException handlers #92107

Re-run triggered September 6, 2026 10:11
Status Failure
Total duration 40m 2s
Artifacts

test-linux.yml

on: pull_request
Matrix: test-linux
Fit to window
Zoom out
Zoom in

Annotations

12 errors and 2 notices
test-linux (ubuntu-24.04-arm)
Process completed with exit code 2.
test-linux (ubuntu-24.04-arm): test/parallel/test-worker-error-stack-getter-throws.js#L19
--- stderr --- node:internal/event_target:1152 process.nextTick(() => { throw err; }); ^ AssertionError [ERR_ASSERTION]: Expected values to be strictly equal: + actual - expected + 'This is my custom stack trace!' - undefined at Worker.<anonymous> (/home/runner/work/node/node/node/test/parallel/test-worker-error-stack-getter-throws.js:19:10) at Worker.<anonymous> (/home/runner/work/node/node/node/test/common/index.js:511:15) at Worker.emit (node:events:514:20) at [kOnErrorMessage] (node:internal/worker:417:10) at [kOnMessage] (node:internal/worker:428:37) at MessagePort.<anonymous> (node:internal/worker:302:57) at [nodejs.internal.kHybridDispatch] (node:internal/event_target:872:20) at MessagePort.<anonymous> (node:internal/per_context/messageport:23:28) { generatedMessage: true, code: 'ERR_ASSERTION', actual: 'This is my custom stack trace!', expected: undefined, operator: 'strictEqual', diff: 'simple' } Node.js v27.0.0-pre Command: out/Release/node /home/runner/work/node/node/node/test/parallel/test-worker-error-stack-getter-throws.js
test-linux (ubuntu-24.04-arm): test/parallel/test-throw-error-with-getter-throw-traced.mjs#L23
--- stdout --- Test failure: 'prints a trace on process exit for uncaught errors' Location: test/parallel/test-throw-error-with-getter-throw-traced.mjs:8:3 AssertionError [ERR_ASSERTION]: The input did not match the regular expression /^ {4}at \[eval\]:1:1$/m. Input: '[eval]:3\n' + " throw new Error('weird throw but ok');\n" + ' ^\n' + '\n' + 'Error: weird throw but ok\n' + ' at get stack ([eval]:3:17)\n' + ' at Object.beforeInspector (node:internal/errors:902:20)\n' + ' at process._fatalException (node:internal/process/execution:179:36)\n' + 'Thrown at:\n' + ' at get stack ([eval]:3:17)\n' + ' at beforeInspector (node:internal/errors:902:20)\n' + ' at node:internal/process/execution:179:36\n' + '\n' + '\n' + 'Node.js v27.0.0-pre\n' at TestContext.<anonymous> (file:///home/runner/work/node/node/node/test/parallel/test-throw-error-with-getter-throw-traced.mjs:23:12) at process.processTicksAndRejections (node:internal/process/task_queues:104:5) at async Test.run (node:internal/test_runner/test:1409:7) at async Promise.all (index 0) at async Suite.run (node:internal/test_runner/test:1905:7) at async startSubtestAfterBootstrap (node:internal/test_runner/harness:387:3) { generatedMessage: true, code: 'ERR_ASSERTION', actual: '[eval]:3\n' + " throw new Error('weird throw but ok');\n" + ' ^\n' + '\n' + 'Error: weird throw but ok\n' + ' at get stack ([eval]:3:17)\n' + ' at Object.beforeInspector (node:internal/errors:902:20)\n' + ' at process._fatalException (node:internal/process/execution:179:36)\n' + 'Thrown at:\n' + ' at get stack ([eval]:3:17)\n' + '...', expected: /^ {4}at \[eval\]:1:1$/m, operator: 'match', diff: 'simple' } Command: out/Release/node --test-reporter=./test/common/test-error-reporter.js --test-reporter-destination=stdout /home/runner/work/node/node/node/test/parallel/test-throw-error-with-getter-throw-traced.mjs
test-linux (ubuntu-24.04-arm): test/parallel/test-repl-underscore.mjs#L212
--- stderr --- node:assert:824 throw new ERR_INVALID_ARG_TYPE( ^ TypeError [ERR_INVALID_ARG_TYPE]: The "regexp" argument must be an instance of RegExp. Received undefined at internalMatch (node:assert:824:11) at assert.match (node:assert:862:3) at testError (file:///home/runner/work/node/node/node/test/parallel/test-repl-underscore.mjs:212:14) at async file:///home/runner/work/node/node/node/test/parallel/test-repl-underscore.mjs:26:1 { code: 'ERR_INVALID_ARG_TYPE' } Node.js v27.0.0-pre Command: out/Release/node /home/runner/work/node/node/node/test/parallel/test-repl-underscore.mjs
test-linux (ubuntu-24.04-arm): test/parallel/test-node-output-errors.mjs#L45
--- stdout --- Test failure: 'errors/events_unhandled_error_common_trace.js' Location: test/parallel/test-node-output-errors.mjs:44:5 AssertionError [ERR_ASSERTION]: Expected values to be strictly equal: + actual - expected ... Skipped lines 'node:events:<line>\n' + " throw er; // Unhandled 'error' event\n" + ' ^\n' + '\n' + 'Error: foo:bar\n' + ... ' at Object.<anonymous> (<project-root>/test/fixtures/errors/events_unhandled_error_common_trace.js:22:1)\n' + + "Emitted 'error' event at:\n" + + ' at quux (<project-root>/test/fixtures/errors/events_unhandled_error_common_trace.js:19:6)\n' + + ' at Object.<anonymous> (<project-root>/test/fixtures/errors/events_unhandled_error_common_trace.js:22:1)\n' + '\n' + 'Node.js <node-version>\n' at assertSnapshot (/home/runner/work/node/node/node/test/common/assertSnapshot.js:173:12) at async Module.spawnAndAssert (/home/runner/work/node/node/node/test/common/assertSnapshot.js:208:3) at async TestContext.<anonymous> (file:///home/runner/work/node/node/node/test/parallel/test-node-output-errors.mjs:45:7) at async Test.run (node:internal/test_runner/test:1409:7) at async Suite.processPendingSubtests (node:internal/test_runner/test:974:7) { generatedMessage: true, code: 'ERR_ASSERTION', actual: 'node:events:<line>\n' + " throw er; // Unhandled 'error' event\n" + ' ^\n' + '\n' + 'Error: foo:bar\n' + ' at bar (<project-root>/test/fixtures/errors/events_unhandled_error_common_trace.js:9:12)\n' + ' at foo (<project-root>/test/fixtures/errors/events_unhandled_error_common_trace.js:12:10)\n' + "Emitted 'error' event at:\n" + ' at quux (<project-root>/test/fixtures/errors/events_unhandled_error_common_trace.js:19:6)\n' + ' at Object.<anonymous> (<project-root>/test/fixtures/errors/events_unhandled_error_common_trace.js:22:1)\n' + '...', expected: 'node:events:<line>\n' + " throw er; // Unhandled 'error' event\n" + ' ^\n' + '\n' + 'Error: foo:bar\n' + ' at bar (<project-root>/test/fixtures/errors/events_unhandled_error_common_trace.js:9:12)\n' + ' at foo (<project-root>/test/fixtures/errors/events_unhandled_error_common_trace.js:12:10)\n' + "Emitted 'error' event at:\n" + ' at quux (<project-root>/test/fixtures/errors/events_unhandled_error_common_trace.js:19:6)\n' + ' at Object.<anonymous> (<project-root>/test/fixtures/errors/events_unhandled_error_common_trace.js:22:1)\n' + '...', operator: 'strictEqual', diff: 'simple' } Test failure: 'errors/events_unhandled_error_nexttick.js' Location: test/parallel/test-node-output-errors.mjs:44:5 AssertionError [ERR_ASSERTION]: Expected values to be strictly equal: + actual - expected ... Skipped lines 'node:events:<line>\n' + " throw er; // Unhandled 'error' event\n" + ' ^\n' + '\n' + 'Error\n' + ... ' at <project-root>/test/fixtures/errors/events_unhandled_error_nexttick.js:8:22\n' + + "Emitted 'error' event at:\n" + + ' at <project-root>/test/fixtures/errors/events_unhandled_error_nexttick.js:8:22\n' + '\n' + 'Node.js <node-version>\n' at assertSnapshot (/home/runner/work/node/node/node/test/common/assertSnapshot.js:173:12) at async Module.spawnAndAssert (/home/runner/work/node/node/node/test/common/assertSnapshot.js:208:3) at async TestContext.<anonymous> (file:///home/runner/work/node/node/node/test/parallel/test-node-output-errors.mjs:45:7) at async Test.run (node:internal/test_runner/test:1409:7) at async Suite.processPendingSubtests (node:internal/test_runner/test:974:7) { generatedMessage: true, code: 'ERR_ASSERTION', actual: 'node:events:<line>\n' + " throw er; // Unhandled 'error' event\n" + ' ^\n' + '\n' + 'Error\n' + ' at Object.<anonymous> (<project-root>/test/fixtures/errors/events_unhandled_error_nexttick.js:6:12)\n' + "Emitted 'error' event at:\n" + ' at <project-root>/test/fixtures/errors/events_unhandled_error_nexttick.js:8:2
test-linux (ubuntu-24.04-arm): test/parallel/test-events-uncaught-exception-stack.js#L12
--- stderr --- node:internal/assert/utils:146 throw error; ^ AssertionError [ERR_ASSERTION]: The input did not match the regular expression /^ {4}at/. Input: "Emitted 'error' event at:" at process.<anonymous> (/home/runner/work/node/node/node/test/parallel/test-events-uncaught-exception-stack.js:12:12) at process.<anonymous> (/home/runner/work/node/node/node/test/common/index.js:511:15) at process.emit (node:events:514:20) at process._fatalException (node:internal/process/execution:197:32) { generatedMessage: true, code: 'ERR_ASSERTION', actual: "Emitted 'error' event at:", expected: /^ {4}at/, operator: 'match', diff: 'simple' } Node.js v27.0.0-pre Command: out/Release/node /home/runner/work/node/node/node/test/parallel/test-events-uncaught-exception-stack.js
test-linux (ubuntu-24.04)
Process completed with exit code 2.
test-linux (ubuntu-24.04): test/parallel/test-worker-error-stack-getter-throws.js#L19
--- stderr --- node:internal/event_target:1152 process.nextTick(() => { throw err; }); ^ AssertionError [ERR_ASSERTION]: Expected values to be strictly equal: + actual - expected + 'This is my custom stack trace!' - undefined at Worker.<anonymous> (/home/runner/work/node/node/node/test/parallel/test-worker-error-stack-getter-throws.js:19:10) at Worker.<anonymous> (/home/runner/work/node/node/node/test/common/index.js:511:15) at Worker.emit (node:events:514:20) at [kOnErrorMessage] (node:internal/worker:417:10) at [kOnMessage] (node:internal/worker:428:37) at MessagePort.<anonymous> (node:internal/worker:302:57) at [nodejs.internal.kHybridDispatch] (node:internal/event_target:872:20) at MessagePort.<anonymous> (node:internal/per_context/messageport:23:28) { generatedMessage: true, code: 'ERR_ASSERTION', actual: 'This is my custom stack trace!', expected: undefined, operator: 'strictEqual', diff: 'simple' } Node.js v27.0.0-pre Command: out/Release/node /home/runner/work/node/node/node/test/parallel/test-worker-error-stack-getter-throws.js
test-linux (ubuntu-24.04): test/parallel/test-throw-error-with-getter-throw-traced.mjs#L23
--- stdout --- Test failure: 'prints a trace on process exit for uncaught errors' Location: test/parallel/test-throw-error-with-getter-throw-traced.mjs:8:3 AssertionError [ERR_ASSERTION]: The input did not match the regular expression /^ {4}at \[eval\]:1:1$/m. Input: '[eval]:3\n' + " throw new Error('weird throw but ok');\n" + ' ^\n' + '\n' + 'Error: weird throw but ok\n' + ' at get stack ([eval]:3:17)\n' + ' at Object.beforeInspector (node:internal/errors:902:20)\n' + ' at process._fatalException (node:internal/process/execution:179:36)\n' + 'Thrown at:\n' + ' at get stack ([eval]:3:17)\n' + ' at beforeInspector (node:internal/errors:902:20)\n' + ' at node:internal/process/execution:179:36\n' + '\n' + '\n' + 'Node.js v27.0.0-pre\n' at TestContext.<anonymous> (file:///home/runner/work/node/node/node/test/parallel/test-throw-error-with-getter-throw-traced.mjs:23:12) at process.processTicksAndRejections (node:internal/process/task_queues:104:5) at async Test.run (node:internal/test_runner/test:1409:7) at async Promise.all (index 0) at async Suite.run (node:internal/test_runner/test:1905:7) at async startSubtestAfterBootstrap (node:internal/test_runner/harness:387:3) { generatedMessage: true, code: 'ERR_ASSERTION', actual: '[eval]:3\n' + " throw new Error('weird throw but ok');\n" + ' ^\n' + '\n' + 'Error: weird throw but ok\n' + ' at get stack ([eval]:3:17)\n' + ' at Object.beforeInspector (node:internal/errors:902:20)\n' + ' at process._fatalException (node:internal/process/execution:179:36)\n' + 'Thrown at:\n' + ' at get stack ([eval]:3:17)\n' + '...', expected: /^ {4}at \[eval\]:1:1$/m, operator: 'match', diff: 'simple' } Command: out/Release/node --test-reporter=./test/common/test-error-reporter.js --test-reporter-destination=stdout /home/runner/work/node/node/node/test/parallel/test-throw-error-with-getter-throw-traced.mjs
test-linux (ubuntu-24.04): test/parallel/test-repl-underscore.mjs#L212
--- stderr --- node:assert:824 throw new ERR_INVALID_ARG_TYPE( ^ TypeError [ERR_INVALID_ARG_TYPE]: The "regexp" argument must be an instance of RegExp. Received undefined at internalMatch (node:assert:824:11) at assert.match (node:assert:862:3) at testError (file:///home/runner/work/node/node/node/test/parallel/test-repl-underscore.mjs:212:14) at async file:///home/runner/work/node/node/node/test/parallel/test-repl-underscore.mjs:26:1 { code: 'ERR_INVALID_ARG_TYPE' } Node.js v27.0.0-pre Command: out/Release/node /home/runner/work/node/node/node/test/parallel/test-repl-underscore.mjs
test-linux (ubuntu-24.04): test/parallel/test-node-output-errors.mjs#L45
--- stdout --- Test failure: 'errors/events_unhandled_error_common_trace.js' Location: test/parallel/test-node-output-errors.mjs:44:5 AssertionError [ERR_ASSERTION]: Expected values to be strictly equal: + actual - expected ... Skipped lines 'node:events:<line>\n' + " throw er; // Unhandled 'error' event\n" + ' ^\n' + '\n' + 'Error: foo:bar\n' + ... ' at Object.<anonymous> (<project-root>/test/fixtures/errors/events_unhandled_error_common_trace.js:22:1)\n' + + "Emitted 'error' event at:\n" + + ' at quux (<project-root>/test/fixtures/errors/events_unhandled_error_common_trace.js:19:6)\n' + + ' at Object.<anonymous> (<project-root>/test/fixtures/errors/events_unhandled_error_common_trace.js:22:1)\n' + '\n' + 'Node.js <node-version>\n' at assertSnapshot (/home/runner/work/node/node/node/test/common/assertSnapshot.js:173:12) at async Module.spawnAndAssert (/home/runner/work/node/node/node/test/common/assertSnapshot.js:208:3) at async TestContext.<anonymous> (file:///home/runner/work/node/node/node/test/parallel/test-node-output-errors.mjs:45:7) at async Test.run (node:internal/test_runner/test:1409:7) at async Suite.processPendingSubtests (node:internal/test_runner/test:974:7) { generatedMessage: true, code: 'ERR_ASSERTION', actual: 'node:events:<line>\n' + " throw er; // Unhandled 'error' event\n" + ' ^\n' + '\n' + 'Error: foo:bar\n' + ' at bar (<project-root>/test/fixtures/errors/events_unhandled_error_common_trace.js:9:12)\n' + ' at foo (<project-root>/test/fixtures/errors/events_unhandled_error_common_trace.js:12:10)\n' + "Emitted 'error' event at:\n" + ' at quux (<project-root>/test/fixtures/errors/events_unhandled_error_common_trace.js:19:6)\n' + ' at Object.<anonymous> (<project-root>/test/fixtures/errors/events_unhandled_error_common_trace.js:22:1)\n' + '...', expected: 'node:events:<line>\n' + " throw er; // Unhandled 'error' event\n" + ' ^\n' + '\n' + 'Error: foo:bar\n' + ' at bar (<project-root>/test/fixtures/errors/events_unhandled_error_common_trace.js:9:12)\n' + ' at foo (<project-root>/test/fixtures/errors/events_unhandled_error_common_trace.js:12:10)\n' + "Emitted 'error' event at:\n" + ' at quux (<project-root>/test/fixtures/errors/events_unhandled_error_common_trace.js:19:6)\n' + ' at Object.<anonymous> (<project-root>/test/fixtures/errors/events_unhandled_error_common_trace.js:22:1)\n' + '...', operator: 'strictEqual', diff: 'simple' } Test failure: 'errors/events_unhandled_error_nexttick.js' Location: test/parallel/test-node-output-errors.mjs:44:5 AssertionError [ERR_ASSERTION]: Expected values to be strictly equal: + actual - expected ... Skipped lines 'node:events:<line>\n' + " throw er; // Unhandled 'error' event\n" + ' ^\n' + '\n' + 'Error\n' + ... ' at <project-root>/test/fixtures/errors/events_unhandled_error_nexttick.js:8:22\n' + + "Emitted 'error' event at:\n" + + ' at <project-root>/test/fixtures/errors/events_unhandled_error_nexttick.js:8:22\n' + '\n' + 'Node.js <node-version>\n' at assertSnapshot (/home/runner/work/node/node/node/test/common/assertSnapshot.js:173:12) at async Module.spawnAndAssert (/home/runner/work/node/node/node/test/common/assertSnapshot.js:208:3) at async TestContext.<anonymous> (file:///home/runner/work/node/node/node/test/parallel/test-node-output-errors.mjs:45:7) at async Test.run (node:internal/test_runner/test:1409:7) at async Suite.processPendingSubtests (node:internal/test_runner/test:974:7) { generatedMessage: true, code: 'ERR_ASSERTION', actual: 'node:events:<line>\n' + " throw er; // Unhandled 'error' event\n" + ' ^\n' + '\n' + 'Error\n' + ' at Object.<anonymous> (<project-root>/test/fixtures/errors/events_unhandled_error_nexttick.js:6:12)\n' + "Emitted 'error' event at:\n" + ' at <project-root>/test/fixtures/errors/events_unhandled_error_nexttick.js:8:2
test-linux (ubuntu-24.04): test/parallel/test-events-uncaught-exception-stack.js#L12
--- stderr --- node:internal/assert/utils:146 throw error; ^ AssertionError [ERR_ASSERTION]: The input did not match the regular expression /^ {4}at/. Input: "Emitted 'error' event at:" at process.<anonymous> (/home/runner/work/node/node/node/test/parallel/test-events-uncaught-exception-stack.js:12:12) at process.<anonymous> (/home/runner/work/node/node/node/test/common/index.js:511:15) at process.emit (node:events:514:20) at process._fatalException (node:internal/process/execution:197:32) { generatedMessage: true, code: 'ERR_ASSERTION', actual: "Emitted 'error' event at:", expected: /^ {4}at/, operator: 'match', diff: 'simple' } Node.js v27.0.0-pre Command: out/Release/node /home/runner/work/node/node/node/test/parallel/test-events-uncaught-exception-stack.js
sccache stats - test-linux
69% - 3455 hits, 1570 misses, 0 errors
sccache stats - test-linux
64% - 3239 hits, 1796 misses, 0 errors