https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100182
--- Comment #37 from H.J. Lu <hjl.tools at gmail dot com> --- I still see 32-bit test hang at random on Skylake server: (gdb) bt #0 0xf7fc655d in __kernel_vsyscall () #1 0xf7bac46b in syscall () from /lib/libc.so.6 #2 0x0804995d in std::__detail::__platform_wait<int> ( __addr=0x804d680 <std::__detail::__waiter_pool_base::_S_for(void const*)::__w+1472>, __val=3) at /export/gnu/import/git/gcc-test-master-intel64-native/bld/x86_64-pc-linux-gnu/32/libstdc++-v3/include/bits/atomic_wait.h:104 #3 0x08049e3a in std::__detail::__waiter_pool::_M_do_wait (__old=3, __addr=0x804d680 <std::__detail::__waiter_pool_base::_S_for(void const*)::__w+1472>, this=<optimized out>) at /export/gnu/import/git/gcc-test-master-intel64-native/bld/x86_64-pc-linux-gnu/32/libstdc++-v3/include/bits/atomic_wait.h:261 #4 std::__detail::__waiter<std::integral_constant<bool, true> >::_M_do_wait_v<unsigned int, std::__atomic_impl::wait<unsigned int>(unsigned int const*, std::remove_volatile<unsigned int>::type, std::memory_order)::{lambda()#1}>(unsigned int, std::__atomic_impl::wait<unsigned int>(unsigned int const*, std::remove_volatile<unsigned int>::type, std::memory_order)::{lambda()#1}) (__vfn=..., __old=42, this=<synthetic pointer>) at /export/gnu/import/git/gcc-test-master-intel64-native/bld/x86_64-pc-linux-gnu/32/libstdc++-v3/include/bits/atomic_wait.h:400 #5 std::__atomic_wait_address_v<unsigned int, std::__atomic_impl::wait<unsigned int>(unsigned int const*, std::remove_volatile<unsigned int>::type, std::memory_order)::{lambda()#1}>(unsigned int const*, unsigned int, std::__atomic_impl::wa--Type <RET> for more, q to quit, c to continue without paging-- it<unsigned int>(unsigned int const*, std::remove_volatile<unsigned int>::type, std::memory_order)::{lambda()#1}) (__addr=0xffeb402c, __old=42, __vfn=...) at /export/gnu/import/git/gcc-test-master-intel64-native/bld/x86_64-pc-linux-gnu/32/libstdc++-v3/include/bits/atomic_wait.h:430 #6 0x08049ef2 in std::__atomic_impl::wait<unsigned int> ( __m=std::memory_order::seq_cst, __old=<optimized out>, __ptr=<optimized out>) at /export/gnu/import/git/gcc-test-master-intel64-native/bld/x86_64-pc-linux-gnu/32/libstdc++-v3/include/bits/atomic_base.h:1018 #7 std::__atomic_ref<unsigned int, true, false>::wait ( __m=std::memory_order::seq_cst, __old=<optimized out>, this=0xffeb4034) at /export/gnu/import/git/gcc-test-master-intel64-native/bld/x86_64-pc-linux-gnu/32/libstdc++-v3/include/bits/atomic_base.h:1570 #8 test<unsigned int> (va=0, vb=42) at /export/gnu/import/git/gcc-test-master-intel64-native/src-master/libstdc++-v3/testsuite/29_atomics/atomic_ref/wait_notify.cc:44 #9 0x0804926b in main () at /export/gnu/import/git/gcc-test-master-intel64-native/src-master/libstdc++-v3/testsuite/29_atomics/atomic_ref/wait_notify.cc:54 (gdb) GCC was configured with --with-arch=native --with-cpu=native --prefix=/usr/12.0.0 --enable-clocale=gnu --with-system-zlib --enable-shared --enable-cet --with-demangler-in-ld --enable-libmpx --with-multilib-list=m32,m64,mx32 --with-fpmath=sse It happens about once a few weeks.