node
node copied to clipboard
deps: update V8 to 12.2
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.
Review requested:
- [ ] @nodejs/gyp
- [ ] @nodejs/v8-update
CI: https://ci.nodejs.org/job/node-test-pull-request/56661/
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
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.
CI: https://ci.nodejs.org/job/node-test-pull-request/56704/
V8 CI: https://ci.nodejs.org/job/node-test-commit-v8-linux/nodes=benchmark-ubuntu2204-intel-64,v8test=v8test/5757/
V8 CI: https://ci.nodejs.org/job/node-test-commit-v8-linux/nodes=rhel8-s390x,v8test=v8test/5757/
V8 CI: https://ci.nodejs.org/job/node-test-commit-v8-linux/nodes=rhel8-ppc64le,v8test=v8test/5757/
/cc @nodejs/platform-windows @StefanStojanovic We're hitting https://github.com/nodejs/node-v8/issues/271
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
Many failing test on s390: https://ci.nodejs.org/job/node-test-commit-linuxone/41750/#showFailuresLink
@nodejs/platform-s390
@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
@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
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
/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.
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)
@sumitradawn This is not with V8 HEAD. It's with 12.1-lkgr
@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.
Run with -j 4
: https://ci.nodejs.org/view/All/job/node-test-commit-aix-targos/1/nodes=aix72-ppc64/
@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.
This also needs to be cherry picked ~once it lands~ (landed): https://chromium-review.googlesource.com/c/v8/v8/+/5184815
@sumitradawn same error with 4 parallel jobs instead of 6.
@miladfarca Thanks, I included both commits.
CI: https://ci.nodejs.org/job/node-test-pull-request/56785/
V8 CI: https://ci.nodejs.org/job/node-test-commit-v8-linux/nodes=benchmark-ubuntu2204-intel-64,v8test=v8test/5768/
V8 CI: https://ci.nodejs.org/job/node-test-commit-v8-linux/nodes=rhel8-s390x,v8test=v8test/5768/
V8 CI: https://ci.nodejs.org/job/node-test-commit-v8-linux/nodes=rhel8-ppc64le,v8test=v8test/5768/
CI: https://ci.nodejs.org/job/node-test-pull-request/56788/
V8 CI: https://ci.nodejs.org/job/node-test-commit-v8-linux/nodes=benchmark-ubuntu2204-intel-64,v8test=v8test/5769/
V8 CI: https://ci.nodejs.org/job/node-test-commit-v8-linux/nodes=rhel8-s390x,v8test=v8test/5769/