deps: update V8 to 12.9
Review requested:
- [ ] @nodejs/gyp
- [ ] @nodejs/security-wg
- [ ] @nodejs/v8-update
CI: https://ci.nodejs.org/job/node-test-pull-request/61406/
V8 CI: https://ci.nodejs.org/job/node-test-commit-v8-linux/nodes=rhel8-s390x,v8test=v8test/6151/
V8 CI: https://ci.nodejs.org/job/node-test-commit-v8-linux/nodes=benchmark-ubuntu2204-intel-64,v8test=v8test/6151/
V8 CI: https://ci.nodejs.org/job/node-test-commit-v8-linux/nodes=rhel8-ppc64le,v8test=v8test/6151/
Updated https://github.com/nodejs/node/pull/54536/commits/d73e7103f94592234df6146d0ce417163a6bcbc9 to fix the MSVC error. Opened https://chromium-review.googlesource.com/c/v8/v8/+/5805956 upstream to fix the macOS Clang error.
@nodejs/platform-aix Can you have a look at https://ci.nodejs.org/job/node-test-commit-aix/53241/nodes=aix72-ppc64/console ?
CI: https://ci.nodejs.org/job/node-test-pull-request/61508/
V8 CI: https://ci.nodejs.org/job/node-test-commit-v8-linux/nodes=benchmark-ubuntu2204-intel-64,v8test=v8test/6156/
V8 CI: https://ci.nodejs.org/job/node-test-commit-v8-linux/nodes=rhel8-s390x,v8test=v8test/6156/
V8 CI: https://ci.nodejs.org/job/node-test-commit-v8-linux/nodes=rhel8-ppc64le,v8test=v8test/6156/
https://ci.nodejs.org/job/node-test-commit-osx/60761/
https://ci.nodejs.org/job/node-test-commit-windows-fanned/65162/ https://ci.nodejs.org/job/node-compile-windows-debug/23534/
https://ci.nodejs.org/job/node-test-commit-osx/60768/
@nodejs/platform-aix Can you have a look at https://ci.nodejs.org/job/node-test-commit-aix/53241/nodes=aix72-ppc64/console ?
Hello @targos I've opened a CL on v8 to resolve that build issue https://chromium-review.googlesource.com/c/v8/v8/+/5789180
@nodejs/platform-windows, somehow Windows debug builds are broken. I tried two runs to be sure, but they both ended up in a timeout while building an addon: https://ci.nodejs.org/job/node-compile-windows-debug/23534/nodes=win-vs2022/console
@nodejs/platform-windows, somehow Windows debug builds are broken. I tried to runs to be sure, but they both ended up in a timeout while building an addon: https://ci.nodejs.org/job/node-compile-windows-debug/23534/nodes=win-vs2022/console
I'll look into it.
So what happens when you run that command (for me it is .\Debug\node.exe deps\npm\node_modules\node-gyp\bin\node-gyp rebuild --directory=test\addons\hello-world --nodedir="E:\work\node") after compiling in debug mode, is that you get this:
Clicking Ignore will get you through it, successfully but in CI we cannot do it. I'm not 100% sure, but I think we had this issue with some of the v12.x updates, Will try to find it.
Oh yes, I remember it! I opened an issue upstream: https://issues.chromium.org/issues/336349658 My workaround for the previous V8 update was to revert the change (https://github.com/nodejs/node/commit/16c9348e6089238cf266aa2dedf678a7729687a4), but I forgot that I had to remove the revert on canary because it doesn't apply cleanly anymore.
I'm not sure what to do about it. Are we close to switching to ClangCL?
I'm not sure what to do about it. Are we close to switching to ClangCL?
I've just opened a PR with the last change needed so you can run vcbuild.bat clang-cl on the main branch and it'll work However I do think some time will be needed to transition from MSVC to ClangCL (CI is prepared, but I'll need to reconfigure jobs to use it, and I wouldn't like to do that too fast so we miss something).
Regarding the commit that you were reverting. I remember I had a small patch file (changing just a few lines in 1 file) to enable the debug compilation, but we went with the revert as it was cleaner. Since reverting is not an option now, maybe we can apply that change I had as a floating patch and keep it until we move completely to ClangCL?
EDIT: I found that fix, it is a one-liner https://github.com/JaneaSystems/node/commit/03cc860ea1aa1d0b555e6af56b2206d648c0d0fb
Thanks for the patch! I will update this PR once https://github.com/nodejs/node/pull/54682 is on main
CI: https://ci.nodejs.org/job/node-test-pull-request/62504/
V8 CI: https://ci.nodejs.org/job/node-test-commit-v8-linux/nodes=benchmark-ubuntu2204-intel-64,v8test=v8test/6198/
V8 CI: https://ci.nodejs.org/job/node-test-commit-v8-linux/nodes=rhel8-s390x,v8test=v8test/6198/
V8 CI: https://ci.nodejs.org/job/node-test-commit-v8-linux/nodes=rhel8-ppc64le,v8test=v8test/6198/
Added https://github.com/nodejs/node-v8/pull/289
armv7 cross-compilation failed: https://ci.nodejs.org/job/node-cross-compile/49971/nodes=cross-compiler-rhel9-armv7-gcc-12-glibc-2.28/console (@richardlau)
armv7 cross-compilation failed: https://ci.nodejs.org/job/node-cross-compile/49971/nodes=cross-compiler-rhel9-armv7-gcc-12-glibc-2.28/console (@richardlau)
I think this is just being killed by the OOM killer -- at least I can't spot an actual compilation error among all of the warnings:
17:19:15 arm-rpi-linux-gnueabihf-g++: fatal error: Killed signal terminated program cc1plus
17:19:15 compilation terminated.
17:19:15 make[2]: *** [tools/v8_gypfiles/v8_turboshaft.target.mk:249: /home/iojs/build/workspace/node-cross-compile/out/Release/obj.target/v8_turboshaft/deps/v8/src/compiler/turboshaft/csa-optimize-phase.o] Error 1
17:19:15 make[2]: *** Waiting for unfinished jobs....
CI: https://ci.nodejs.org/job/node-test-pull-request/62522/