[libcxx-commits] [libcxx] [libc++] Replace the of use custom sections for detecting overriden functions (PR #175896)
LLVM Continuous Integration via libcxx-commits
libcxx-commits at lists.llvm.org
Tue Jul 7 22:26:20 PDT 2026
llvm-ci wrote:
LLVM Buildbot has detected a new failure on builder `sanitizer-aarch64-linux` running on `sanitizer-buildbot7` while building `libcxx` at step 2 "annotate".
Full details are available at: https://lab.llvm.org/buildbot/#/builders/51/builds/39785
<details>
<summary>Here is the relevant piece of the build log for the reference</summary>
```
Step 2 (annotate) failure: 'python ../sanitizer_buildbot/sanitizers/zorg/buildbot/builders/sanitizers/buildbot_selector.py' (failure)
...
libc++abi: libc++ was configured with exceptions disabled and `operator new(size_t, align_val_t)` has been overridden, but `operator new(size_t, align_val_t, nothrow_t)` has not been overridden. This is problematic because `operator new(size_t, align_val_t, nothrow_t)` must call `operator new(size_t, align_val_t)`, which will terminate in case it fails to allocate, making it impossible for `operator new(size_t, align_val_t, nothrow_t)` to fulfill its contract (since it should return nullptr upon failure). Please make sure you override `operator new(size_t, align_val_t, nothrow_t)` as well.
llvm-lit: /home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/utils/lit/lit/formats/googletest.py:38: warning: unable to discover google-tests in '/home/b/sanitizer-aarch64-linux/build/build_default/runtimes/runtimes-bins/compiler-rt/lib/msan/tests/./Msan-aarch64-with-call-Test': Command '['/home/b/sanitizer-aarch64-linux/build/build_default/runtimes/runtimes-bins/compiler-rt/lib/msan/tests/./Msan-aarch64-with-call-Test', '--gtest_list_tests', '--gtest_filter=-*DISABLED_*']' died with <Signals.SIGABRT: 6>.. Process output: b''
libc++abi: libc++ was configured with exceptions disabled and `operator new(size_t, align_val_t)` has been overridden, but `operator new(size_t, align_val_t, nothrow_t)` has not been overridden. This is problematic because `operator new(size_t, align_val_t, nothrow_t)` must call `operator new(size_t, align_val_t)`, which will terminate in case it fails to allocate, making it impossible for `operator new(size_t, align_val_t, nothrow_t)` to fulfill its contract (since it should return nullptr upon failure). Please make sure you override `operator new(size_t, align_val_t, nothrow_t)` as well.
llvm-lit: /home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/utils/lit/lit/formats/googletest.py:38: warning: unable to discover google-tests in '/home/b/sanitizer-aarch64-linux/build/build_default/runtimes/runtimes-bins/compiler-rt/lib/msan/tests/./Msan-aarch64-Test': Command '['/home/b/sanitizer-aarch64-linux/build/build_default/runtimes/runtimes-bins/compiler-rt/lib/msan/tests/./Msan-aarch64-Test', '--gtest_list_tests', '--gtest_filter=-*DISABLED_*']' died with <Signals.SIGABRT: 6>.. Process output: b''
libc++abi: libc++ was configured with exceptions disabled and `operator new(size_t, align_val_t)` has been overridden, but `operator new(size_t, align_val_t, nothrow_t)` has not been overridden. This is problematic because `operator new(size_t, align_val_t, nothrow_t)` must call `operator new(size_t, align_val_t)`, which will terminate in case it fails to allocate, making it impossible for `operator new(size_t, align_val_t, nothrow_t)` to fulfill its contract (since it should return nullptr upon failure). Please make sure you override `operator new(size_t, align_val_t, nothrow_t)` as well.
llvm-lit: /home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/utils/lit/lit/formats/googletest.py:38: warning: unable to discover google-tests in '/home/b/sanitizer-aarch64-linux/build/build_default/runtimes/runtimes-bins/compiler-rt/lib/tsan/tests/unit/./TsanUnitTest-aarch64-Test': Command '['/home/b/sanitizer-aarch64-linux/build/build_default/runtimes/runtimes-bins/compiler-rt/lib/tsan/tests/unit/./TsanUnitTest-aarch64-Test', '--gtest_list_tests', '--gtest_filter=-*DISABLED_*']' died with <Signals.SIGABRT: 6>.. Process output: b''
libc++abi: libc++ was configured with exceptions disabled and `operator new(size_t, align_val_t)` has been overridden, but `operator new(size_t, align_val_t, nothrow_t)` has not been overridden. This is problematic because `operator new(size_t, align_val_t, nothrow_t)` must call `operator new(size_t, align_val_t)`, which will terminate in case it fails to allocate, making it impossible for `operator new(size_t, align_val_t, nothrow_t)` to fulfill its contract (since it should return nullptr upon failure). Please make sure you override `operator new(size_t, align_val_t, nothrow_t)` as well.
llvm-lit: /home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/utils/lit/lit/formats/googletest.py:38: warning: unable to discover google-tests in '/home/b/sanitizer-aarch64-linux/build/build_default/runtimes/runtimes-bins/compiler-rt/lib/tsan/tests/rtl/./TsanRtlTest-aarch64-Test': Command '['/home/b/sanitizer-aarch64-linux/build/build_default/runtimes/runtimes-bins/compiler-rt/lib/tsan/tests/rtl/./TsanRtlTest-aarch64-Test', '--gtest_list_tests', '--gtest_filter=-*DISABLED_*']' died with <Signals.SIGABRT: 6>.. Process output: b''
-- Testing: 5879 tests, 72 workers --
Testing:
FAIL: AddressSanitizer-Unit :: ./Asan-aarch64-calls-Dynamic-Test/failed_to_discover_tests_from_gtest (1 of 5879)
******************** TEST 'AddressSanitizer-Unit :: ./Asan-aarch64-calls-Dynamic-Test/failed_to_discover_tests_from_gtest' FAILED ********************
********************
Testing:
FAIL: AddressSanitizer-Unit :: ./Asan-aarch64-calls-Test/failed_to_discover_tests_from_gtest (2 of 5879)
******************** TEST 'AddressSanitizer-Unit :: ./Asan-aarch64-calls-Test/failed_to_discover_tests_from_gtest' FAILED ********************
********************
Testing:
FAIL: AddressSanitizer-Unit :: ./Asan-aarch64-inline-Dynamic-Test/failed_to_discover_tests_from_gtest (3 of 5879)
******************** TEST 'AddressSanitizer-Unit :: ./Asan-aarch64-inline-Dynamic-Test/failed_to_discover_tests_from_gtest' FAILED ********************
********************
Testing:
FAIL: AddressSanitizer-Unit :: ./Asan-aarch64-inline-Test/failed_to_discover_tests_from_gtest (4 of 5879)
******************** TEST 'AddressSanitizer-Unit :: ./Asan-aarch64-inline-Test/failed_to_discover_tests_from_gtest' FAILED ********************
********************
Testing:
FAIL: AddressSanitizer-aarch64-linux :: TestCases/Linux/long-object-path.cpp (110 of 5879)
******************** TEST 'AddressSanitizer-aarch64-linux :: TestCases/Linux/long-object-path.cpp' FAILED ********************
Exit Code: -6
Command Output (stdout):
--
# RUN: at line 1
mkdir -p /home/b/sanitizer-aarch64-linux/build/build_default/runtimes/runtimes-bins/compiler-rt/test/asan/AARCH64LinuxConfig/TestCases/Linux/Output/long-object-path.cpp.tmp.dir/a-long-directory-name-to-test-allocations-for-exceptions-in-_dl_lookup_symbol_x-since-glibc-2.27
# executed command: mkdir -p /home/b/sanitizer-aarch64-linux/build/build_default/runtimes/runtimes-bins/compiler-rt/test/asan/AARCH64LinuxConfig/TestCases/Linux/Output/long-object-path.cpp.tmp.dir/a-long-directory-name-to-test-allocations-for-exceptions-in-_dl_lookup_symbol_x-since-glibc-2.27
# note: command had no output on stdout or stderr
# RUN: at line 2
/home/b/sanitizer-aarch64-linux/build/build_default/./bin/clang --driver-mode=g++ -fsanitize=address -mno-omit-leaf-frame-pointer -fno-omit-frame-pointer -fno-optimize-sibling-calls -gline-tables-only -Wthread-safety -Wthread-safety-reference -Wthread-safety-beta -g /home/b/sanitizer-aarch64-linux/build/llvm-project/compiler-rt/test/asan/TestCases/Linux/long-object-path.cpp -o /home/b/sanitizer-aarch64-linux/build/build_default/runtimes/runtimes-bins/compiler-rt/test/asan/AARCH64LinuxConfig/TestCases/Linux/Output/long-object-path.cpp.tmp.dir/long-object-path
# executed command: /home/b/sanitizer-aarch64-linux/build/build_default/./bin/clang --driver-mode=g++ -fsanitize=address -mno-omit-leaf-frame-pointer -fno-omit-frame-pointer -fno-optimize-sibling-calls -gline-tables-only -Wthread-safety -Wthread-safety-reference -Wthread-safety-beta -g /home/b/sanitizer-aarch64-linux/build/llvm-project/compiler-rt/test/asan/TestCases/Linux/long-object-path.cpp -o /home/b/sanitizer-aarch64-linux/build/build_default/runtimes/runtimes-bins/compiler-rt/test/asan/AARCH64LinuxConfig/TestCases/Linux/Output/long-object-path.cpp.tmp.dir/long-object-path
# note: command had no output on stdout or stderr
# RUN: at line 3
/home/b/sanitizer-aarch64-linux/build/build_default/runtimes/runtimes-bins/compiler-rt/test/asan/AARCH64LinuxConfig/TestCases/Linux/Output/long-object-path.cpp.tmp.dir/a-*/../a-*/../a-*/../a-*/../a-*/../a-*/../a-*/../a-*/../long-object-path
# executed command: '/home/b/sanitizer-aarch64-linux/build/build_default/runtimes/runtimes-bins/compiler-rt/test/asan/AARCH64LinuxConfig/TestCases/Linux/Output/long-object-path.cpp.tmp.dir/a-*/../a-*/../a-*/../a-*/../a-*/../a-*/../a-*/../a-*/../long-object-path'
# .---command stderr------------
# | libc++abi: libc++ was configured with exceptions disabled and `operator new(size_t, align_val_t)` has been overridden, but `operator new(size_t, align_val_t, nothrow_t)` has not been overridden. This is problematic because `operator new(size_t, align_val_t, nothrow_t)` must call `operator new(size_t, align_val_t)`, which will terminate in case it fails to allocate, making it impossible for `operator new(size_t, align_val_t, nothrow_t)` to fulfill its contract (since it should return nullptr upon failure). Please make sure you override `operator new(size_t, align_val_t, nothrow_t)` as well.
Step 9 (test compiler-rt symbolizer) failure: test compiler-rt symbolizer (failure)
...
libc++abi: libc++ was configured with exceptions disabled and `operator new(size_t, align_val_t)` has been overridden, but `operator new(size_t, align_val_t, nothrow_t)` has not been overridden. This is problematic because `operator new(size_t, align_val_t, nothrow_t)` must call `operator new(size_t, align_val_t)`, which will terminate in case it fails to allocate, making it impossible for `operator new(size_t, align_val_t, nothrow_t)` to fulfill its contract (since it should return nullptr upon failure). Please make sure you override `operator new(size_t, align_val_t, nothrow_t)` as well.
llvm-lit: /home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/utils/lit/lit/formats/googletest.py:38: warning: unable to discover google-tests in '/home/b/sanitizer-aarch64-linux/build/build_default/runtimes/runtimes-bins/compiler-rt/lib/msan/tests/./Msan-aarch64-with-call-Test': Command '['/home/b/sanitizer-aarch64-linux/build/build_default/runtimes/runtimes-bins/compiler-rt/lib/msan/tests/./Msan-aarch64-with-call-Test', '--gtest_list_tests', '--gtest_filter=-*DISABLED_*']' died with <Signals.SIGABRT: 6>.. Process output: b''
libc++abi: libc++ was configured with exceptions disabled and `operator new(size_t, align_val_t)` has been overridden, but `operator new(size_t, align_val_t, nothrow_t)` has not been overridden. This is problematic because `operator new(size_t, align_val_t, nothrow_t)` must call `operator new(size_t, align_val_t)`, which will terminate in case it fails to allocate, making it impossible for `operator new(size_t, align_val_t, nothrow_t)` to fulfill its contract (since it should return nullptr upon failure). Please make sure you override `operator new(size_t, align_val_t, nothrow_t)` as well.
llvm-lit: /home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/utils/lit/lit/formats/googletest.py:38: warning: unable to discover google-tests in '/home/b/sanitizer-aarch64-linux/build/build_default/runtimes/runtimes-bins/compiler-rt/lib/msan/tests/./Msan-aarch64-Test': Command '['/home/b/sanitizer-aarch64-linux/build/build_default/runtimes/runtimes-bins/compiler-rt/lib/msan/tests/./Msan-aarch64-Test', '--gtest_list_tests', '--gtest_filter=-*DISABLED_*']' died with <Signals.SIGABRT: 6>.. Process output: b''
libc++abi: libc++ was configured with exceptions disabled and `operator new(size_t, align_val_t)` has been overridden, but `operator new(size_t, align_val_t, nothrow_t)` has not been overridden. This is problematic because `operator new(size_t, align_val_t, nothrow_t)` must call `operator new(size_t, align_val_t)`, which will terminate in case it fails to allocate, making it impossible for `operator new(size_t, align_val_t, nothrow_t)` to fulfill its contract (since it should return nullptr upon failure). Please make sure you override `operator new(size_t, align_val_t, nothrow_t)` as well.
llvm-lit: /home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/utils/lit/lit/formats/googletest.py:38: warning: unable to discover google-tests in '/home/b/sanitizer-aarch64-linux/build/build_default/runtimes/runtimes-bins/compiler-rt/lib/tsan/tests/unit/./TsanUnitTest-aarch64-Test': Command '['/home/b/sanitizer-aarch64-linux/build/build_default/runtimes/runtimes-bins/compiler-rt/lib/tsan/tests/unit/./TsanUnitTest-aarch64-Test', '--gtest_list_tests', '--gtest_filter=-*DISABLED_*']' died with <Signals.SIGABRT: 6>.. Process output: b''
libc++abi: libc++ was configured with exceptions disabled and `operator new(size_t, align_val_t)` has been overridden, but `operator new(size_t, align_val_t, nothrow_t)` has not been overridden. This is problematic because `operator new(size_t, align_val_t, nothrow_t)` must call `operator new(size_t, align_val_t)`, which will terminate in case it fails to allocate, making it impossible for `operator new(size_t, align_val_t, nothrow_t)` to fulfill its contract (since it should return nullptr upon failure). Please make sure you override `operator new(size_t, align_val_t, nothrow_t)` as well.
llvm-lit: /home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/utils/lit/lit/formats/googletest.py:38: warning: unable to discover google-tests in '/home/b/sanitizer-aarch64-linux/build/build_default/runtimes/runtimes-bins/compiler-rt/lib/tsan/tests/rtl/./TsanRtlTest-aarch64-Test': Command '['/home/b/sanitizer-aarch64-linux/build/build_default/runtimes/runtimes-bins/compiler-rt/lib/tsan/tests/rtl/./TsanRtlTest-aarch64-Test', '--gtest_list_tests', '--gtest_filter=-*DISABLED_*']' died with <Signals.SIGABRT: 6>.. Process output: b''
-- Testing: 5879 tests, 72 workers --
Testing:
FAIL: AddressSanitizer-Unit :: ./Asan-aarch64-calls-Dynamic-Test/failed_to_discover_tests_from_gtest (1 of 5879)
******************** TEST 'AddressSanitizer-Unit :: ./Asan-aarch64-calls-Dynamic-Test/failed_to_discover_tests_from_gtest' FAILED ********************
********************
Testing:
FAIL: AddressSanitizer-Unit :: ./Asan-aarch64-calls-Test/failed_to_discover_tests_from_gtest (2 of 5879)
******************** TEST 'AddressSanitizer-Unit :: ./Asan-aarch64-calls-Test/failed_to_discover_tests_from_gtest' FAILED ********************
********************
Testing:
FAIL: AddressSanitizer-Unit :: ./Asan-aarch64-inline-Dynamic-Test/failed_to_discover_tests_from_gtest (3 of 5879)
******************** TEST 'AddressSanitizer-Unit :: ./Asan-aarch64-inline-Dynamic-Test/failed_to_discover_tests_from_gtest' FAILED ********************
********************
Testing:
FAIL: AddressSanitizer-Unit :: ./Asan-aarch64-inline-Test/failed_to_discover_tests_from_gtest (4 of 5879)
******************** TEST 'AddressSanitizer-Unit :: ./Asan-aarch64-inline-Test/failed_to_discover_tests_from_gtest' FAILED ********************
********************
Testing:
FAIL: AddressSanitizer-aarch64-linux :: TestCases/Linux/long-object-path.cpp (110 of 5879)
******************** TEST 'AddressSanitizer-aarch64-linux :: TestCases/Linux/long-object-path.cpp' FAILED ********************
Exit Code: -6
Command Output (stdout):
--
# RUN: at line 1
mkdir -p /home/b/sanitizer-aarch64-linux/build/build_default/runtimes/runtimes-bins/compiler-rt/test/asan/AARCH64LinuxConfig/TestCases/Linux/Output/long-object-path.cpp.tmp.dir/a-long-directory-name-to-test-allocations-for-exceptions-in-_dl_lookup_symbol_x-since-glibc-2.27
# executed command: mkdir -p /home/b/sanitizer-aarch64-linux/build/build_default/runtimes/runtimes-bins/compiler-rt/test/asan/AARCH64LinuxConfig/TestCases/Linux/Output/long-object-path.cpp.tmp.dir/a-long-directory-name-to-test-allocations-for-exceptions-in-_dl_lookup_symbol_x-since-glibc-2.27
# note: command had no output on stdout or stderr
# RUN: at line 2
/home/b/sanitizer-aarch64-linux/build/build_default/./bin/clang --driver-mode=g++ -fsanitize=address -mno-omit-leaf-frame-pointer -fno-omit-frame-pointer -fno-optimize-sibling-calls -gline-tables-only -Wthread-safety -Wthread-safety-reference -Wthread-safety-beta -g /home/b/sanitizer-aarch64-linux/build/llvm-project/compiler-rt/test/asan/TestCases/Linux/long-object-path.cpp -o /home/b/sanitizer-aarch64-linux/build/build_default/runtimes/runtimes-bins/compiler-rt/test/asan/AARCH64LinuxConfig/TestCases/Linux/Output/long-object-path.cpp.tmp.dir/long-object-path
# executed command: /home/b/sanitizer-aarch64-linux/build/build_default/./bin/clang --driver-mode=g++ -fsanitize=address -mno-omit-leaf-frame-pointer -fno-omit-frame-pointer -fno-optimize-sibling-calls -gline-tables-only -Wthread-safety -Wthread-safety-reference -Wthread-safety-beta -g /home/b/sanitizer-aarch64-linux/build/llvm-project/compiler-rt/test/asan/TestCases/Linux/long-object-path.cpp -o /home/b/sanitizer-aarch64-linux/build/build_default/runtimes/runtimes-bins/compiler-rt/test/asan/AARCH64LinuxConfig/TestCases/Linux/Output/long-object-path.cpp.tmp.dir/long-object-path
# note: command had no output on stdout or stderr
# RUN: at line 3
/home/b/sanitizer-aarch64-linux/build/build_default/runtimes/runtimes-bins/compiler-rt/test/asan/AARCH64LinuxConfig/TestCases/Linux/Output/long-object-path.cpp.tmp.dir/a-*/../a-*/../a-*/../a-*/../a-*/../a-*/../a-*/../a-*/../long-object-path
# executed command: '/home/b/sanitizer-aarch64-linux/build/build_default/runtimes/runtimes-bins/compiler-rt/test/asan/AARCH64LinuxConfig/TestCases/Linux/Output/long-object-path.cpp.tmp.dir/a-*/../a-*/../a-*/../a-*/../a-*/../a-*/../a-*/../a-*/../long-object-path'
# .---command stderr------------
# | libc++abi: libc++ was configured with exceptions disabled and `operator new(size_t, align_val_t)` has been overridden, but `operator new(size_t, align_val_t, nothrow_t)` has not been overridden. This is problematic because `operator new(size_t, align_val_t, nothrow_t)` must call `operator new(size_t, align_val_t)`, which will terminate in case it fails to allocate, making it impossible for `operator new(size_t, align_val_t, nothrow_t)` to fulfill its contract (since it should return nullptr upon failure). Please make sure you override `operator new(size_t, align_val_t, nothrow_t)` as well.
```
</details>
https://github.com/llvm/llvm-project/pull/175896
More information about the libcxx-commits
mailing list