#5 Fix loading unbundled undici builtin (rhbz#2259320)
Merged 4 months ago by sgallagh. Opened 5 months ago by mochaa.
rpms/ mochaa/nodejs20 fix-undici-builtin  into  rawhide

file modified
+1 -1
@@ -547,7 +547,7 @@ 

             %{!?with_bundled_zlib:--shared-zlib} \

             %{!?with_bootstrap:--shared-builtin-cjs_module_lexer/lexer-path %{nodejs_default_sitelib}/cjs-module-lexer/lexer.js} \

             %{!?with_bootstrap:--shared-builtin-cjs_module_lexer/dist/lexer-path %{nodejs_default_sitelib}/cjs-module-lexer/dist/lexer.js} \

-            %{!?with_bootstrap:--shared-builtin-undici/undici-path %{nodejs_default_sitelib}/undici/index.js} \

+            %{!?with_bootstrap:--shared-builtin-undici/undici-path %{nodejs_default_sitelib}/undici/loader.js} \

             --shared-brotli \

             --shared-libuv \

             --with-intl=small-icu \

file modified
+1 -1
@@ -559,7 +559,7 @@ 

             %{!?with_bundled_zlib:--shared-zlib} \

             %{!?with_bootstrap:--shared-builtin-cjs_module_lexer/lexer-path %{nodejs_default_sitelib}/cjs-module-lexer/lexer.js} \

             %{!?with_bootstrap:--shared-builtin-cjs_module_lexer/dist/lexer-path %{nodejs_default_sitelib}/cjs-module-lexer/dist/lexer.js} \

-            %{!?with_bootstrap:--shared-builtin-undici/undici-path %{nodejs_default_sitelib}/undici/index.js} \

+            %{!?with_bootstrap:--shared-builtin-undici/undici-path %{nodejs_default_sitelib}/undici/loader.js} \

             --shared-brotli \

             --shared-libuv \

             --with-intl=small-icu \

internal compiler error: in aarch64_pair_mem_from_base
The bug is not reproducible, so it is likely a hardware or OS problem.

A gcc14 regression on aarch64.

internal compiler error: in aarch64_pair_mem_from_base
The bug is not reproducible, so it is likely a hardware or OS problem.

A gcc14 regression on aarch64.

Do you have a bug report to link to?

Do you have a bug report to link to?

Hmm not yet, since I experienced another regression on x86_64 when doing LTO:

