https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100182

H.J. Lu <hjl.tools at gmail dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|RESOLVED                    |REOPENED
         Resolution|FIXED                       |---

--- Comment #28 from H.J. Lu <hjl.tools at gmail dot com> ---
29_atomics/atomic_ref/wait_notify.c has the same issue on Linux/x86-64 with
-m32:

(gdb) bt
#0  0xf7f5455d in __kernel_vsyscall ()
#1  0xf7b3a46b in syscall () from /lib/libc.so.6
#2  0x0804995d in std::__detail::__platform_wait<int> (
    __addr=0x804d480 <std::__detail::__waiter_pool_base::_S_for(void
const*)::__w+960>, __val=1)
    at
/export/users/hjl/build/gnu/tools-build/gcc-gitlab-native/build-x86_64-linux/x86_64-pc-linux-gnu/32/libstdc++-v3/include/bits/atomic_wait.h:104
#3  0x08049afa in std::__detail::__waiter_pool::_M_do_wait (__old=1, 
    __addr=0x804d480 <std::__detail::__waiter_pool_base::_S_for(void
const*)::__w+960>, this=<optimized out>)
    at
/export/users/hjl/build/gnu/tools-build/gcc-gitlab-native/build-x86_64-linux/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<int, std::__atomic_impl::wait<int>(int const*,
std::remove_volatile<int>::type, std::memory_order)::{lambda()#1}>(int,
std::__atomic_impl::wait<int>(int const*, std::remove_volatile<int>::type,
std::memory_order)::{lambda()#1}) (__vfn=..., 
    __old=42, this=<synthetic pointer>)
    at
/export/users/hjl/build/gnu/tools-build/gcc-gitlab-native/build-x86_64-linux/x86_64-pc-linux-gnu/32/libstdc++-v3/include/bits/atomic_wait.h:400
#5  std::__atomic_wait_address_v<int, std::__atomic_impl::wait<int>(int const*,
std::remove_volatile<int>::type, std::memory_order)::{lambda()#1}>(int const*,
int, std::__atomic_impl::wait<int>(int const*, std::remove_volatile<int>::type,
std::memory_order)::{lambda()#1}) (__addr=0xffaf629c, __old=42, __vfn=...)
--Type <RET> for more, q to quit, c to continue without paging--
    at
/export/users/hjl/build/gnu/tools-build/gcc-gitlab-native/build-x86_64-linux/x86_64-pc-linux-gnu/32/libstdc++-v3/include/bits/atomic_wait.h:430
#6  0x08049bb2 in std::__atomic_impl::wait<int> (
    __m=std::memory_order::seq_cst, __old=<optimized out>, 
    __ptr=<optimized out>)
    at
/export/users/hjl/build/gnu/tools-build/gcc-gitlab-native/build-x86_64-linux/x86_64-pc-linux-gnu/32/libstdc++-v3/include/bits/atomic_base.h:1018
#7  std::__atomic_ref<int, true, false>::wait (__m=std::memory_order::seq_cst, 
    __old=<optimized out>, this=0xffaf62a4)
    at
/export/users/hjl/build/gnu/tools-build/gcc-gitlab-native/build-x86_64-linux/x86_64-pc-linux-gnu/32/libstdc++-v3/include/bits/atomic_base.h:1570
#8  test<int> (va=0, vb=42)
    at
/export/gnu/import/git/gitlab/x86-gcc/libstdc++-v3/testsuite/29_atomics/atomic_ref/wait_notify.cc:44
#9  0x08049250 in main ()
    at
/export/gnu/import/git/gitlab/x86-gcc/libstdc++-v3/testsuite/29_atomics/atomic_ref/wait_notify.cc:52
(gdb) 

when GCC is configured with

--enable-cet --with-demangler-in-ld --prefix=/usr/gcc-12.0.0-native
--with-local-prefix=/usr/local --enable-gnu-indirect-function
--enable-clocale=gnu --with-system-zlib --with-target-system-zlib
--with-fpmath=sse --with-arch=native --with-cpu=native
--enable-languages=c,c++,fortran,lto,objc,ada,obj-c++,go

where native == skylake-avx512.  It happens one out of ~10 runs.

Reply via email to