|
From: Ivo R. <iv...@iv...> - 2016-09-18 19:45:16
|
2016-09-18 15:50 GMT+02:00 Rich Coe <rc...@wi...>: > I found the helgrind and drd tests bar_bad are hanging: > > #0 vgModuleLocal_do_syscall_for_client_WRK () at > m_syswrap/syscall-amd64-linux.S:173 > #1 0x00000000380c0638 in do_syscall_for_client (syscall_mask=0x802c53d80, > tst=0x802018f90, syscallno=202) > at m_syswrap/syswrap-main.c:339 > #2 vgPlain_client_syscall (tid=tid@entry=1, trc=trc@entry=73) at > m_syswrap/syswrap-main.c:2007 > #3 0x00000000380bd02b in handle_syscall (tid=tid@entry=1, trc=73) at > m_scheduler/scheduler.c:1118 > #4 0x00000000380be697 in vgPlain_scheduler (tid=tid@entry=1) at > m_scheduler/scheduler.c:1435 > #5 0x00000000380cdc07 in thread_wrapper (tidW=1) at > m_syswrap/syswrap-linux.c:103 > #6 run_a_thread_NORETURN (tidW=1) at m_syswrap/syswrap-linux.c:156 > #7 0x0000000000000000 in ?? () > On my Linux/Ubuntu box these tests hang even when run natively during the fourth testcase described as "destroy a barrier that has waiting threads". According to POSIX [1]: "...The results are undefined if *pthread_barrier_destroy*() is called when any thread is blocked on the barrier... " which bar_bad precisely does. Perhaps a timer which would time out this hang would be handy here. I. [1] http://pubs.opengroup.org/onlinepubs/009695399/functions/pthread_barrier_destroy.html |