[2724/2734] g++ -MMD -MF obj/test/cctest/cctest.test_inspector_socket_server.o.d -D_GLIBCXX_USE_CXX11_ABI=1 -DNODE_OPENSSL_CONF_NAME=openssl_conf -DNODE_OPENSSL_CERT_STORE -DOPENSSL_FIPS -DICU_NO_USER_DATA_OVERRIDE -DNODE_SHARED_BUILTIN_CJS_MODULE_LEXER_LEXER_PATH=/usr/lib/node_modules/cjs-module-lexer/lexer.js -DNODE_SHARED_BUILTIN_CJS_MODULE_LEXER_DIST_LEXER_PATH=/usr/lib/node_modules/cjs-module-lexer/dist/lexer.js -DNODE_SHARED_BUILTIN_UNDICI_UNDICI_PATH=/usr/lib/node_modules/undici/loader.js -D__STDC_FORMAT_MACROS '-DNODE_ARCH="x64"' '-DNODE_PLATFORM="linux"' -DNODE_WANT_INTERNALS=1 -DHAVE_OPENSSL=1 -DHAVE_INSPECTOR=1 -DNODE_SHARED_MODE -DUSING_UV_SHARED -DUSING_V8_SHARED -DBUILDING_NODE_EXTENSION -D__POSIX__ -DNODE_USE_V8_PLATFORM=1 -DNODE_V8_SHARED_RO_HEAP -DNODE_HAVE_I18N_SUPPORT=1 -DNODE_HAVE_SMALL_ICU=1 '-DNODE_ICU_DEFAULT_DATA_DIR="/usr/share/node-20/icudata"' -DGTEST_HAS_POSIX_RE=0 -DGTEST_LANG_CXX11=1 -DBASE64_STATIC_DEFINE -DUNIT_TEST -DUCONFIG_NO_SERVICE=1 -DU_ENABLE_DYLOAD=0 -DU_STATIC_IMPLEMENTATION=1 -DU_HAVE_STD_STRING=1 -DUCONFIG_NO_BREAK_ITERATION=0 -DNGHTTP2_STATICLIB -I../../src -I../../tools/msvs/genfiles -I../../deps/v8/include -I../../deps/cares/include -I../../deps/uv/include -I../../deps/uvwasi/include -I../../test/cctest -I../../deps/base64/base64/include -I../../deps/googletest/include -I../../deps/histogram/src -I../../deps/histogram/include -I../../deps/simdutf -I../../deps/ada -I../../deps/icu-small/source/i18n -I../../deps/icu-small/source/common -I../../deps/llhttp/include -I../../deps/nghttp2/lib/includes -Wall -Wextra -Wno-unused-parameter -pthread -Wall -Wextra -Wno-unused-parameter -fPIC -m64 -O3  -flto=4 -fuse-linker-plugin -ffat-lto-objects  -fno-omit-frame-pointer -O2 -fexceptions -g1 -grecord-gcc-switches -pipe -Wall -Wno-complain-wrong-lang -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DZLIB_CONST -fno-delete-null-pointer-checks -O3 -fno-ipa-icf -fno-rtti -fno-exceptions -std=gnu++17  -c ../../test/cctest/test_inspector_socket_server.cc -o obj/test/cctest/cctest.test_inspector_socket_server.o
[2725/2734] if [ ! -e lib/libnode.so.115 -o ! -e lib/libnode.so.115.TOC ]; then g++ -shared -Wl,-z,relro -Wl,--as-needed -Wl,-z,pack-relative-relocs -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld-errors -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes -pthread -rdynamic -Wl,-z,relro -Wl,-z,now -m64  -flto=4 -fuse-linker-plugin -ffat-lto-objects  -o lib/libnode.so.115 -Wl,-soname=libnode.so.115 @lib/libnode.so.115.rsp && { readelf -d lib/libnode.so.115 | grep SONAME ; nm -gD -f p lib/libnode.so.115 | cut -f1-2 -d' '; } > lib/libnode.so.115.TOC; else g++ -shared -Wl,-z,relro -Wl,--as-needed -Wl,-z,pack-relative-relocs -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld-errors -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes -pthread -rdynamic -Wl,-z,relro -Wl,-z,now -m64  -flto=4 -fuse-linker-plugin -ffat-lto-objects  -o lib/libnode.so.115 -Wl,-soname=libnode.so.115 @lib/libnode.so.115.rsp && { readelf -d lib/libnode.so.115 | grep SONAME ; nm -gD -f p lib/libnode.so.115 | cut -f1-2 -d' '; } > lib/libnode.so.115.tmp && if ! cmp -s lib/libnode.so.115.tmp lib/libnode.so.115.TOC; then mv lib/libnode.so.115.tmp lib/libnode.so.115.TOC ; fi; fi
FAILED: lib/libnode.so.115 lib/libnode.so.115.TOC 
if [ ! -e lib/libnode.so.115 -o ! -e lib/libnode.so.115.TOC ]; then g++ -shared -Wl,-z,relro -Wl,--as-needed -Wl,-z,pack-relative-relocs -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld-errors -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes -pthread -rdynamic -Wl,-z,relro -Wl,-z,now -m64  -flto=4 -fuse-linker-plugin -ffat-lto-objects  -o lib/libnode.so.115 -Wl,-soname=libnode.so.115 @lib/libnode.so.115.rsp && { readelf -d lib/libnode.so.115 | grep SONAME ; nm -gD -f p lib/libnode.so.115 | cut -f1-2 -d' '; } > lib/libnode.so.115.TOC; else g++ -shared -Wl,-z,relro -Wl,--as-needed -Wl,-z,pack-relative-relocs -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld-errors -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes -pthread -rdynamic -Wl,-z,relro -Wl,-z,now -m64  -flto=4 -fuse-linker-plugin -ffat-lto-objects  -o lib/libnode.so.115 -Wl,-soname=libnode.so.115 @lib/libnode.so.115.rsp && { readelf -d lib/libnode.so.115 | grep SONAME ; nm -gD -f p lib/libnode.so.115 | cut -f1-2 -d' '; } > lib/libnode.so.115.tmp && if ! cmp -s lib/libnode.so.115.tmp lib/libnode.so.115.TOC; then mv lib/libnode.so.115.tmp lib/libnode.so.115.TOC ; fi; fi
../../deps/icu-small/source/common/udata.cpp:646: warning: ‘icudt73_dat’ violates the C++ One Definition Rule [-Wodr]
  646 | extern "C" const DataHeader U_DATA_API U_ICUDATA_ENTRY_POINT;
