1 2 The object at address 0x........ is not a mutex. 3 at 0x........: pthread_cond_wait (drd_pthread_intercepts.c:?) 4 by 0x........: main (tc23_bogus_condwait.c:69) 5 6 Mutex not locked: mutex 0x........, recursion count 0, owner 0. 7 at 0x........: pthread_cond_wait (drd_pthread_intercepts.c:?) 8 by 0x........: main (tc23_bogus_condwait.c:72) 9 mutex 0x........ was first observed at: 10 at 0x........: pthread_mutex_init (drd_pthread_intercepts.c:?) 11 by 0x........: main (tc23_bogus_condwait.c:51) 12 13 Thread 3: 14 Probably a race condition: condition variable 0x........ has been signaled but the associated mutex 0x........ is not locked by the signalling thread. 15 at 0x........: pthread_cond_signal (drd_pthread_intercepts.c:?) 16 by 0x........: rescue_me (tc23_bogus_condwait.c:20) 17 by 0x........: vgDrd_thread_wrapper (drd_pthread_intercepts.c:?) 18 cond 0x........ was first observed at: 19 at 0x........: pthread_cond_init (drd_pthread_intercepts.c:?) 20 by 0x........: main (tc23_bogus_condwait.c:56) 21 mutex 0x........ was first observed at: 22 at 0x........: pthread_mutex_init (drd_pthread_intercepts.c:?) 23 by 0x........: main (tc23_bogus_condwait.c:51) 24 25 Thread 1: 26 The object at address 0x........ is not a mutex. 27 at 0x........: pthread_cond_wait (drd_pthread_intercepts.c:?) 28 by 0x........: main (tc23_bogus_condwait.c:75) 29 rwlock 0x........ was first observed at: 30 at 0x........: pthread_rwlock_init (drd_pthread_intercepts.c:?) 31 by 0x........: main (tc23_bogus_condwait.c:57) 32 33 Mutex not locked by calling thread: mutex 0x........, recursion count 1, owner 2. 34 at 0x........: pthread_cond_wait (drd_pthread_intercepts.c:?) 35 by 0x........: main (tc23_bogus_condwait.c:78) 36 mutex 0x........ was first observed at: 37 at 0x........: pthread_mutex_init (drd_pthread_intercepts.c:?) 38 by 0x........: main (tc23_bogus_condwait.c:53) 39 40 Thread 3: 41 Probably a race condition: condition variable 0x........ has been signaled but the associated mutex 0x........ is not locked by the signalling thread. 42 at 0x........: pthread_cond_signal (drd_pthread_intercepts.c:?) 43 by 0x........: rescue_me (tc23_bogus_condwait.c:24) 44 by 0x........: vgDrd_thread_wrapper (drd_pthread_intercepts.c:?) 45 cond 0x........ was first observed at: 46 at 0x........: pthread_cond_init (drd_pthread_intercepts.c:?) 47 by 0x........: main (tc23_bogus_condwait.c:56) 48 mutex 0x........ was first observed at: 49 at 0x........: pthread_mutex_init (drd_pthread_intercepts.c:?) 50 by 0x........: main (tc23_bogus_condwait.c:53) 51 52 The impossible happened: mutex 0x........ is locked simultaneously by two threads (recursion count 1, owners 2 and 1) ! 53 Thread 2: 54 Mutex not locked by calling thread: mutex 0x........, recursion count 2, owner 1. 55 at 0x........: pthread_mutex_unlock (drd_pthread_intercepts.c:?) 56 by 0x........: grab_the_lock (tc23_bogus_condwait.c:42) 57 by 0x........: vgDrd_thread_wrapper (drd_pthread_intercepts.c:?) 58 mutex 0x........ was first observed at: 59 at 0x........: pthread_mutex_init (drd_pthread_intercepts.c:?) 60 by 0x........: main (tc23_bogus_condwait.c:53) 61 62 63 ERROR SUMMARY: 9 errors from 7 contexts (suppressed: 0 from 0) 64