-
Notifications
You must be signed in to change notification settings - Fork 29.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
test: common.nodeProcessAborted() does not catch aborts in Windows #12823
Comments
ref: #12288 |
This patch @@ -548,7 +548,7 @@ exports.nodeProcessAborted = function nodeProcessAborted(exitCode, signal) {
// On Windows, v8's base::OS::Abort triggers an access violation,
// which corresponds to exit code 3221225477 (0xC0000005)
if (exports.isWindows)
- expectedExitCodes = [3221225477];
+ expectedExitCodes = [3221225477, 3];
// When using --abort-on-uncaught-exception, V8 will use
// base::OS::Abort to terminate the process. resolves the issue. If experts agree, I can fully test and bring it through a PR. |
/cc @misterdjules |
The change looks good to me. We might want to add a comment that an exit code of 3 is the expected exit code for a program that terminates by calling the C runtime library's We could add a link to the documentation of the abort function on the MSDN too, but maybe that's overkill and that link could change. Basically anything that doesn't make people wonder where the value |
Fixed by #12856 |
Looks like common.nodeProcessAborted() (test/common.js) does not cover Windows aborts comprehensively. Results from MAC and Windows on a sample code show the difference:
MAC:
child exited with code: null and signal: SIGABRT
Windows:
The text was updated successfully, but these errors were encountered: