Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 931514 - net-libs/nodejs-22.1.0: fails to build on arm64
Summary: net-libs/nodejs-22.1.0: fails to build on arm64
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal
Assignee: William Hubbs
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: 915000
  Show dependency tree
 
Reported: 2024-05-08 03:53 UTC by Leonid Kopylov
Modified: 2024-09-20 22:26 UTC (History)
5 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
build.log (build.log,321.33 KB, text/plain)
2024-05-08 03:53 UTC, Leonid Kopylov
Details
build.log (build.log,359.83 KB, text/plain)
2024-08-27 15:22 UTC, Leonid Kopylov
Details
build.log (build.log,367.52 KB, text/plain)
2024-09-06 08:31 UTC, Leonid Kopylov
Details
build.log.xz (build.log.xz,13.05 KB, application/x-xz)
2024-09-12 07:19 UTC, Leonid Kopylov
Details
build.log.xz (build.log.xz,36.27 KB, application/x-xz)
2024-09-12 07:53 UTC, Leonid Kopylov
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Leonid Kopylov 2024-05-08 03:53:10 UTC
# emerge -pqv '=net-libs/nodejs-22.1.0::gentoo'
[ebuild     U ] net-libs/nodejs-22.1.0 [20.12.1] USE="doc icu inspector npm snapshot ssl system-icu system-ssl -corepack -debug (-lto) -pax-kernel -test"

# emerge --info '=net-libs/nodejs-22.1.0::gentoo'
Portage 3.0.64 (python 3.12.3-final-0, default/linux/arm64/23.0/desktop/gnome/systemd, gcc-13, glibc-2.39-r5, 6.8.9-gentoo-arm64 aarch64)
=================================================================
                         System Settings
=================================================================
System uname: Linux-6.8.9-gentoo-arm64-aarch64-with-glibc2.39
KiB Mem:    32817032 total,  25685520 free
KiB Swap:    8388604 total,   8388604 free
Timestamp of repository gentoo: Wed, 08 May 2024 03:30:00 +0000
Head commit of repository gentoo: 7078bba0d1945b9ea59e6dc2a27c0b5ed1f7baf5
Timestamp of repository EmilienMottet: Fri, 03 May 2024 11:49:07 +0000
Head commit of repository EmilienMottet: d5744ec5265e5f9790073505bda39014f187f298

Timestamp of repository HomeAssistantRepository: Mon, 06 May 2024 17:35:23 +0000
Head commit of repository HomeAssistantRepository: 801074288510a613d235e4f86192490a952062ba

Timestamp of repository darkelf: Fri, 03 May 2024 11:48:58 +0000
Head commit of repository darkelf: 54f310cede59194c6fcf65577201d2504e1478f8

Timestamp of repository guru: Tue, 07 May 2024 23:18:32 +0000
Head commit of repository guru: b604384283dbb4073d7075dec864a776fec6ed5d

Timestamp of repository inode64-overlay: Mon, 06 May 2024 17:35:25 +0000
Head commit of repository inode64-overlay: f2b4af84b414bdd856d68219258c4c43e0c5154f

Timestamp of repository kde: Fri, 03 May 2024 19:33:26 +0000
Head commit of repository kde: 83c26545d674a784bd547a5fc484f441e8735963

Timestamp of repository pentoo: Tue, 07 May 2024 15:48:46 +0000
Head commit of repository pentoo: 39905f6eb1593e192c05318f9cf1e06d2ed2f900

sh bash 5.2_p26-r3
ld GNU ld (Gentoo 2.42 p3) 2.42.0
ccache version 4.9.1 [enabled]
app-misc/pax-utils:        1.3.7::gentoo
app-shells/bash:           5.2_p26-r3::gentoo
dev-build/autoconf:        2.13-r8::gentoo, 2.72-r1::gentoo
dev-build/automake:        1.16.5-r2::gentoo
dev-build/cmake:           3.29.3::gentoo
dev-build/libtool:         2.4.7-r4::gentoo
dev-build/make:            4.4.1-r1::gentoo
dev-build/meson:           1.4.0-r1::gentoo
dev-java/java-config:      2.3.3-r1::gentoo
dev-lang/perl:             5.38.2-r3::gentoo
dev-lang/python:           3.10.14_p1::gentoo, 3.11.9::gentoo, 3.12.3::gentoo
dev-lang/rust:             1.77.1::gentoo
dev-util/ccache:           4.9.1-r1::gentoo
sys-apps/baselayout:       2.15::gentoo
sys-apps/sandbox:          2.38::gentoo
sys-apps/systemd:          255.5-r2::gentoo
sys-devel/binutils:        2.42-r1::gentoo
sys-devel/binutils-config: 5.5::gentoo
sys-devel/clang:           15.0.7-r3::gentoo, 16.0.6::gentoo, 17.0.6::gentoo, 18.1.5::gentoo
sys-devel/gcc:             12.3.1_p20240502::gentoo, 13.2.1_p20240503::gentoo
sys-devel/gcc-config:      2.11::gentoo
sys-devel/lld:             17.0.6::gentoo, 18.1.5::gentoo
sys-devel/llvm:            15.0.7-r3::gentoo, 16.0.6::gentoo, 17.0.6::gentoo, 18.1.5::gentoo
sys-kernel/linux-headers:  6.8-r1::gentoo (virtual/os-headers)
sys-libs/glibc:            2.39-r5::gentoo
Repositories:

gentoo
    location: /var/db/repos/gentoo
    sync-type: rsync
    sync-uri: rsync://rsync.gentoo.org/gentoo-portage
    priority: -1000
    volatile: False
    sync-rsync-verify-jobs: 1
    sync-rsync-verify-max-age: 3
    sync-rsync-verify-metamanifest: yes
    sync-rsync-extra-opts:

EmilienMottet
    location: /var/db/repos/EmilienMottet
    sync-type: git
    sync-uri: https://github.com/gentoo-mirror/EmilienMottet.git
    masters: gentoo
    volatile: False

HomeAssistantRepository
    location: /var/db/repos/HomeAssistantRepository
    sync-type: git
    sync-uri: https://github.com/gentoo-mirror/HomeAssistantRepository.git
    masters: gentoo
    volatile: False

darkelf
    location: /var/db/repos/darkelf
    sync-type: git
    sync-uri: https://github.com/gentoo-mirror/darkelf.git
    masters: gentoo
    volatile: False

guru
    location: /var/db/repos/guru
    sync-type: git
    sync-uri: https://github.com/gentoo-mirror/guru.git
    masters: gentoo
    volatile: False

inode64-overlay
    location: /var/db/repos/inode64-overlay
    sync-type: git
    sync-uri: https://github.com/gentoo-mirror/inode64-overlay.git
    masters: gentoo
    volatile: False

kde
    location: /var/db/repos/kde
    sync-type: git
    sync-uri: https://github.com/gentoo-mirror/kde.git
    masters: gentoo
    volatile: False

pentoo
    location: /var/db/repos/pentoo
    sync-type: git
    sync-uri: https://github.com/gentoo-mirror/pentoo.git
    masters: gentoo
    volatile: False

Binary Repositories:

gentoobinhost
    priority: 1
    sync-uri: https://distfiles.gentoo.org/releases/arm64/binpackages/23.0/arm64

