-
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 #23110
src: ready background workers before bootstrap #23110
Conversation
2a5cf52
to
58b2294
Compare
Original commit message: mac,thread: fix pthread_barrier_wait serial thread The thread returning PTHREAD_BARRIER_SERIAL_THREAD should be the one last to exit the barrier, otherwise it is unsafe to destroy the barrier – other threads may have yet to exit.
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
58b2294
to
f0db592
Compare
https://ci.nodejs.org/job/node-test-commit-aix/nodes=aix61-ppc64/18151/console This seems to be a relevant failure
Also failed #22631 |
I can reproduce the abort on AIX. A core dump gets generated, however, the machine doesn't have gdb or lldb. I cannot get dbx to work:
This is not about disk space, as there is plenty of disk space on the machine. @nodejs/platform-aix is there any help you can provide? Would it make sense for build machines to have standard debuggers (gdb, lldb) available by default? |
Thanks @joyeecheung, that is probably it. I was able to make progress by sprinkling printfs everywhere. Aside @nodejs/platform-aix @nodejs/build it seems that we only support AIX >= 7. It seems that AIX 6 is already end-of-life by IBM. Is there a reason why the CI is continuing to test against AIX 6? |
Because Node.js v6.x is still around until next April and theoretically is supported on AIX 6.1 TL09. In an ideal world we'd have more AIX images in the CI. There are some code paths in libuv on AIX that we currently aren't testing because they're only available in AIX 7 onwards. cc @gdams |
Superseded by #23233. |
This fixes the thread race on startup with background threads (#23065). Included here is a fix in libuv that needs to land upstream (libuv/libuv#2003), but I am opening the PR early so that I can get the CI to test it.
Checklist
make -j4 test
(UNIX), orvcbuild test
(Windows) passe