-
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
src: ready background workers before bootstrap #23233
src: ready background workers before bootstrap #23233
Conversation
Make sure background workers are ready before proceeding with the bootstrap or post-bootstrap execution of any code that may trigger `process.exit()`. Fixes: nodejs#23065
de3e607
to
3afca3a
Compare
Switched to C++ mutex classes. This needs another look. New CI: https://ci.nodejs.org/job/node-test-pull-request/17601/ |
Relaunched SmartOS: https://ci.nodejs.org/job/node-test-commit-smartos/20672/ |
SmartOS failures are in |
Re-run of arm-fanned, as there seemed to be unrelated failures: https://ci.nodejs.org/job/node-test-commit-arm-fanned/3841/ |
Is there any chance test-stream-buffer-list failing on all three Pi variants is remotely related? 21:30:07 not ok 228 parallel/test-stream-buffer-list
21:30:07 ---
21:30:07 duration_ms: 1.35
21:30:07 severity: fail
21:30:07 exitcode: 1
21:30:07 stack: |-
21:30:07 assert.js:84
21:30:07 throw new AssertionError(obj);
21:30:07 ^
21:30:07
21:30:07 AssertionError [ERR_ASSERTION]: Expected values to be strictly equal:
21:30:07 + actual - expected
21:30:07
21:30:07 + �[32m'BufferList { head: \u001b[1mnull\u001b[22m, tail: \u001b[1mnull\u001b[22m, length: \u001b[33m0\u001b[39m }'�[39m
21:30:07 - �[32m'BufferList { length: \u001b[33m0\u001b[39m }'�[39m
21:30:07 at Object.<anonymous> (/home/iojs/build/workspace/node-test-binary-arm/test/parallel/test-stream-buffer-list.js:37:8)
21:30:07 at Module._compile (internal/modules/cjs/loader.js:703:30)
21:30:07 at Object.Module._extensions..js (internal/modules/cjs/loader.js:714:10)
21:30:07 at Module.load (internal/modules/cjs/loader.js:613:32)
21:30:07 at tryModuleLoad (internal/modules/cjs/loader.js:552:12)
21:30:07 at Function.Module._load (internal/modules/cjs/loader.js:544:3)
21:30:07 at Function.Module.runMain (internal/modules/cjs/loader.js:756:12)
21:30:07 at startup (internal/bootstrap/node.js:303:19)
21:30:07 at bootstrapNodeJSCore (internal/bootstrap/node.js:865:3)
21:30:07 ... |
^^^^^ Guessing not since it didn't fail the first time? Let's try a rebuild again... |
Yikes, infra that last time. Trying again: https://ci.nodejs.org/job/node-test-commit-arm-fanned/3869/ |
I see the problem. The rebuilds don't rebase unless you tell them what commit to rebase onto, so they don't have a fix for that one test from a few days ago. Here's a rebuild with a rebase on current master: https://ci.nodejs.org/job/node-test-commit-arm-fanned/3870/ |
Landed in e273abc |
Make sure background workers are ready before proceeding with the bootstrap or post-bootstrap execution of any code that may trigger `process.exit()`. Fixes: nodejs#23065 PR-URL: nodejs#23233 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Anna Henningsen <anna@addaleax.net>
Should this be backported to |
v10.x backport: #23398 |
Make sure background workers are ready before proceeding with the bootstrap or post-bootstrap execution of any code that may trigger `process.exit()`. Fixes: nodejs#23065 PR-URL: nodejs#23233 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Anna Henningsen <anna@addaleax.net>
This is an alternative to #23110 that doesn't depend upon libuv/libuv#2003.
Make sure background workers are ready before proceeding with the
bootstrap or post-bootstrap execution of any code that may trigger
process.exit()
.Fixes: #23065
EDIT: CI: https://ci.nodejs.org/job/node-test-pull-request/17595/
Checklist
make -j4 test
(UNIX), orvcbuild test
(Windows) passes