node icon indicating copy to clipboard operation
node copied to clipboard

deps: update V8 to 12.9

Open targos opened this issue 1 year ago • 16 comments

Notable changes:

targos avatar Aug 24 '24 09:08 targos

Review requested:

  • [ ] @nodejs/gyp
  • [ ] @nodejs/security-wg
  • [ ] @nodejs/v8-update

nodejs-github-bot avatar Aug 24 '24 09:08 nodejs-github-bot

CI: https://ci.nodejs.org/job/node-test-pull-request/61406/

nodejs-github-bot avatar Aug 24 '24 09:08 nodejs-github-bot

V8 CI: https://ci.nodejs.org/job/node-test-commit-v8-linux/nodes=rhel8-s390x,v8test=v8test/6151/

nodejs-github-bot avatar Aug 24 '24 09:08 nodejs-github-bot

V8 CI: https://ci.nodejs.org/job/node-test-commit-v8-linux/nodes=benchmark-ubuntu2204-intel-64,v8test=v8test/6151/

nodejs-github-bot avatar Aug 24 '24 09:08 nodejs-github-bot

V8 CI: https://ci.nodejs.org/job/node-test-commit-v8-linux/nodes=rhel8-ppc64le,v8test=v8test/6151/

nodejs-github-bot avatar Aug 24 '24 09:08 nodejs-github-bot

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.

targos avatar Aug 24 '24 11:08 targos

@nodejs/platform-aix Can you have a look at https://ci.nodejs.org/job/node-test-commit-aix/53241/nodes=aix72-ppc64/console ?

targos avatar Aug 24 '24 11:08 targos

CI: https://ci.nodejs.org/job/node-test-pull-request/61508/

nodejs-github-bot avatar Aug 26 '24 18:08 nodejs-github-bot

V8 CI: https://ci.nodejs.org/job/node-test-commit-v8-linux/nodes=benchmark-ubuntu2204-intel-64,v8test=v8test/6156/

nodejs-github-bot avatar Aug 26 '24 18:08 nodejs-github-bot

V8 CI: https://ci.nodejs.org/job/node-test-commit-v8-linux/nodes=rhel8-s390x,v8test=v8test/6156/

nodejs-github-bot avatar Aug 26 '24 18:08 nodejs-github-bot

V8 CI: https://ci.nodejs.org/job/node-test-commit-v8-linux/nodes=rhel8-ppc64le,v8test=v8test/6156/

nodejs-github-bot avatar Aug 26 '24 18:08 nodejs-github-bot

https://ci.nodejs.org/job/node-test-commit-osx/60761/

targos avatar Aug 27 '24 08:08 targos

https://ci.nodejs.org/job/node-test-commit-windows-fanned/65162/ https://ci.nodejs.org/job/node-compile-windows-debug/23534/

targos avatar Aug 27 '24 08:08 targos

https://ci.nodejs.org/job/node-test-commit-osx/60768/

targos avatar Aug 27 '24 10:08 targos

@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

abmusse avatar Aug 27 '24 13:08 abmusse

@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

targos avatar Aug 27 '24 14:08 targos

@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.

StefanStojanovic avatar Aug 28 '24 10:08 StefanStojanovic

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:

image

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.

StefanStojanovic avatar Aug 28 '24 12:08 StefanStojanovic

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.

targos avatar Aug 28 '24 12:08 targos

I'm not sure what to do about it. Are we close to switching to ClangCL?

targos avatar Aug 30 '24 05:08 targos

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

StefanStojanovic avatar Aug 30 '24 11:08 StefanStojanovic

Thanks for the patch! I will update this PR once https://github.com/nodejs/node/pull/54682 is on main

targos avatar Sep 05 '24 05:09 targos

CI: https://ci.nodejs.org/job/node-test-pull-request/62504/

nodejs-github-bot avatar Sep 17 '24 15:09 nodejs-github-bot

V8 CI: https://ci.nodejs.org/job/node-test-commit-v8-linux/nodes=benchmark-ubuntu2204-intel-64,v8test=v8test/6198/

nodejs-github-bot avatar Sep 17 '24 15:09 nodejs-github-bot

V8 CI: https://ci.nodejs.org/job/node-test-commit-v8-linux/nodes=rhel8-s390x,v8test=v8test/6198/

nodejs-github-bot avatar Sep 17 '24 15:09 nodejs-github-bot

V8 CI: https://ci.nodejs.org/job/node-test-commit-v8-linux/nodes=rhel8-ppc64le,v8test=v8test/6198/

nodejs-github-bot avatar Sep 17 '24 15:09 nodejs-github-bot

Added https://github.com/nodejs/node-v8/pull/289

targos avatar Sep 18 '24 06:09 targos

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)

targos avatar Sep 18 '24 06:09 targos

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....

richardlau avatar Sep 18 '24 11:09 richardlau

CI: https://ci.nodejs.org/job/node-test-pull-request/62522/

nodejs-github-bot avatar Sep 18 '24 11:09 nodejs-github-bot