-
-
Notifications
You must be signed in to change notification settings - Fork 32.3k
Closed
Labels
post-mortemIssues and PRs related to the post-mortem diagnostics of Node.js.Issues and PRs related to the post-mortem diagnostics of Node.js.v8 engineIssues and PRs related to the V8 dependency.Issues and PRs related to the V8 dependency.
Description
- Version: master (8b2c61c)
- Platform: posix
- Subsystem: NA
test case:
'use strict';
const assert = require('assert');
const { spawnSync } = require('child_process');
const child = spawnSync(process.execPath, ['--abort-on-uncaught-exception', '-e', 'throw new Error();']);
assert.strictEqual(child.signal, 'SIGABRT'); // bug, the return signal is SIGILL
assert.strictEqual(child.code, null);
When using --abort-on-uncaught-exception
and an error throws, the process should exit with SIGABRT
instead it exists with SIGILL
(illegal instruction). When using process.abort()
directly the process exits with SIGABRT
as it should.
This is the abort message:
Uncaught Error
FROM
[eval]:1:1
ContextifyScript.Script.runInThisContext (vm.js:1:1)
Object.runInThisContext (vm.js:1:1)
Object.<anonymous> ([eval]-wrapper:1:1)
Module._compile (module.js:1:1)
evalScript (bootstrap_node.js:1:1)
startup (bootstrap_node.js:1:1)
bootstrap_node.js:1:1
Received signal 4 <unknown> 000100c40b92
==== C stack trace ===============================
[0x000100c3f9c4]
[0x7fffc7388bba]
[0x7fff5fbfd7e0]
[0x00010092034b]
[0x3c3dde7043fd]
[0x3c3dde807c7a]
[0x3c3dde7bbe7c]
[end of stack trace]
Metadata
Metadata
Assignees
Labels
post-mortemIssues and PRs related to the post-mortem diagnostics of Node.js.Issues and PRs related to the post-mortem diagnostics of Node.js.v8 engineIssues and PRs related to the V8 dependency.Issues and PRs related to the V8 dependency.