ACCEPT_KEYWORDS="arm64 ~arm64"
ACCEPT_LICENSE="* -@EULA geekbench Microsoft-vscode TeamViewer Vivaldi"
CBUILD="aarch64-unknown-linux-gnu"
CFLAGS="-march=native -O2 -pipe -fomit-frame-pointer"
CHOST="aarch64-unknown-linux-gnu"
CONFIG_PROTECT="/etc /etc/stunnel/stunnel.conf /opt/zookeeper-bin/conf /usr/lib64/libreoffice/program/sofficerc /usr/share/config /usr/share/gnupg/qualified.txt /var/bind"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php8.2/ext-active/ /etc/php/apache2-php8.3/ext-active/ /etc/php/cgi-php8.2/ext-active/ /etc/php/cgi-php8.3/ext-active/ /etc/php/cli-php8.2/ext-active/ /etc/php/cli-php8.3/ext-active/ /etc/php/fpm-php8.2/ext-active/ /etc/php/fpm-php8.3/ext-active/ /etc/php/phpdbg-php8.2/ext-active/ /etc/php/phpdbg-php8.3/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c"
CXXFLAGS="-march=native -O2 -pipe -fomit-frame-pointer"
DISTDIR="/var/cache/distfiles"
ENV_UNSET="CARGO_HOME DBUS_SESSION_BUS_ADDRESS DISPLAY GDK_PIXBUF_MODULE_FILE GOBIN GOPATH PERL5LIB PERL5OPT PERLPREFIX PERL_CORE PERL_MB_OPT PERL_MM_OPT XAUTHORITY XDG_CACHE_HOME XDG_CONFIG_HOME XDG_DATA_HOME XDG_RUNTIME_DIR XDG_STATE_HOME"
FCFLAGS="-march=native -O2 -pipe -fomit-frame-pointer"
FEATURES="assume-digests binpkg-docompress binpkg-dostrip binpkg-logs binpkg-multi-instance buildpkg-live ccache config-protect-if-modified distlocks ebuild-locks fixlafiles ipc-sandbox merge-sync merge-wait multilib-strict network-sandbox news parallel-fetch pid-sandbox pkgdir-index-trusted preserve-libs protect-owned qa-unresolved-soname-deps sandbox sfperms strict strict-keepdir unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync warn-on-large-env xattr"
FFLAGS="-march=native -O2 -pipe -fomit-frame-pointer"
GENTOO_MIRRORS="http://mirror.isoc.org.il/pub/gentoo/ https://mirror.eu.oneandone.net/linux/distributions/gentoo/gentoo/"
LANG="en_US.utf8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
LEX="flex"
MAKEOPTS="-j6"
PKGDIR="/var/cache/binpkgs"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --exclude=/.git"
PORTAGE_TMPDIR="/var/tmp"
SHELL="/bin/bash"
USE="X a52 aac accessibility acl acpi alsa arm64 audit bash-completion berkdb bidi bluetooth branding brotli btrfs bzip2 cairo cdda cdr cli colord crypt cryptsetup cups curl dbus designer device-mapper doc dri dts dvdr eds emacs encode evdev evo examples exif experimental ffmpeg flac fortran fuse gamepad gdbm gif git gmp gnome gnome-keyring gnome-online-accounts gnome-shell gnutls go gpg gpm gstreamer gtk gtk-doc gui hscolour html http iconv icu idn introspection iodbc ios ipv6 jack java jemalloc joystick jpeg json kde kerberos keyring lcms ldap libnotify libtirpc lua lvm lz4 lzma lzo mad man mbedtls mng mongodb mp3 mp4 mpeg multimedia mysql nas nautilus ncurses netlink network networkmanager nfs nls nss odbc offensive ogg opengl openmp openssl pam pango pcap pcre pdf perl pkcs11 plasma plugins png policykit postgres ppds pulseaudio python qml qt5 qt6 readline redis samba sasl screencast sdl seccomp semantic-desktop snmp sound source speech spell sqlite ssl startup-notification svg symlink sysprof systemd tcl telemetry test-rust threads tiff tk tools tracker truetype udev udisks unicode upower usb utils v4l vala vim-syntax vnc vorbis vulkan wayland webengine webkit webp wxwidgets x264 xattr xcb xft xinerama xml xv xvid yaml zeroconf zip zlib zsh-completion zstd" ADA_TARGET="gcc_12" APACHE2_MODULES="actions alias auth_basic auth_digest authn_anon authn_core authn_dbd authn_dbm authn_file authn_socache authz_core authz_dbd authz_dbm authz_groupfile authz_host authz_owner authz_user autoindex brotli cache cgi cgid charset_lite dav dav_fs dav_lock dbd deflate dir env expires ext_filter file_cache filter headers http2 ident imagemap include info log_config logio mime mime_magic negotiation ratelimit reqtimeout rewrite session session_cookie session_crypto session_dbd setenvif socache_shmcb speling status substitute unique_id unixd userdir usertrack version vhost_alias watchdog xml2enc" APACHE2_MPMS="worker" CALLIGRA_FEATURES="karbon sheets words stage" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_ARM="edsp vfp vfpv3 vfpv4 vfp-d32 aes sha1 sha2 crc32 asimddp v8" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock greis isync itrax mtk3301 ntrip navcom oceanserver oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 tsip tripmate tnt ublox" GRUB_PLATFORMS="efi-64" INPUT_DEVICES="evdev joystick libinput" KERNEL="linux" L10N="en en-US he ru" LCD_DEVICES="bayrad cfontz glk hd44780 lb216 lcdm001 mtxorb text" LIBREOFFICE_EXTENSIONS="nlpsolver scripting-beanshell scripting-javascript wiki-publisher" LUA_SINGLE_TARGET="lua5-1" LUA_TARGETS="lua5-1" NGINX_MODULES_HTTP="access addition auth_basic auth_ldap auth_pam auth_request autoindex brotli browser charset dav dav_ext echo empty_gif fancyindex fastcgi flv geo geoip geoip2 grpc gunzip gzip image_filter javascript limit_conn limit_req map memc memcached metrics mirror mp4 perl proxy push_stream referer rewrite scgi split_clients ssi stub_status upload_progress upstream_check upstream_hash upstream_ip_hash upstream_keepalive upstream_least_conn upstream_zone userid uwsgi vhost_traffic_status xslt" NGINX_MODULES_MAIL="imap pop3 smtp" NGINX_MODULES_STREAM="access" OFFICE_IMPLEMENTATION="libreoffice" PERL_FEATURES="ithreads" PHP_TARGETS="php8-1" POSTGRES_TARGETS="postgres15" PYTHON_SINGLE_TARGET="python3_12" PYTHON_TARGETS="python3_11 python3_12" RUBY_TARGETS="ruby31 ruby32 ruby33" UWSGI_PLUGINS="alarm_curl cache carbon cheaper_busyness clock_monotonic clock_realtime corerouter curl_cron dumbloop echo emperor_amqp emperor_pg emperor_zeromq fastrouter forkptyrouter geoip graylog2 http ldap legion_cache_fetch logcrypto logfile logpipe logsocket mongodblog nagios notfound pam ping rados rawrouter redislog router_access router_basicauth router_cache router_expires router_hash router_http router_memcached router_metrics router_redirect router_redis router_rewrite router_spnego router_static router_uwsgi router_xmldir rpc rrdtool rsyslog signal spooler sqlite ssi sslrouter stats_pusher_statsd symcall syslog systemd_logger transformation_chunked transformation_gzip transformation_offload transformation_tofile transformation_toupper tuntap ugreen webdav xattr xslt zabbix zergpool" VIDEO_CARDS="virgl" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipp2p iface geoip fuzzy condition tarpit sysrq proto logmark ipmark dhcpmac delude chaos account"
Unset:  ADDR2LINE, AR, ARFLAGS, AS, ASFLAGS, CC, CCLD, CONFIG_SHELL, CPP, CPPFLAGS, CTARGET, CXX, CXXFILT, ELFEDIT, EMERGE_DEFAULT_OPTS, EXTRA_ECONF, F77FLAGS, FC, GCOV, GPROF, INSTALL_MASK, LC_ALL, LD, LFLAGS, LIBTOOL, LINGUAS, MAKE, MAKEFLAGS, NM, OBJCOPY, OBJDUMP, PORTAGE_BINHOST, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, PYTHONPATH, RANLIB, READELF, RUSTFLAGS, SIZE, STRINGS, STRIP, YACC, YFLAGS
Comment 1 Leonid Kopylov 2024-05-08 03:53:23 UTC
Created attachment 892459 [details]
build.log
Comment 2 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2024-05-08 18:40:47 UTC
[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.
Comment 3 Ionen Wolkens gentoo-dev 2024-05-08 18:47:43 UTC
In the event a segfault or similar happened, dmesg will likely show it too.
Comment 4 Leonid Kopylov 2024-05-09 04:06:52 UTC
(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?
Comment 5 Emanuel Czirai 2024-05-18 05:53:44 UTC
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.
Comment 6 Emanuel Czirai 2024-05-18 05:59:27 UTC
well, not using "-fno-delete-null-pointer-checks" in one of the flags eg. CFLAGS? in make.conf avoid the error for me.
Comment 7 Emanuel Czirai 2024-05-18 07:23:17 UTC
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
Comment 8 Leonid Kopylov 2024-05-30 04:11:39 UTC
same for net-libs/nodejs-22.2.0
Comment 9 Leonid Kopylov 2024-06-19 10:58:39 UTC
net-libs/nodejs-20.12.2 is the latest installable version on arm64
Comment 10 Leonid Kopylov 2024-08-23 16:57:23 UTC
still an issue with net-libs/nodejs-22.7.0
Comment 11 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2024-08-25 16:52:34 UTC Comment hidden (obsolete)
Comment 12 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2024-08-25 16:53:48 UTC Comment hidden (obsolete)
Comment 13 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2024-08-25 16:54:56 UTC
(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.
Comment 14 Leonid Kopylov 2024-08-27 13:08:01 UTC
(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?
Comment 15 Leonid Kopylov 2024-08-27 15:22:06 UTC
Created attachment 901356 [details]
build.log
Comment 16 Leonid Kopylov 2024-08-27 15:22:50 UTC
(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)
Comment 17 Leonid Kopylov 2024-08-27 15:25:43 UTC
(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
Comment 18 Leonid Kopylov 2024-09-06 08:31:16 UTC
Created attachment 902235 [details]
build.log
Comment 19 Leonid Kopylov 2024-09-06 08:31:23 UTC
same for net-libs/nodejs-22.8.0
Comment 20 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2024-09-06 13:10:18 UTC
(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.
Comment 21 Leonid Kopylov 2024-09-06 14:16:46 UTC
(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)
Comment 22 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2024-09-06 14:26:21 UTC
Can you rebuild nodejs (and glibc if not done so already) with debugging symbols and try again? See https://wiki.gentoo.org/wiki/Debugging.
Comment 23 Leonid Kopylov 2024-09-06 15:51:09 UTC
(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)
Comment 24 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2024-09-11 22:56:45 UTC
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.
Comment 25 Leonid Kopylov 2024-09-12 07:19:57 UTC
Created attachment 902696 [details]
build.log.xz
Comment 26 Leonid Kopylov 2024-09-12 07:20:25 UTC
(In reply to Leonid Kopylov from comment #25)
> Created attachment 902696 [details]
> build.log.xz

ASAN
Comment 27 Leonid Kopylov 2024-09-12 07:53:03 UTC
Created attachment 902697 [details]
build.log.xz
Comment 28 Leonid Kopylov 2024-09-12 07:53:15 UTC
(In reply to Leonid Kopylov from comment #27)
> Created attachment 902697 [details]
> build.log.xz

UBSAN
Comment 29 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2024-09-19 19:15:52 UTC
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.
Comment 30 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2024-09-19 19:16:14 UTC
Could you try GCC 14?
Comment 31 Leonid Kopylov 2024-09-19 19:45:18 UTC
It is gcc 14
Comment 32 Rachid Achellal 2024-09-20 07:04:01 UTC
After adding -mbranch-protection=none as common flags into make.conf it fixed the issue.
Comment 33 Larry the Git Cow gentoo-dev 2024-09-20 22:26:39 UTC
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(+)