node icon indicating copy to clipboard operation
node copied to clipboard

deps: update V8 to 12.2

Open targos opened this issue 1 year ago • 80 comments

Main change that affects us: https://github.com/v8/v8/commit/12203e0c46b507dc138047c0fe22ce254bfced91

~I still need help to solve at least https://github.com/nodejs/node-v8/issues/272~ fixed.

targos avatar Jan 04 '24 09:01 targos

Review requested:

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

nodejs-github-bot avatar Jan 04 '24 09:01 nodejs-github-bot

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

nodejs-github-bot avatar Jan 04 '24 09:01 nodejs-github-bot

We also have https://github.com/nodejs/node-v8/issues/275 and https://github.com/nodejs/node-v8/issues/274 in https://ci.nodejs.org/job/node-test-commit-arm-debug/11179/nodes=ubuntu2004_debug-arm64/console

targos avatar Jan 04 '24 10:01 targos

There's also a compiler error on osx11:

14:40:59   /usr/local/bin/ccache c++ -o /Users/iojs/build/workspace/node-test-commit-osx/nodes/osx11-x64/out/Release/obj.target/v8_base_without_compiler/deps/v8/src/wasm/wasm-features.o ../deps/v8/src/wasm/wasm-features.cc '-D_GLIBCXX_USE_CXX11_ABI=1' '-DNODE_OPENSSL_CONF_NAME=nodejs_conf' '-DNODE_OPENSSL_HAS_QUIC' '-DICU_NO_USER_DATA_OVERRIDE' '-DV8_GYP_BUILD' '-DV8_TYPED_ARRAY_MAX_SIZE_IN_HEAP=64' '-D_DARWIN_USE_64_BIT_INODE=1' '-DOPENSSL_NO_PINSHARED' '-DOPENSSL_THREADS' '-DV8_TARGET_ARCH_X64' '-DV8_HAVE_TARGET_OS' '-DV8_TARGET_OS_MACOS' '-DV8_EMBEDDER_STRING="-node.6"' '-DENABLE_DISASSEMBLER' '-DV8_PROMISE_INTERNAL_FIELD_COUNT=1' '-DV8_SHORT_BUILTIN_CALLS' '-DOBJECT_PRINT' '-DV8_INTL_SUPPORT' '-DV8_ATOMIC_OBJECT_FIELD_WRITES' '-DV8_ENABLE_LAZY_SOURCE_POSITIONS' '-DV8_USE_SIPHASH' '-DV8_SHARED_RO_HEAP' '-DNDEBUG' '-DV8_WIN64_UNWINDING_INFO' '-DV8_ENABLE_REGEXP_INTERPRETER_THREADED_DISPATCH' '-DV8_USE_ZLIB' '-DV8_ENABLE_SPARKPLUG' '-DV8_ENABLE_TURBOFAN' '-DV8_ENABLE_SYSTEM_INSTRUMENTATION' '-DV8_ENABLE_WEBASSEMBLY' '-DV8_ENABLE_JAVASCRIPT_PROMISE_HOOKS' '-DV8_ENABLE_CONTINUATION_PRESERVED_EMBEDDER_DATA' '-DV8_ALLOCATION_FOLDING' '-DV8_ALLOCATION_SITE_TRACKING' '-DV8_ADVANCED_BIGINT_ALGORITHMS' '-DICU_UTIL_DATA_IMPL=ICU_UTIL_DATA_STATIC' '-DUCONFIG_NO_SERVICE=1' '-DU_ENABLE_DYLOAD=0' '-DU_STATIC_IMPLEMENTATION=1' '-DU_HAVE_STD_STRING=1' '-DUCONFIG_NO_BREAK_ITERATION=0' -I../deps/v8 -I../deps/v8/include -I/Users/iojs/build/workspace/node-test-commit-osx/nodes/osx11-x64/out/Release/obj/gen/inspector-generated-output-root -I../deps/v8/third_party/inspector_protocol -I/Users/iojs/build/workspace/node-test-commit-osx/nodes/osx11-x64/out/Release/obj/gen -I/Users/iojs/build/workspace/node-test-commit-osx/nodes/osx11-x64/out/Release/obj/gen/generate-bytecode-output-root -I../deps/icu-small/source/i18n -I../deps/icu-small/source/common -I../deps/v8/third_party/zlib -I../deps/v8/third_party/zlib/google -I../deps/v8/third_party/abseil-cpp  -O3 -gdwarf-2 -fstrict-aliasing -mmacosx-version-min=11.0 -arch x86_64 -Wall -Wendif-labels -W -Wno-unused-parameter -Wno-invalid-offsetof -std=gnu++17 -stdlib=libc++ -fno-rtti -fno-exceptions -fno-strict-aliasing -MMD -MF /Users/iojs/build/workspace/node-test-commit-osx/nodes/osx11-x64/out/Release/.deps//Users/iojs/build/workspace/node-test-commit-osx/nodes/osx11-x64/out/Release/obj.target/v8_base_without_compiler/deps/v8/src/wasm/wasm-features.o.d.raw   -c
14:41:29 ../deps/v8/src/wasm/wasm-engine.cc:163:19: error: no viable overloaded '='
14:41:29       source_url_ = String::cast(script->name())->ToCString();
14:41:29       ~~~~~~~~~~~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
14:41:29 /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/memory:3435:17: note: candidate function not viable: no known conversion from 'std::unique_ptr<char []>' to 'const std::shared_ptr<char const[]>' for 1st argument
14:41:29     shared_ptr& operator=(const shared_ptr& __r) _NOEXCEPT;
14:41:29                 ^
14:41:29 /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/memory:3443:9: note: candidate template ignored: could not match 'shared_ptr' against 'unique_ptr'
14:41:29         operator=(const shared_ptr<_Yp>& __r) _NOEXCEPT;
14:41:29         ^
14:41:29 /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/memory:3445:17: note: candidate function not viable: no known conversion from 'std::unique_ptr<char []>' to 'std::shared_ptr<char const[]>' for 1st argument
14:41:29     shared_ptr& operator=(shared_ptr&& __r) _NOEXCEPT;
14:41:29                 ^
14:41:29 /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/memory:3453:9: note: candidate template ignored: could not match 'shared_ptr' against 'unique_ptr'
14:41:29         operator=(shared_ptr<_Yp>&& __r);
14:41:29         ^
14:41:29 /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/memory:3473:9: note: candidate template ignored: requirement '!is_array<char []>::value' was not satisfied [with _Yp = char [], _Dp = std::default_delete<char []>]
14:41:29         operator=(unique_ptr<_Yp, _Dp>&& __r);
14:41:29         ^
14:41:29 1 error generated.

