Summary: | net-libs/nodejs-22.1.0: fails to build on arm64 | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Leonid Kopylov <leonchik1976> |
Component: | Current packages | Assignee: | William Hubbs <williamh> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | correabuscar+gentoo_bugs, ionen, leonchik1976, rachid, sam |
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
See Also: | https://bugs.gentoo.org/show_bug.cgi?id=936013 | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Bug Depends on: | |||
Bug Blocks: | 915000 | ||
Attachments: |
build.log
build.log build.log build.log.xz build.log.xz |
Description
Leonid Kopylov
2024-05-08 03:53:10 UTC
Created attachment 892459 [details]
build.log
[31mFAILED: [0mgen/node_javascript.cc cd ../../; /var/tmp/portage/net-libs/nodejs-22.1.0/work/node-v22.1.0/out/Release/node_js2c /var/tmp/portage/net-libs/nodejs-22.1.0/work/node-v22.1.0/out/Release/gen/node_javascript.cc lib config.gypi deps/v8/tools/splaytree.mjs deps/v8/tools/codemap.mjs deps/v8/tools/consarray.mjs deps/v8/tools/csvparser.mjs deps/v8/tools/profile.mjs deps/v8/tools/profile_view.mjs deps/v8/tools/logreader.mjs deps/v8/tools/arguments.mjs deps/v8/tools/tickprocessor.mjs deps/v8/tools/sourcemap.mjs deps/v8/tools/tickprocessor-driver.mjs deps/acorn/acorn/dist/acorn.js deps/acorn/acorn-walk/dist/walk.js deps/minimatch/index.js deps/cjs-module-lexer/lexer.js deps/cjs-module-lexer/dist/lexer.js deps/undici/undici.js Can you try with samurai instead, or run the command manually in the builddir? It's hiding the error. In the event a segfault or similar happened, dmesg will likely show it too. (In reply to Sam James from comment #2) > [31mFAILED: [0mgen/node_javascript.cc > cd ../../; > /var/tmp/portage/net-libs/nodejs-22.1.0/work/node-v22.1.0/out/Release/ > node_js2c > /var/tmp/portage/net-libs/nodejs-22.1.0/work/node-v22.1.0/out/Release/gen/ > node_javascript.cc lib config.gypi deps/v8/tools/splaytree.mjs > deps/v8/tools/codemap.mjs deps/v8/tools/consarray.mjs > deps/v8/tools/csvparser.mjs deps/v8/tools/profile.mjs > deps/v8/tools/profile_view.mjs deps/v8/tools/logreader.mjs > deps/v8/tools/arguments.mjs deps/v8/tools/tickprocessor.mjs > deps/v8/tools/sourcemap.mjs deps/v8/tools/tickprocessor-driver.mjs > deps/acorn/acorn/dist/acorn.js deps/acorn/acorn-walk/dist/walk.js > deps/minimatch/index.js deps/cjs-module-lexer/lexer.js > deps/cjs-module-lexer/dist/lexer.js deps/undici/undici.js > > Can you try with samurai instead, or run the command manually in the > builddir? It's hiding the error. what do you mean manually? how? https://github.com/abseil/abseil-cpp/issues/1634 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71962 # sudo -u portage -g portage -- ninja -C out/Release -j1 -v ninja: Entering directory `out/Release' [1/578] x86_64-pc-linux-gnu-g++ -MMD -MF obj/deps/v8/src/wasm/v8_base_without_compiler.turboshaft-graph-interface.o.d -D_GLIBCXX_USE_CXX11_ABI=1 -DNODE_OPENSSL_CONF_NAME=nodejs_conf -DNODE_OPENSSL_CERT_STORE -DICU_NO_USER_DATA_OVERRIDE -DV8_GYP_BUILD -DV8_TYPED_ARRAY_MAX_SIZE_IN_HEAP=64 -D__STDC_FORMAT_MACROS -DV8_TARGET_ARCH_X64 -DV8_HAVE_TARGET_OS -DV8_TARGET_OS_LINUX '-DV8_EMBEDDER_STRING="-node.11"' -DENABLE_DISASSEMBLER -DV8_PROMISE_INTERNAL_FIELD_COUNT=1 -DV8_ENABLE_PRIVATE_MAPPING_FORK_OPTIMIZATION -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_MAGLEV -DV8_ENABLE_TURBOFAN -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 -I../../deps/v8 -I../../deps/v8/include -Igen/inspector-generated-output-root -I../../deps/v8/third_party/inspector_protocol -Igen -Igen/generate-bytecode-output-root -I../../deps/v8/third_party/zlib -I../../deps/v8/third_party/zlib/google -I../../deps/v8/third_party/abseil-cpp -I../../deps/v8/third_party/fp16/src/include -pthread -Wno-unused-parameter -Wno-return-type -flax-vector-conversions -Wno-invalid-offsetof -fno-strict-aliasing -m64 -m64 -fno-omit-frame-pointer -fdata-sections -ffunction-sections -O3 -march=skylake -mtune=skylake -mprefer-vector-width=128 -O2 -pipe -frecord-gcc-switches -ggdb -fvar-tracking-assignments -fno-omit-frame-pointer -ftrack-macro-expansion=2 -fstack-protector-all -Wno-trigraphs -fno-schedule-insns2 -fno-delete-null-pointer-checks -D_FORTIFY_SOURCE=2 -rdynamic -flifetime-dse=1 -fno-rtti -fno-exceptions -std=gnu++17 -c ../../deps/v8/src/wasm/turboshaft-graph-interface.cc -o obj/deps/v8/src/wasm/v8_base_without_compiler.turboshaft-graph-interface.o FAILED: obj/deps/v8/src/wasm/v8_base_without_compiler.turboshaft-graph-interface.o x86_64-pc-linux-gnu-g++ -MMD -MF obj/deps/v8/src/wasm/v8_base_without_compiler.turboshaft-graph-interface.o.d -D_GLIBCXX_USE_CXX11_ABI=1 -DNODE_OPENSSL_CONF_NAME=nodejs_conf -DNODE_OPENSSL_CERT_STORE -DICU_NO_USER_DATA_OVERRIDE -DV8_GYP_BUILD -DV8_TYPED_ARRAY_MAX_SIZE_IN_HEAP=64 -D__STDC_FORMAT_MACROS -DV8_TARGET_ARCH_X64 -DV8_HAVE_TARGET_OS -DV8_TARGET_OS_LINUX '-DV8_EMBEDDER_STRING="-node.11"' -DENABLE_DISASSEMBLER -DV8_PROMISE_INTERNAL_FIELD_COUNT=1 -DV8_ENABLE_PRIVATE_MAPPING_FORK_OPTIMIZATION -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_MAGLEV -DV8_ENABLE_TURBOFAN -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 -I../../deps/v8 -I../../deps/v8/include -Igen/inspector-generated-output-root -I../../deps/v8/third_party/inspector_protocol -Igen -Igen/generate-bytecode-output-root -I../../deps/v8/third_party/zlib -I../../deps/v8/third_party/zlib/google -I../../deps/v8/third_party/abseil-cpp -I../../deps/v8/third_party/fp16/src/include -pthread -Wno-unused-parameter -Wno-return-type -flax-vector-conversions -Wno-invalid-offsetof -fno-strict-aliasing -m64 -m64 -fno-omit-frame-pointer -fdata-sections -ffunction-sections -O3 -march=skylake -mtune=skylake -mprefer-vector-width=128 -O2 -pipe -frecord-gcc-switches -ggdb -fvar-tracking-assignments -fno-omit-frame-pointer -ftrack-macro-expansion=2 -fstack-protector-all -Wno-trigraphs -fno-schedule-insns2 -fno-delete-null-pointer-checks -D_FORTIFY_SOURCE=2 -rdynamic -flifetime-dse=1 -fno-rtti -fno-exceptions -std=gnu++17 -c ../../deps/v8/src/wasm/turboshaft-graph-interface.cc -o obj/deps/v8/src/wasm/v8_base_without_compiler.turboshaft-graph-interface.o In file included from ../../deps/v8/third_party/abseil-cpp/absl/container/internal/raw_hash_set.h:213, from ../../deps/v8/third_party/abseil-cpp/absl/container/internal/raw_hash_map.h:26, from ../../deps/v8/third_party/abseil-cpp/absl/container/flat_hash_map.h:42, from ../../deps/v8/src/zone/zone-containers.h:20, from ../../deps/v8/src/objects/source-text-module.h:11, from ../../deps/v8/src/api/api.h:27, from ../../deps/v8/src/handles/persistent-handles.h:11, from ../../deps/v8/src/heap/local-heap.h:19, from ../../deps/v8/src/handles/local-handles.h:12, from ../../deps/v8/src/execution/local-isolate.h:12, from ../../deps/v8/src/logging/runtime-call-stats-scope.h:11, from ../../deps/v8/src/execution/arguments.h:10, from ../../deps/v8/src/builtins/builtins-utils.h:10, from ../../deps/v8/src/api/api-arguments.h:9, from ../../deps/v8/src/ic/call-optimization.h:8, from ../../deps/v8/src/compiler/heap-refs.h:11, from ../../deps/v8/src/compiler/feedback-source.h:8, from ../../deps/v8/src/compiler/common-operator.h:12, from ../../deps/v8/src/compiler/js-operator.h:10, from ../../deps/v8/src/compiler/access-builder.h:9, from ../../deps/v8/src/compiler/turboshaft/assembler.h:24, from ../../deps/v8/src/wasm/turboshaft-graph-interface.h:13, from ../../deps/v8/src/wasm/turboshaft-graph-interface.cc:5: ../../deps/v8/third_party/abseil-cpp/absl/container/internal/raw_hash_set.h: In instantiation of 'static const absl::container_internal::PolicyFunctions& absl::container_internal::raw_hash_set<Policy, Hash, Eq, Alloc>::GetPolicyFunctions() [with Policy = absl::container_internal::FlatHashMapPolicy<v8::internal::compiler::turboshaft::Block*, v8::internal::wasm::TurboshaftGraphBuildingInterface::BlockPhis>; Hash = absl::container_internal::HashEq<v8::internal::compiler::turboshaft::Block*, void>::Hash; Eq = absl::container_internal::HashEq<v8::internal::compiler::turboshaft::Block*, void>::Eq; Alloc = v8::internal::ZoneAllocator<std::pair<v8::internal::compiler::turboshaft::Block* const, v8::internal::wasm::TurboshaftGraphBuildingInterface::BlockPhis> >]': ../../deps/v8/third_party/abseil-cpp/absl/container/internal/raw_hash_set.h:3454:71: required from 'void absl::container_internal::raw_hash_set<Policy, Hash, Eq, Alloc>::drop_deletes_without_resize() [with Policy = absl::container_internal::FlatHashMapPolicy<v8::internal::compiler::turboshaft::Block*, v8::internal::wasm::TurboshaftGraphBuildingInterface::BlockPhis>; Hash = absl::container_internal::HashEq<v8::internal::compiler::turboshaft::Block*, void>::Hash; Eq = absl::container_internal::HashEq<v8::internal::compiler::turboshaft::Block*, void>::Eq; Alloc = v8::internal::ZoneAllocator<std::pair<v8::internal::compiler::turboshaft::Block* const, v8::internal::wasm::TurboshaftGraphBuildingInterface::BlockPhis> >]' **snip it's 20k so more than the 16k allowed in comments** ../../deps/v8/third_party/abseil-cpp/absl/container/internal/hash_policy_traits.h:134:20: required from 'static decltype (P::apply(forward<F>(f), (forward<Ts>)(absl::container_internal::hash_policy_traits<Policy, <template-parameter-1-2> >::apply::ts)...)) absl::container_internal::hash_policy_traits<Policy, <template-parameter-1-2> >::apply(F&&, Ts&& ...) [with F = absl::container_internal::raw_hash_set<absl::container_internal::FlatHashMapPolicy<v8::internal::compiler::turboshaft::Block*, v8::internal::wasm::TurboshaftGraphBuildingInterface::BlockPhis>, absl::container_internal::HashEq<v8::internal::compiler::turboshaft::Block*, void>::Hash, absl::container_internal::HashEq<v8::internal::compiler::turboshaft::Block*, void>::Eq, v8::internal::ZoneAllocator<std::pair<v8::internal::compiler::turboshaft::Block* const, v8::internal::wasm::TurboshaftGraphBuildingInterface::BlockPhis> > >::EmplaceDecomposable; Ts = {v8::internal::compiler::turboshaft::Block*&, v8::internal::wasm::TurboshaftGraphBuildingInterface::BlockPhis}; P = absl::container_internal::FlatHashMapPolicy<v8::internal::compiler::turboshaft::Block*, v8::internal::wasm::TurboshaftGraphBuildingInterface::BlockPhis>; Policy = absl::container_internal::FlatHashMapPolicy<v8::internal::compiler::turboshaft::Block*, v8::internal::wasm::TurboshaftGraphBuildingInterface::BlockPhis>; <template-parameter-1-2> = void; decltype (P::apply(forward<F>(f), (forward<Ts>)(absl::container_internal::hash_policy_traits<Policy, <template-parameter-1-2> >::apply::ts)...)) = std::pair<absl::container_internal::raw_hash_set<absl::container_internal::FlatHashMapPolicy<v8::internal::compiler::turboshaft::Block*, v8::internal::wasm::TurboshaftGraphBuildingInterface::BlockPhis>, absl::container_internal::HashEq<v8::internal::compiler::turboshaft::Block*, void>::Hash, absl::container_internal::HashEq<v8::internal::compiler::turboshaft::Block*, void>::Eq, v8::internal::ZoneAllocator<std::pair<v8::internal::compiler::turboshaft::Block* const, v8::internal::wasm::TurboshaftGraphBuildingInterface::BlockPhis> > >::iterator, bool>]' ../../deps/v8/third_party/abseil-cpp/absl/container/internal/raw_hash_set.h:2818:31: required from 'std::pair<absl::container_internal::raw_hash_set<Policy, Hash, Eq, Alloc>::iterator, bool> absl::container_internal::raw_hash_set<Policy, Hash, Eq, Alloc>::emplace(Args&& ...) [with Args = {v8::internal::compiler::turboshaft::Block*&, v8::internal::wasm::TurboshaftGraphBuildingInterface::BlockPhis}; typename std::enable_if<absl::container_internal::IsDecomposable<void, absl::container_internal::hash_policy_traits<Policy>, Hash, Eq, Ts ...>::value, int>::type <anonymous> = 0; Policy = absl::container_internal::FlatHashMapPolicy<v8::internal::compiler::turboshaft::Block*, v8::internal::wasm::TurboshaftGraphBuildingInterface::BlockPhis>; Hash = absl::container_internal::HashEq<v8::internal::compiler::turboshaft::Block*, void>::Hash; Eq = absl::container_internal::HashEq<v8::internal::compiler::turboshaft::Block*, void>::Eq; Alloc = v8::internal::ZoneAllocator<std::pair<v8::internal::compiler::turboshaft::Block* const, v8::internal::wasm::TurboshaftGraphBuildingInterface::BlockPhis> >]' ../../deps/v8/src/wasm/turboshaft-graph-interface.cc:4808:24: required from here ../../deps/v8/third_party/abseil-cpp/absl/container/internal/raw_hash_set.h:3815:56: in 'constexpr' expansion of 'absl::container_internal::hash_policy_traits<absl::container_internal::FlatHashMapPolicy<v8::internal::compiler::turboshaft::Block*, v8::internal::wasm::TurboshaftGraphBuildingInterface::BlockPhis>, void>::get_hash_slot_fn<absl::container_internal::HashEq<v8::internal::compiler::turboshaft::Block*, void>::Hash>()' ../../deps/v8/third_party/abseil-cpp/absl/container/internal/hash_policy_traits.h:163:54: error: '(absl::container_internal::TypeErasedApplyToSlotFn<HashEq<v8::internal::compiler::turboshaft::Block*, void>::Hash, v8::internal::compiler::turboshaft::Block*> == 0)' is not a constant expression 163 | return Policy::template get_hash_slot_fn<Hash>() == nullptr | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~ ninja: build stopped: subcommand failed. well, not using "-fno-delete-null-pointer-checks" in one of the flags eg. CFLAGS? in make.conf avoid the error for me. Confirmed emerged, for me. * Final size of build directory: 17293312 KiB (16.4 GiB) * Final size of installed tree: 2091872 KiB ( 1.9 GiB) But since reporter didn't have this flag("-fno-delete-null-pointer-checks") or others that imply it(or so it seems) and their error happened way earlier(looking at the build log), then it's likely a different issue here(that I've unknowingly(until right about now) hijacked without even being sorry about it *whistle*... I mean, how dare I!), not the same one that I've encountered, ergo ignore all that I've said thus far(in above comments), including the following, as they're irrelevant to the reporter's issue. (In reply to Emanuel Czirai from comment #6) > well, not using "-fno-delete-null-pointer-checks" in one of the flags eg. > CFLAGS? in make.conf avoid the error for me. FYI, as to how I've managed that(the removal of a cflag that existed from make.conf without modifying make.conf, so that it applies only to this package): I've created file /etc/portage/env/net-libs/nodejs with contents: #!/bin/bash #remove this flag, else: https://bugs.gentoo.org/931514#c5 export CFLAGS="${CFLAGS//-fno-delete-null-pointer-checks/}" export CPPFLAGS="${CPPFLAGS//-fno-delete-null-pointer-checks/}" export CXXFLAGS="${CXXFLAGS//-fno-delete-null-pointer-checks/}" (but probably only needs the last two, or even just one of them, didn't bother to check further) That's supposed to remove the flag if it exists(and it does in my /etc/portage/make.conf due to manually added there), as per 'man bash': ${parameter/pattern/string} ${parameter//pattern/string} ${parameter/#pattern/string} ${parameter/%pattern/string} Pattern substitution. The pattern is expanded to produce a pattern just as in pathname expansion. Parameter is expanded and the longest match of pattern against its value is replaced with string. string undergoes tilde expansion, parameter and variable expansion, arith‐ metic expansion, command and process substitution, and quote removal. The match is performed using the rules described under Pattern Match‐ ing below. In the first form above, only the first match is re‐ placed. If there are two slashes separating parameter and pattern (the second form above), all matches of pattern are replaced with string. If pattern is preceded by # (the third form above), it must match at the beginning of the expanded value of parameter. If pat‐ tern is preceded by % (the fourth form above), it must match at the end of the expanded value of parameter. If the expansion of string is null, matches of pattern are deleted. If string is null, matches of pattern are deleted and the / following pattern may be omitted. If the patsub_replacement shell option is enabled using shopt, any unquoted instances of & in string are replaced with the matching por‐ tion of pattern. Quoting any part of string inhibits replacement in the expansion of the quoted portion, including replacement strings stored in shell variables. Backslash will escape & in string; the backslash is re‐ moved in order to permit a literal & in the replacement string. Backslash can also be used to escape a backslash; \\ results in a literal backslash in the replacement. Users should take care if string is double-quoted to avoid unwanted interactions between the backslash and double-quoting, since backslash has special meaning within double quotes. Pattern substitution performs the check for unquoted & after expanding string; shell programmers should quote any occurrences of & they want to be taken literally in the replacement and ensure any instances of & they want to be replaced are unquoted. If the nocasematch shell option is enabled, the match is performed without regard to the case of alphabetic characters. If parameter is @ or *, the substitution operation is applied to each positional pa‐ rameter in turn, and the expansion is the resultant list. If parame‐ ter is an array variable subscripted with @ or *, the substitution operation is applied to each member of the array in turn, and the ex‐ pansion is the resultant list. Note that the other way of doing it won't work(which probably makes sense and is maybe even documented to be so(didn't check), but was surprising to me), that is: creating /etc/portage/env/nodejs.conf and referencing it in a file like /etc/portage/package.env/package.env.ALL , (referencing it) with this line: net-libs/nodejs nodejs.conf will yield error like: Calculating dependencies "/etc/portage/env/nodejs.conf", line 5: unexpected EOF while looking for matching `}' "/etc/portage/env/nodejs.conf", line 5: unexpected EOF while looking for matching `}' for (the created file with) this line: CFLAGS="${CFLAGS//-fno-delete-null-pointer-checks/}" in /etc/portage/env/nodejs.conf same for net-libs/nodejs-22.2.0 net-libs/nodejs-20.12.2 is the latest installable version on arm64 still an issue with net-libs/nodejs-22.7.0 It's interesting if you're hitting this without UBSAN. oh, nevermind. I see (https://bugs.gentoo.org/931514#c7). Yes, just don't set that. (In reply to Leonid Kopylov from comment #10) > > what do you mean manually? how? Go into the builddir at /var/tmp/portage/net-libs/nodejs-22.1.0/work/node-v22.1.0 or /var/tmp/portage/net-libs/nodejs-22.1.0/work/node-v22.1.0/out/Release/ (adjust the versions appropriately) and run the command after 'FAILED' and show the output here. (In reply to Sam James from comment #13) > (In reply to Leonid Kopylov from comment #10) > > > > what do you mean manually? how? > > Go into the builddir at > /var/tmp/portage/net-libs/nodejs-22.1.0/work/node-v22.1.0 or > /var/tmp/portage/net-libs/nodejs-22.1.0/work/node-v22.1.0/out/Release/ > (adjust the versions appropriately) and run the command after 'FAILED' and > show the output here. Sorry, i'm a little bit confuse, can you put here the command? Created attachment 901356 [details]
build.log
(In reply to Sam James from comment #13) > (In reply to Leonid Kopylov from comment #10) > > > > what do you mean manually? how? > > Go into the builddir at > /var/tmp/portage/net-libs/nodejs-22.1.0/work/node-v22.1.0 or > /var/tmp/portage/net-libs/nodejs-22.1.0/work/node-v22.1.0/out/Release/ > (adjust the versions appropriately) and run the command after 'FAILED' and > show the output here. /var/tmp/portage/net-libs/nodejs-22.7.0/work/node-v22.7.0/out/Release # /var/tmp/portage/net-libs/nodejs-22.7.0/work/node-v22.7.0/out/Release/node_js2c /var/tmp/portage/net-libs/nodejs-22.7.0/work/node-v22.7.0/out/Release/gen/node_javascript.cc lib config.gypi deps/v8/tools/splaytree.mjs deps/v8/tools/codemap.mjs deps/v8/tools/consarray.mjs deps/v8/tools/csvparser.mjs deps/v8/tools/profile.mjs deps/v8/tools/profile_view.mjs deps/v8/tools/logreader.mjs deps/v8/tools/arguments.mjs deps/v8/tools/tickprocessor.mjs deps/v8/tools/sourcemap.mjs deps/v8/tools/tickprocessor-driver.mjs deps/acorn/acorn/dist/acorn.js deps/acorn/acorn-walk/dist/walk.js deps/minimatch/index.js deps/cjs-module-lexer/lexer.js deps/cjs-module-lexer/dist/lexer.js deps/undici/undici.js deps/amaro/dist/index.js Segmentation fault (core dumped) (In reply to Ionen Wolkens from comment #3) > In the event a segfault or similar happened, dmesg will likely show it too. this is shown in dmesg: [12369.131705] [ T9241] device: 'lo': device_add [12369.131808] [ T9241] PM: Adding info for No Bus:lo [12369.133364] [ T9242] device: 'lo': device_add [12369.133416] [ T9242] PM: Adding info for No Bus:lo [12369.195883] [T200068] PM: Removing info for No Bus:lo [12369.215640] [T200068] PM: Removing info for No Bus:lo Created attachment 902235 [details]
build.log
same for net-libs/nodejs-22.8.0 (In reply to Leonid Kopylov from comment #16) Thanks. Please run the same command under gdb, like: * gdb --args <the thing you ran here> then within gdb: * 'r' (hit enter) * 'bt' (hit enter) show the full output from when you started running gdb. (In reply to Sam James from comment #20) > (In reply to Leonid Kopylov from comment #16) > > Thanks. Please run the same command under gdb, like: > * gdb --args <the thing you ran here> > then within gdb: > * 'r' (hit enter) > * 'bt' (hit enter) > show the full output from when you started running gdb. /var/tmp/portage/net-libs/nodejs-22.8.0/work/node-v22.8.0/out/Release # gdb --args /var/tmp/portage/net-libs/nodejs-22.8.0/work/node-v22.8.0/out/Release/node_js2c /var/tmp/portage/net-libs/nodejs-22.8.0/work/node-v22.8.0/out/Release/gen/node_javascript.cc lib config.gypi deps/v8/tools/splaytree.mjs deps/v8/tools/codemap.mjs deps/v8/tools/consarray.mjs deps/v8/tools/csvparser.mjs deps/v8/tools/profile.mjs deps/v8/tools/profile_view.mjs deps/v8/tools/logreader.mjs deps/v8/tools/arguments.mjs deps/v8/tools/tickprocessor.mjs deps/v8/tools/sourcemap.mjs deps/v8/tools/tickprocessor-driver.mjs deps/acorn/acorn/dist/acorn.js deps/acorn/acorn-walk/dist/walk.js deps/minimatch/index.js deps/cjs-module-lexer/lexer.js deps/cjs-module-lexer/dist/lexer.js deps/undici/undici.js deps/amaro/dist/index.js GNU gdb (Gentoo 15.1 vanilla) 15.1 Copyright (C) 2024 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "aarch64-unknown-linux-gnu". Type "show configuration" for configuration details. For bug reporting instructions, please see: <https://bugs.gentoo.org/>. Find the GDB manual and other documentation resources online at: <http://www.gnu.org/software/gdb/documentation/>. For help, type "help". Type "apropos word" to search for commands related to "word"... Reading symbols from /var/tmp/portage/net-libs/nodejs-22.8.0/work/node-v22.8.0/out/Release/node_js2c... (No debugging symbols found in /var/tmp/portage/net-libs/nodejs-22.8.0/work/node-v22.8.0/out/Release/node_js2c) (gdb) r Starting program: /var/tmp/portage/net-libs/nodejs-22.8.0/work/node-v22.8.0/out/Release/node_js2c /var/tmp/portage/net-libs/nodejs-22.8.0/work/node-v22.8.0/out/Release/gen/node_javascript.cc lib config.gypi deps/v8/tools/splaytree.mjs deps/v8/tools/codemap.mjs deps/v8/tools/consarray.mjs deps/v8/tools/csvparser.mjs deps/v8/tools/profile.mjs deps/v8/tools/profile_view.mjs deps/v8/tools/logreader.mjs deps/v8/tools/arguments.mjs deps/v8/tools/tickprocessor.mjs deps/v8/tools/sourcemap.mjs deps/v8/tools/tickprocessor-driver.mjs deps/acorn/acorn/dist/acorn.js deps/acorn/acorn-walk/dist/walk.js deps/minimatch/index.js deps/cjs-module-lexer/lexer.js deps/cjs-module-lexer/dist/lexer.js deps/undici/undici.js deps/amaro/dist/index.js [Thread debugging using libthread_db enabled] Using host libthread_db library "/usr/lib64/libthread_db.so.1". Program received signal SIGSEGV, Segmentation fault. 0x0020aaaaaaaabdf8 in ?? () (gdb) bt #0 0x0020aaaaaaaabdf8 in ?? () Backtrace stopped: previous frame identical to this frame (corrupt stack?) (gdb) Can you rebuild nodejs (and glibc if not done so already) with debugging symbols and try again? See https://wiki.gentoo.org/wiki/Debugging. (In reply to Sam James from comment #22) > Can you rebuild nodejs (and glibc if not done so already) with debugging > symbols and try again? See https://wiki.gentoo.org/wiki/Debugging. gentoo /var/tmp/portage/net-libs/nodejs-22.8.0/work/node-v22.8.0/out/Release # /var/tmp/portage/net-libs/nodejs-22.8.0/work/node-v22.8.0/out/Release/node_js2c /var/tmp/portage/net-libs/nodejs-22.8.0/work/node-v22.8.0/out/Release/gen/node_javascript.cc lib config.gypi deps/v8/tools/splaytree.mjs deps/v8/tools/codemap.mjs deps/v8/tools/consarray.mjs deps/v8/tools/csvparser.mjs deps/v8/tools/profile.mjs deps/v8/tools/profile_view.mjs deps/v8/tools/logreader.mjs deps/v8/tools/arguments.mjs deps/v8/tools/tickprocessor.mjs deps/v8/tools/sourcemap.mjs deps/v8/tools/tickprocessor-driver.mjs deps/acorn/acorn/dist/acorn.js deps/acorn/acorn-walk/dist/walk.js deps/minimatch/index.js deps/cjs-module-lexer/lexer.js deps/cjs-module-lexer/dist/lexer.js deps/undici/undici.js deps/amaro/dist/index.js Segmentation fault (core dumped) gentoo /var/tmp/portage/net-libs/nodejs-22.8.0/work/node-v22.8.0/out/Release # gdb --args /var/tmp/portage/net-libs/nodejs-22.8.0/work/node-v22.8.0/out/Release/node_js2c /var/tmp/portage/net-libs/nodejs-22.8.0/work/node-v22.8.0/out/Release/gen/node_javascript.cc lib config.gypi deps/v8/tools/splaytree.mjs deps/v8/tools/codemap.mjs deps/v8/tools/consarray.mjs deps/v8/tools/csvparser.mjs deps/v8/tools/profile.mjs deps/v8/tools/profile_view.mjs deps/v8/tools/logreader.mjs deps/v8/tools/arguments.mjs deps/v8/tools/tickprocessor.mjs deps/v8/tools/sourcemap.mjs deps/v8/tools/tickprocessor-driver.mjs deps/acorn/acorn/dist/acorn.js deps/acorn/acorn-walk/dist/walk.js deps/minimatch/index.js deps/cjs-module-lexer/lexer.js deps/cjs-module-lexer/dist/lexer.js deps/undici/undici.js deps/amaro/dist/index.js GNU gdb (Gentoo 15.1 vanilla) 15.1 Copyright (C) 2024 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "aarch64-unknown-linux-gnu". Type "show configuration" for configuration details. For bug reporting instructions, please see: <https://bugs.gentoo.org/>. Find the GDB manual and other documentation resources online at: <http://www.gnu.org/software/gdb/documentation/>. For help, type "help". Type "apropos word" to search for commands related to "word"... Reading symbols from /var/tmp/portage/net-libs/nodejs-22.8.0/work/node-v22.8.0/out/Release/node_js2c... (gdb) r Starting program: /var/tmp/portage/net-libs/nodejs-22.8.0/work/node-v22.8.0/out/Release/node_js2c /var/tmp/portage/net-libs/nodejs-22.8.0/work/node-v22.8.0/out/Release/gen/node_javascript.cc lib config.gypi deps/v8/tools/splaytree.mjs deps/v8/tools/codemap.mjs deps/v8/tools/consarray.mjs deps/v8/tools/csvparser.mjs deps/v8/tools/profile.mjs deps/v8/tools/profile_view.mjs deps/v8/tools/logreader.mjs deps/v8/tools/arguments.mjs deps/v8/tools/tickprocessor.mjs deps/v8/tools/sourcemap.mjs deps/v8/tools/tickprocessor-driver.mjs deps/acorn/acorn/dist/acorn.js deps/acorn/acorn-walk/dist/walk.js deps/minimatch/index.js deps/cjs-module-lexer/lexer.js deps/cjs-module-lexer/dist/lexer.js deps/undici/undici.js deps/amaro/dist/index.js [Thread debugging using libthread_db enabled] Using host libthread_db library "/usr/lib64/libthread_db.so.1". Program received signal SIGSEGV, Segmentation fault. 0x0020aaaaaaaabdf8 in ?? () (gdb) bt #0 0x0020aaaaaaaabdf8 in ?? () Backtrace stopped: previous frame identical to this frame (corrupt stack?) (gdb) 0x0020aaaaaaaabdf8 is definitely corrupt. Can you try with ASAN and/or UBSAN? See https://wiki.gentoo.org/wiki/AddressSanitizer and https://wiki.gentoo.org/wiki/UndefinedBehaviorSanitizer. I would suggest Valgrind but I suspect it won't work with your CPU. I won't be able to look at the results for several days. Created attachment 902696 [details]
build.log.xz
(In reply to Leonid Kopylov from comment #25) > Created attachment 902696 [details] > build.log.xz ASAN Created attachment 902697 [details]
build.log.xz
(In reply to Leonid Kopylov from comment #27) > Created attachment 902697 [details] > build.log.xz UBSAN meh, UBSAN failed on the constexpr thing with no-delete-null* ASAN had: AddressSanitizer:DEADLYSIGNAL ================================================================= ==782==ERROR: AddressSanitizer: SEGV on unknown address 0x20aaaad7eadadc (pc 0x20aaaad7eadadc bp 0xffffdb8d5cb0 sp 0xffffdb8d57e0 T0) ==782==The signal is caused by a READ memory access. AddressSanitizer:DEADLYSIGNAL AddressSanitizer: nested bug in the same thread, aborting. Could you try GCC 14? It is gcc 14 After adding -mbranch-protection=none as common flags into make.conf it fixed the issue. The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d38ad8ea49347979a4a87202e1d51702297216aa commit d38ad8ea49347979a4a87202e1d51702297216aa Author: Sam James <sam@gentoo.org> AuthorDate: 2024-09-20 22:25:11 +0000 Commit: Sam James <sam@gentoo.org> CommitDate: 2024-09-20 22:26:01 +0000 net-libs/nodejs: pass -mbranch-protection=none on arm64 BTI seems to cause build failures in VMs on Apple arm64 HW with -march=native. Just disable it for now given nodejs is already a beast. Thanks to chaos_princess for the suggestion. Closes: https://bugs.gentoo.org/931514 Signed-off-by: Sam James <sam@gentoo.org> net-libs/nodejs/nodejs-22.4.1-r1.ebuild | 2 ++ net-libs/nodejs/nodejs-22.7.0.ebuild | 2 ++ net-libs/nodejs/nodejs-22.8.0.ebuild | 2 ++ net-libs/nodejs/nodejs-99999999.ebuild | 2 ++ 4 files changed, 8 insertions(+) |