[libcxx-commits] [libcxx] [libcxx] Implementation of non lock-free atomic shared_ptr (PR #194215)

Vladislav Semykin via libcxx-commits libcxx-commits at lists.llvm.org
Sun Apr 26 08:37:42 PDT 2026


ViNN280801 wrote:

This time CI fails on AIX (32 and 64 bit), both with `Timeout: Reached timeout of 1500 seconds` on stress test. Here is the snippet from the log:

```log
[7/8] cd /scratch/powerllvm/cpap8008/llvm-project/libcxx-ci/build/aix/libcxx/test && /opt/freeware/bin/python3.9 /scratch/powerllvm/cpap8008/llvm-project/libcxx-ci/build/aix/bin/llvm-lit -sv --xunit-xml-output test-results.xml --timeout=1500 --time-tests --param enable_benchmarks="no" /scratch/powerllvm/cpap8008/llvm-project/libcxx-ci/build/aix/libcxx/test
llvm-lit: /scratch/powerllvm/cpap8008/llvm-project/libcxx-ci/libcxx/utils/libcxx/test/config.py:24: note: (ibm-libc++-shared.cfg.in) All available features: 32-bit-pointer, LIBCXX-AIX-FIXME, add-latomic-workaround, buildhost=aix, c++26, c++experimental, can-create-symlinks, character-conversion-warnings, clang, clang-21, clang-21.1, clang-21.1.3, diagnose-if-support, enable-benchmarks=no, gcc-style-warnings, has-1024-bit-atomics, has-64-bit-atomics, has-fblocks, has-fconstexpr-steps, has-no-cxx-module-support, has-unix-headers, large_tests, libcpp-abi-version=1, libcpp-hardening-mode=none, libcpp-has-no-availability-markup, libcpp-has-thread-api-pthread, locale.cs_CZ.ISO8859-2, locale.en_US.UTF-8, locale.fr_CA.ISO8859-1, locale.fr_FR.UTF-8, locale.ja_JP.UTF-8, locale.ru_RU.UTF-8, locale.zh_CN.UTF-8, long_tests, no-tzdb, objective-c++, optimization=none, std-at-least-c++03, std-at-least-c++11, std-at-least-c++14, std-at-least-c++17, std-at-least-c++20, std-at-least-c++23, std-at-least-c++26, stdlib=libc++, stdlib=llvm-libc++, target=powerpc-ibm-aix7.2.5.11, verify-support
llvm-lit: /scratch/powerllvm/cpap8008/llvm-project/libcxx-ci/llvm/utils/lit/lit/main.py:74: note: The test suite configuration requested an individual test timeout of 0 seconds but a timeout of 1500 seconds was requested on the command line. Forcing timeout to be 1500 seconds.
-- Testing: 10895 tests, 128 workers --
Testing:  0.. 10.. 20.. 30.. 40.. 50.. 60.. 70.. 80.. 90..Invalid pid specified: 38994356
/bin/sh: kill: bad argument count
 
TIMEOUT: ibm-libc++-shared.cfg.in :: std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_shared_ptr_stress.pass.cpp (10895 of 10895)
******************** TEST 'ibm-libc++-shared.cfg.in :: std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_shared_ptr_stress.pass.cpp' FAILED ********************
Exit Code: -9
Timeout: Reached timeout of 1500 seconds
 
Command Output (stdout):
--
# COMPILED WITH
/opt/IBM/openxlC/17.1.4/compat/llvm/clang++ /scratch/powerllvm/cpap8008/llvm-project/libcxx-ci/libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_shared_ptr_stress.pass.cpp -pthread --target=powerpc-ibm-aix7.2.5.11 -nostdinc++ -D__LIBC_NO_CPP_MATH_OVERLOADS__ -I /scratch/powerllvm/cpap8008/llvm-project/libcxx-ci/build/aix/libcxx/test-suite-install/include/c++/v1 -I /scratch/powerllvm/cpap8008/llvm-project/libcxx-ci/libcxx/test/support -std=c++26 -Werror -Wall -Wctad-maybe-unsupported -Wextra -Wshadow -Wundef -Wunused-template -Wno-unused-command-line-argument -Wno-attributes -Wno-pessimizing-move -Wno-noexcept-type -Wno-atomic-alignment -Wno-reserved-module-identifier -Wdeprecated-copy -Wdeprecated-copy-dtor -Wshift-negative-value -Wno-user-defined-literals -Wno-tautological-compare -Wsign-compare -Wunused-variable -Wunused-parameter -Wunreachable-code -Wno-unused-local-typedef -Wno-local-type-template-args -Wno-c++11-extensions -Wno-unknown-pragmas -Wno-pass-failed -Wno-mismatched-new-delete -Wno-redundant-move -Wno-self-move -Wno-nullability-completeness -flax-vector-conversions=none -D_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER -D_LIBCPP_ENABLE_EXPERIMENTAL -Wuser-defined-warnings  -lc++experimental -nostdlib++ -L /scratch/powerllvm/cpap8008/llvm-project/libcxx-ci/build/aix/libcxx/test-suite-install/lib -lc++ -lc++abi -latomic -Wl,-bbigtoc -latomic -o /scratch/powerllvm/cpap8008/llvm-project/libcxx-ci/build/aix/libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/Output/atomic_shared_ptr_stress.pass.cpp.dir/t.tmp.exe
# executed command: /opt/IBM/openxlC/17.1.4/compat/llvm/clang++ /scratch/powerllvm/cpap8008/llvm-project/libcxx-ci/libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_shared_ptr_stress.pass.cpp -pthread --target=powerpc-ibm-aix7.2.5.11 -nostdinc++ -D__LIBC_NO_CPP_MATH_OVERLOADS__ -I /scratch/powerllvm/cpap8008/llvm-project/libcxx-ci/build/aix/libcxx/test-suite-install/include/c++/v1 -I /scratch/powerllvm/cpap8008/llvm-project/libcxx-ci/libcxx/test/support -std=c++26 -Werror -Wall -Wctad-maybe-unsupported -Wextra -Wshadow -Wundef -Wunused-template -Wno-unused-command-line-argument -Wno-attributes -Wno-pessimizing-move -Wno-noexcept-type -Wno-atomic-alignment -Wno-reserved-module-identifier -Wdeprecated-copy -Wdeprecated-copy-dtor -Wshift-negative-value -Wno-user-defined-literals -Wno-tautological-compare -Wsign-compare -Wunused-variable -Wunused-parameter -Wunreachable-code -Wno-unused-local-typedef -Wno-local-type-template-args -Wno-c++11-extensions -Wno-unknown-pragmas -Wno-pass-failed -Wno-mismatched-new-delete -Wno-redundant-move -Wno-self-move -Wno-nullability-completeness -flax-vector-conversions=none -D_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER -D_LIBCPP_ENABLE_EXPERIMENTAL -Wuser-defined-warnings -lc++experimental -nostdlib++ -L /scratch/powerllvm/cpap8008/llvm-project/libcxx-ci/build/aix/libcxx/test-suite-install/lib -lc++ -lc++abi -latomic -Wl,-bbigtoc -latomic -o /scratch/powerllvm/cpap8008/llvm-project/libcxx-ci/build/aix/libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/Output/atomic_shared_ptr_stress.pass.cpp.dir/t.tmp.exe
# note: command had no output on stdout or stderr
# EXECUTED AS
/opt/freeware/bin/python3.9 /scratch/powerllvm/cpap8008/llvm-project/libcxx-ci/libcxx/utils/run.py --execdir /scratch/powerllvm/cpap8008/llvm-project/libcxx-ci/build/aix/libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/Output/atomic_shared_ptr_stress.pass.cpp.dir --env LIBPATH=/scratch/powerllvm/cpap8008/llvm-project/libcxx-ci/build/aix/libcxx/test-suite-install/lib --  /scratch/powerllvm/cpap8008/llvm-project/libcxx-ci/build/aix/libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/Output/atomic_shared_ptr_stress.pass.cpp.dir/t.tmp.exe
# executed command: /opt/freeware/bin/python3.9 /scratch/powerllvm/cpap8008/llvm-project/libcxx-ci/libcxx/utils/run.py --execdir /scratch/powerllvm/cpap8008/llvm-project/libcxx-ci/build/aix/libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/Output/atomic_shared_ptr_stress.pass.cpp.dir --env LIBPATH=/scratch/powerllvm/cpap8008/llvm-project/libcxx-ci/build/aix/libcxx/test-suite-install/lib -- /scratch/powerllvm/cpap8008/llvm-project/libcxx-ci/build/aix/libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/Output/atomic_shared_ptr_stress.pass.cpp.dir/t.tmp.exe
# note: command had no output on stdout or stderr
# error: command failed with exit status: -9
# error: command reached timeout: True
 
--
 
********************
Testing:  0.. 10.. 20.. 30.. 40.. 50.. 60.. 70.. 80.. 90..
Slowest Tests:
--------------------------------------------------------------------------
1500.09s: ibm-libc++-shared.cfg.in :: std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_shared_ptr_stress.pass.cpp
325.08s: ibm-libc++-shared.cfg.in :: std/algorithms/alg.sorting/alg.sort/stable.sort/stable_sort.pass.cpp
...
```

What is the recommended way to handle this in libc++ test suite?

https://github.com/llvm/llvm-project/pull/194215


More information about the libcxx-commits mailing list