targos avatar Jan 05 '24 07:01 targos

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

nodejs-github-bot avatar Jan 07 '24 14:01 nodejs-github-bot

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

nodejs-github-bot avatar Jan 07 '24 14:01 nodejs-github-bot

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

nodejs-github-bot avatar Jan 07 '24 14:01 nodejs-github-bot

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

nodejs-github-bot avatar Jan 07 '24 14:01 nodejs-github-bot

/cc @nodejs/platform-windows @StefanStojanovic We're hitting https://github.com/nodejs/node-v8/issues/271

targos avatar Jan 07 '24 14:01 targos

Looks like the build is broken on AIX @nodejs/platform-aix

https://ci.nodejs.org/job/node-test-commit-aix/49875/nodes=aix72-ppc64/console

targos avatar Jan 07 '24 14:01 targos

Many failing test on s390: https://ci.nodejs.org/job/node-test-commit-linuxone/41750/#showFailuresLink

@nodejs/platform-s390

targos avatar Jan 07 '24 15:01 targos

@nodejs/platform-smartos The SmartOS build is broken (related to https://github.com/nodejs/node/pull/51362/commits/d1ccf722fd5f0a18ae3a1b12c169860f94b4e0dd): https://ci.nodejs.org/job/node-test-commit-smartos/52823/nodes=smartos20-64/console

targos avatar Jan 08 '24 09:01 targos

@nodejs/platform-ppc @nodejs/platform-s390 The V8 CI build errors:

16:08:40 g++: fatal error: Killed signal terminated program cc1plus

https://ci.nodejs.org/job/node-test-commit-v8-linux/5757/nodes=rhel8-ppc64le,v8test=v8test/console https://ci.nodejs.org/job/node-test-commit-v8-linux/5757/nodes=rhel8-s390x,v8test=v8test/console

targos avatar Jan 08 '24 09:01 targos

It looks like https://github.com/nodejs/node/pull/51362/commits/9570832ae8650b73e04c2a0347b07cd6c19de15b is not enough. There's a flaky test in debug mode:

./node_g test/sequential/test-worker-fshandles-error-on-termination.js
$ ./node_g test/sequential/test-worker-fshandles-error-on-termination.js


#
# Fatal error in ../../deps/v8/src/execution/isolate-inl.h, line 105
# Debug check failed: has_exception() == result == ReadOnlyRoots(this).exception() (1 vs. 0).
#
#
#
#FailureMessage Object: 0x16f6ed148
----- Native stack trace -----

 1: 0x1048b5400 node::DumpNativeBacktrace(__sFILE*) [/Users/mzasso/git/nodejs/v8-next-update/out/Debug/node]
 2: 0x104afddd4 node::NodePlatform::GetStackTracePrinter()::$_3::operator()() const [/Users/mzasso/git/nodejs/v8-next-update/out/Debug/node]
 3: 0x104afdd90 node::NodePlatform::GetStackTracePrinter()::$_3::__invoke() [/Users/mzasso/git/nodejs/v8-next-update/out/Debug/node]
 4: 0x106c702f0 V8_Fatal(char const*, int, char const*, ...) [/Users/mzasso/git/nodejs/v8-next-update/out/Debug/node]
 5: 0x106c6fe8c std::__1::enable_if<!std::is_function<std::__1::remove_pointer<char>::type>::value && !std::is_enum<char>::value && has_output_operator<char, v8::base::CheckMessageStream>::value, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>::type v8::base::PrintCheckOperand<char>(char) [/Users/mzasso/git/nodejs/v8-next-update/out/Debug/node]
 6: 0x104ebb208 v8::internal::Isolate::VerifyBuiltinsResult(v8::internal::Tagged<v8::internal::Object>) [/Users/mzasso/git/nodejs/v8-next-update/out/Debug/node]
 7: 0x105a4943c v8::internal::Runtime_PromiseRejectEventFromStack(int, unsigned long*, v8::internal::Isolate*) [/Users/mzasso/git/nodejs/v8-next-update/out/Debug/node]
 8: 0x10615e7b4 Builtins_CEntry_Return1_ArgvOnStack_NoBuiltinExit [/Users/mzasso/git/nodejs/v8-next-update/out/Debug/node]
 9: 0x1061edabc Builtins_PromiseReject [/Users/mzasso/git/nodejs/v8-next-update/out/Debug/node]
10: 0x1060bc370 Builtins_InterpreterEntryTrampoline [/Users/mzasso/git/nodejs/v8-next-update/out/Debug/node]
11: 0x1061f9420 Builtins_PromiseRejectReactionJob [/Users/mzasso/git/nodejs/v8-next-update/out/Debug/node]
12: 0x1060eb2ec Builtins_RunMicrotasks [/Users/mzasso/git/nodejs/v8-next-update/out/Debug/node]
13: 0x1060b96f4 Builtins_JSRunMicrotasksEntry [/Users/mzasso/git/nodejs/v8-next-update/out/Debug/node]
14: 0x105131e9c v8::internal::(anonymous namespace)::Invoke(v8::internal::Isolate*, v8::internal::(anonymous namespace)::InvokeParams const&) [/Users/mzasso/git/nodejs/v8-next-update/out/Debug/node]
15: 0x105133870 v8::internal::(anonymous namespace)::InvokeWithTryCatch(v8::internal::Isolate*, v8::internal::(anonymous namespace)::InvokeParams const&) [/Users/mzasso/git/nodejs/v8-next-update/out/Debug/node]
16: 0x105133f20 v8::internal::Execution::TryRunMicrotasks(v8::internal::Isolate*, v8::internal::MicrotaskQueue*) [/Users/mzasso/git/nodejs/v8-next-update/out/Debug/node]
17: 0x105186dec v8::internal::MicrotaskQueue::RunMicrotasks(v8::internal::Isolate*) [/Users/mzasso/git/nodejs/v8-next-update/out/Debug/node]
18: 0x105186b0c v8::internal::MicrotaskQueue::PerformCheckpointInternal(v8::Isolate*) [/Users/mzasso/git/nodejs/v8-next-update/out/Debug/node]
19: 0x1047f7110 node::InternalCallbackScope::Close() [/Users/mzasso/git/nodejs/v8-next-update/out/Debug/node]
20: 0x1047f6f2c node::InternalCallbackScope::~InternalCallbackScope() [/Users/mzasso/git/nodejs/v8-next-update/out/Debug/node]
21: 0x1047f6a3c node::InternalCallbackScope::~InternalCallbackScope() [/Users/mzasso/git/nodejs/v8-next-update/out/Debug/node]
22: 0x1049ec984 node::fs::FSReqPromise<node::AliasedBufferBase<double, v8::Float64Array>>::Reject(v8::Local<v8::Value>) [/Users/mzasso/git/nodejs/v8-next-update/out/Debug/node]
23: 0x104a061fc node::fs::FSReqAfterScope::Reject(uv_fs_s*) [/Users/mzasso/git/nodejs/v8-next-update/out/Debug/node]
24: 0x104a06324 node::fs::FSReqAfterScope::Proceed() [/Users/mzasso/git/nodejs/v8-next-update/out/Debug/node]
25: 0x104a06be0 node::fs::AfterOpenFileHandle(uv_fs_s*) [/Users/mzasso/git/nodejs/v8-next-update/out/Debug/node]
26: 0x1049ee5bc node::MakeLibuvRequestCallback<uv_fs_s, void (*)(uv_fs_s*)>::Wrapper(uv_fs_s*) [/Users/mzasso/git/nodejs/v8-next-update/out/Debug/node]
27: 0x10608c3c4 uv__fs_done [/Users/mzasso/git/nodejs/v8-next-update/out/Debug/node]
28: 0x10607e4ec uv__work_done [/Users/mzasso/git/nodejs/v8-next-update/out/Debug/node]
29: 0x1060874d0 uv__async_io [/Users/mzasso/git/nodejs/v8-next-update/out/Debug/node]
30: 0x1060aaea0 uv__io_poll [/Users/mzasso/git/nodejs/v8-next-update/out/Debug/node]
31: 0x106087ed0 uv_run [/Users/mzasso/git/nodejs/v8-next-update/out/Debug/node]
32: 0x1047fa37c node::SpinEventLoopInternal(node::Environment*) [/Users/mzasso/git/nodejs/v8-next-update/out/Debug/node]
33: 0x104ba3c34 node::worker::Worker::Run() [/Users/mzasso/git/nodejs/v8-next-update/out/Debug/node]
34: 0x104ba7cb8 node::worker::Worker::StartThread(v8::FunctionCallbackInfo<v8::Value> const&)::$_3::operator()(void*) const [/Users/mzasso/git/nodejs/v8-next-update/out/Debug/node]
35: 0x104ba7c64 node::worker::Worker::StartThread(v8::FunctionCallbackInfo<v8::Value> const&)::$_3::__invoke(void*) [/Users/mzasso/git/nodejs/v8-next-update/out/Debug/node]
36: 0x1843de034 _pthread_start [/usr/lib/system/libsystem_pthread.dylib]
37: 0x1843d8e3c thread_start [/usr/lib/system/libsystem_pthread.dylib]
[1]    34458 trace trap  ./node_g test/sequential/test-worker-fshandles-error-on-termination.js

targos avatar Jan 08 '24 09:01 targos

/cc @nodejs/platform-windows @StefanStojanovic We're hitting nodejs/node-v8#271

Thanks for letting me know. I just got back to work today, so will look into it in the following days.

StefanStojanovic avatar Jan 08 '24 11:01 StefanStojanovic

Looks like the build is broken on AIX @nodejs/platform-aix

https://ci.nodejs.org/job/node-test-commit-aix/49875/nodes=aix72-ppc64/console

I have checked and the v8 build is fine for AIX wrt current commit id- ff9dc695ffc0412baf644e4cddfa92b93cd2b978 (HEAD, origin/main, origin/HEAD)

Screenshot 2024-01-08 at 7 51 16 PM

sumitradawn avatar Jan 08 '24 14:01 sumitradawn

@sumitradawn This is not with V8 HEAD. It's with 12.1-lkgr

targos avatar Jan 08 '24 14:01 targos

@sumitradawn This is not with V8 HEAD. It's with 12.1-lkgr

@targos I have tried to build Node from the source code on AIX and it is quite fine for me. There might be some memory issue, Can you please try to run the job with -j4 option.

sumitradawn avatar Jan 09 '24 13:01 sumitradawn

Run with -j 4: https://ci.nodejs.org/view/All/job/node-test-commit-aix-targos/1/nodes=aix72-ppc64/

targos avatar Jan 09 '24 14:01 targos

@targos could you please cherry pick this to fix s390 test failures: https://chromium-review.googlesource.com/c/v8/v8/+/5176785

fatal error: Killed signal terminated program usually mean you running out of memory. Please try with fewer parallel jobs using the -j option.

miladfarca avatar Jan 09 '24 14:01 miladfarca

This also needs to be cherry picked ~once it lands~ (landed): https://chromium-review.googlesource.com/c/v8/v8/+/5184815

miladfarca avatar Jan 10 '24 13:01 miladfarca

@sumitradawn same error with 4 parallel jobs instead of 6.

targos avatar Jan 10 '24 15:01 targos

@miladfarca Thanks, I included both commits.

targos avatar Jan 15 '24 11:01 targos

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

nodejs-github-bot avatar Jan 15 '24 11:01 nodejs-github-bot

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

nodejs-github-bot avatar Jan 15 '24 11:01 nodejs-github-bot

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

nodejs-github-bot avatar Jan 15 '24 11:01 nodejs-github-bot

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

nodejs-github-bot avatar Jan 15 '24 11:01 nodejs-github-bot

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

nodejs-github-bot avatar Jan 15 '24 13:01 nodejs-github-bot

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

nodejs-github-bot avatar Jan 15 '24 13:01 nodejs-github-bot

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

nodejs-github-bot avatar Jan 15 '24 13:01 nodejs-github-bot