../../deps/icu-small/source/stubdata/stubdata.cpp:24: note: type name ‘ICU_Data_Header’ should match type name ‘DataHeader’
   24 | extern "C" U_EXPORT const ICU_Data_Header U_ICUDATA_ENTRY_POINT alignas(16) = {
../../deps/icu-small/source/stubdata/stubdata.cpp:24: note: ‘icudt73_dat’ was previously declared here
../../deps/v8/src/compiler/raw-machine-assembler.cc: In member function ‘Return’:
../../deps/v8/src/compiler/raw-machine-assembler.cc:622:41: warning: argument 1 value ‘18446744073709551615’ exceeds maximum object size 9223372036854775807 [-Walloc-size-larger-than=]
  622 |   Node** values = new Node_ptr[count + 1];
      |                                         ^
/usr/include/c++/14/new:133:26: note: in a call to allocation function ‘operator new []’ declared here
  133 | _GLIBCXX_NODISCARD void* operator new[](std::size_t) _GLIBCXX_THROW (std::bad_alloc)
      |                          ^
../../deps/icu-small/source/common/ucnvmbcs.cpp: In function ‘ucnv_MBCSGetNextUChar’:
../../deps/icu-small/source/common/ucnvmbcs.cpp:3152:25: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
 3152 |                 *bytes++=*lastSource++;
      |                         ^
../../deps/icu-small/source/common/ucnv_bld.h:190: note: at offset 16 into destination object ‘toUBytes’ of size 7
  190 |     uint8_t toUBytes[UCNV_MAX_CHAR_LEN-1];/* more "toU status"; keeps the bytes of the current character */
../../deps/icu-small/source/common/ucnv_bld.h:190: note: destination object ‘toUBytes’ of size 7
../../deps/icu-small/source/common/ucnv_bld.h:190: note: at offset 16 into destination object ‘toUBytes’ of size 7
../../deps/icu-small/source/common/ucnvmbcs.cpp:3152:25: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
 3152 |                 *bytes++=*lastSource++;
      |                         ^
../../deps/icu-small/source/common/ucnv_bld.h:190: note: at offset 17 into destination object ‘toUBytes’ of size 7
  190 |     uint8_t toUBytes[UCNV_MAX_CHAR_LEN-1];/* more "toU status"; keeps the bytes of the current character */
../../deps/icu-small/source/common/ucnv_bld.h:190: note: at offset [1, 7] into destination object ‘toUBytes’ of size 7
../../deps/icu-small/source/common/ucnv_bld.h:190: note: at offset 17 into destination object ‘toUBytes’ of size 7
../../deps/icu-small/source/common/ucnvmbcs.cpp:3152:25: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
 3152 |                 *bytes++=*lastSource++;
      |                         ^
../../deps/icu-small/source/common/ucnv_bld.h:190: note: at offset 18 into destination object ‘toUBytes’ of size 7
  190 |     uint8_t toUBytes[UCNV_MAX_CHAR_LEN-1];/* more "toU status"; keeps the bytes of the current character */
../../deps/icu-small/source/common/ucnv_bld.h:190: note: at offset [2, 7] into destination object ‘toUBytes’ of size 7
../../deps/icu-small/source/common/ucnv_bld.h:190: note: at offset 18 into destination object ‘toUBytes’ of size 7
../../deps/icu-small/source/common/ucnvmbcs.cpp:3152:25: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
 3152 |                 *bytes++=*lastSource++;
      |                         ^
../../deps/icu-small/source/common/ucnv_bld.h:190: note: at offset 19 into destination object ‘toUBytes’ of size 7
  190 |     uint8_t toUBytes[UCNV_MAX_CHAR_LEN-1];/* more "toU status"; keeps the bytes of the current character */
../../deps/icu-small/source/common/ucnv_bld.h:190: note: at offset [3, 7] into destination object ‘toUBytes’ of size 7
../../deps/icu-small/source/common/ucnv_bld.h:190: note: at offset 19 into destination object ‘toUBytes’ of size 7
../../deps/icu-small/source/common/ucnvmbcs.cpp:3152:25: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
 3152 |                 *bytes++=*lastSource++;
      |                         ^
../../deps/icu-small/source/common/ucnv_bld.h:190: note: at offset 20 into destination object ‘toUBytes’ of size 7
  190 |     uint8_t toUBytes[UCNV_MAX_CHAR_LEN-1];/* more "toU status"; keeps the bytes of the current character */
../../deps/icu-small/source/common/ucnv_bld.h:190: note: at offset [4, 7] into destination object ‘toUBytes’ of size 7
../../deps/icu-small/source/common/ucnv_bld.h:190: note: at offset 20 into destination object ‘toUBytes’ of size 7
../../deps/icu-small/source/common/ucnvmbcs.cpp:3152:25: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
 3152 |                 *bytes++=*lastSource++;
      |                         ^
../../deps/icu-small/source/common/ucnv_bld.h:190: note: at offset 21 into destination object ‘toUBytes’ of size 7
  190 |     uint8_t toUBytes[UCNV_MAX_CHAR_LEN-1];/* more "toU status"; keeps the bytes of the current character */
../../deps/icu-small/source/common/ucnv_bld.h:190: note: at offset [5, 7] into destination object ‘toUBytes’ of size 7
../../deps/icu-small/source/common/ucnv_bld.h:190: note: at offset 21 into destination object ‘toUBytes’ of size 7
../../deps/icu-small/source/common/ucnvmbcs.cpp:3152:25: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
 3152 |                 *bytes++=*lastSource++;
      |                         ^
../../deps/icu-small/source/common/ucnv_bld.h:190: note: at offset 22 into destination object ‘toUBytes’ of size 7
  190 |     uint8_t toUBytes[UCNV_MAX_CHAR_LEN-1];/* more "toU status"; keeps the bytes of the current character */
../../deps/icu-small/source/common/ucnv_bld.h:190: note: at offset [6, 7] into destination object ‘toUBytes’ of size 7
../../deps/icu-small/source/common/ucnv_bld.h:190: note: at offset 22 into destination object ‘toUBytes’ of size 7
*** WARNING *** there are active plugins, do not report this as a bug unless you can reproduce it without enabling any plugins.
Event                            | Plugins
PLUGIN_FINISH_UNIT               | annobin: Generate final annotations
PLUGIN_START_UNIT                | annobin: Generate global annotations
PLUGIN_ALL_PASSES_START          | annobin: Generate per-function annotations
PLUGIN_ALL_PASSES_END            | annobin: Register per-function end symbols
during RTL pass: final
../../deps/icu-small/source/common/uniset.cpp: In member function ‘add’:
../../deps/icu-small/source/common/uniset.cpp:1869:1: internal compiler error: in add_AT_die_ref, at dwarf2out.cc:4913
 1869 | }
      | ^
Please submit a full bug report, with preprocessed source (by using -freport-bug).
See <http://bugzilla.redhat.com/bugzilla> for instructions.
make: *** [/tmp/cctnSuSq.mk:116: /tmp/cc05m1dz.ltrans38.ltrans.o] Error 1
make: *** Waiting for unfinished jobs....

Hmm I suspect you were hitting https://bugzilla.redhat.com/show_bug.cgi?id=2259937 which seems to be fixed in gcc-14.0.1-0.3.fc40

rebuilding for the nodejs-undici change.

Note/nitpick: The changes in nodejs20.spec should probably also happen in packaging/nodejs.spec.j2, or else we risk losing them in the next nodejs stream (22).

Note/nitpick: The changes in nodejs20.spec should probably also happen in packaging/nodejs.spec.j2, or else we risk losing them in the next nodejs stream (22).

Not just then, but also the next time we rebase; the nodejs20.spec is auto-generated from that template when running nodejs-sources.sh 20.y.z

rebased onto 2961a50

4 months ago

Pull-Request has been merged by sgallagh

4 months ago
Metadata