http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52526
Bug #: 52526 Summary: libitm: stuck in futex_wait Classification: Unclassified Product: gcc Version: 4.8.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: libitm AssignedTo: unassig...@gcc.gnu.org ReportedBy: patrick.marl...@gmail.com CC: torv...@gcc.gnu.org Host: x86_64-unknown-linux-gnu Target: x86_64-unknown-linux-gnu libitm (default configuration/4.8.0 20120307) is stuck in futex_wait with STAMP kmeans with low contention and 8 threads. (gdb) info threads Id Target Id Frame 8 Thread 0x7ffff322b700 (LWP 24011) "kmeans" 0x0000003ecb40c14c in pthread_barrier_wait () from /lib64/libpthread.so.0 7 Thread 0x7ffff3a2c700 (LWP 24010) "kmeans" 0x0000003ecb40c14c in pthread_barrier_wait () from /lib64/libpthread.so.0 6 Thread 0x7ffff422d700 (LWP 24009) "kmeans" 0x0000003ecb40c14c in pthread_barrier_wait () from /lib64/libpthread.so.0 5 Thread 0x7ffff4a2e700 (LWP 24008) "kmeans" 0x0000003ecb40c14c in pthread_barrier_wait () from /lib64/libpthread.so.0 * 4 Thread 0x7ffff522f700 (LWP 24007) "kmeans" GTM::futex_wait (addr=0x7ffff7fdfbb8, val=1) at ../../../gcc-trunk/libitm/config/linux/futex.cc:49 3 Thread 0x7ffff5a30700 (LWP 24006) "kmeans" 0x0000003ecb40c14c in pthread_barrier_wait () from /lib64/libpthread.so.0 2 Thread 0x7ffff6231700 (LWP 24005) "kmeans" 0x0000003ecb40c14c in pthread_barrier_wait () from /lib64/libpthread.so.0 1 Thread 0x7ffff73aa720 (LWP 24002) "kmeans" 0x0000003ecb40c14c in pthread_barrier_wait () from /lib64/libpthread.so.0 (gdb) thread 5 [Switching to thread 5 (Thread 0x7ffff4a2e700 (LWP 24008))] #0 0x0000003ecb40c14c in pthread_barrier_wait () from /lib64/libpthread.so.0 (gdb) bt #0 0x0000003ecb40c14c in pthread_barrier_wait () from /lib64/libpthread.so.0 #1 0x0000000000403099 in threadWait () #2 0x0000003ecb407b41 in start_thread () from /lib64/libpthread.so.0 #3 0x0000003eca8df49d in clone () from /lib64/libc.so.6 (gdb) thread 4 [Switching to thread 4 (Thread 0x7ffff522f700 (LWP 24007))] #0 GTM::futex_wait (addr=0x7ffff7fdfbb8, val=1) at ../../../gcc-trunk/libitm/config/linux/futex.cc:49 49 if (__builtin_expect (res == -ENOSYS, 0)) (gdb) bt #0 GTM::futex_wait (addr=0x7ffff7fdfbb8, val=1) at ../../../gcc-trunk/libitm/config/linux/futex.cc:49 #1 0x00007ffff75cd1a4 in GTM::gtm_rwlock::read_lock (this=0x7ffff7fdfbb0, tx=0x7fffd40008c0) at ../../../gcc-trunk/libitm/config/linux/rwlock.cc:76 #2 0x00007ffff75ccbfa in GTM::gtm_thread::decide_begin_dispatch (this=0x7fffd40008c0, prop=<optimized out>) at ../../../gcc-trunk/libitm/retry.cc:182 #3 0x00007ffff75cc16b in GTM_begin_transaction (prop=41, jb=0x7ffff522edb0) at ../../../gcc-trunk/libitm/beginend.cc:235 #4 0x00007ffff75cd853 in _ITM_beginTransaction () at ../../../gcc-trunk/libitm/config/x86/sjlj.S:74 #5 0x00000000004021ab in work () #6 0x000000000040308d in threadWait () #7 0x0000003ecb407b41 in start_thread () from /lib64/libpthread.so.0 #8 0x0000003eca8df49d in clone () from /lib64/libc.so.6