1 2 Thread #x is the program's root thread 3 4 Thread #x unlocked a not-locked lock at 0x........ 5 at 0x........: pthread_mutex_unlock (hg_intercepts.c:...) 6 by 0x........: nearly_main (tc09_bad_unlock.c:27) 7 by 0x........: main (tc09_bad_unlock.c:49) 8 Lock at 0x........ was first observed 9 at 0x........: pthread_mutex_init (hg_intercepts.c:...) 10 by 0x........: nearly_main (tc09_bad_unlock.c:23) 11 by 0x........: main (tc09_bad_unlock.c:49) 12 13 Thread #x was created 14 ... 15 by 0x........: pthread_create@* (hg_intercepts.c:...) 16 by 0x........: nearly_main (tc09_bad_unlock.c:35) 17 by 0x........: main (tc09_bad_unlock.c:49) 18 19 Thread #x unlocked lock at 0x........ currently held by thread #x 20 at 0x........: pthread_mutex_unlock (hg_intercepts.c:...) 21 by 0x........: child_fn (tc09_bad_unlock.c:11) 22 by 0x........: mythread_wrapper (hg_intercepts.c:...) 23 ... 24 Lock at 0x........ was first observed 25 at 0x........: pthread_mutex_init (hg_intercepts.c:...) 26 by 0x........: nearly_main (tc09_bad_unlock.c:31) 27 by 0x........: main (tc09_bad_unlock.c:49) 28 29 Thread #x unlocked an invalid lock at 0x........ 30 at 0x........: pthread_mutex_unlock (hg_intercepts.c:...) 31 by 0x........: nearly_main (tc09_bad_unlock.c:41) 32 by 0x........: main (tc09_bad_unlock.c:49) 33 34 Thread #x deallocated location 0x........ containing a locked lock 35 at 0x........: nearly_main (tc09_bad_unlock.c:45) 36 by 0x........: main (tc09_bad_unlock.c:49) 37 Lock at 0x........ was first observed 38 at 0x........: pthread_mutex_init (hg_intercepts.c:...) 39 by 0x........: nearly_main (tc09_bad_unlock.c:31) 40 by 0x........: main (tc09_bad_unlock.c:49) 41 42 Thread #x unlocked a not-locked lock at 0x........ 43 at 0x........: pthread_mutex_unlock (hg_intercepts.c:...) 44 by 0x........: nearly_main (tc09_bad_unlock.c:27) 45 by 0x........: main (tc09_bad_unlock.c:50) 46 Lock at 0x........ was first observed 47 at 0x........: pthread_mutex_init (hg_intercepts.c:...) 48 by 0x........: nearly_main (tc09_bad_unlock.c:23) 49 by 0x........: main (tc09_bad_unlock.c:50) 50 51 Thread #x was created 52 ... 53 by 0x........: pthread_create@* (hg_intercepts.c:...) 54 by 0x........: nearly_main (tc09_bad_unlock.c:35) 55 by 0x........: main (tc09_bad_unlock.c:50) 56 57 Thread #x unlocked lock at 0x........ currently held by thread #x 58 at 0x........: pthread_mutex_unlock (hg_intercepts.c:...) 59 by 0x........: child_fn (tc09_bad_unlock.c:11) 60 by 0x........: mythread_wrapper (hg_intercepts.c:...) 61 ... 62 Lock at 0x........ was first observed 63 at 0x........: pthread_mutex_init (hg_intercepts.c:...) 64 by 0x........: nearly_main (tc09_bad_unlock.c:31) 65 by 0x........: main (tc09_bad_unlock.c:50) 66 67 Thread #x unlocked an invalid lock at 0x........ 68 at 0x........: pthread_mutex_unlock (hg_intercepts.c:...) 69 by 0x........: nearly_main (tc09_bad_unlock.c:41) 70 by 0x........: main (tc09_bad_unlock.c:50) 71 72 Thread #x deallocated location 0x........ containing a locked lock 73 at 0x........: nearly_main (tc09_bad_unlock.c:45) 74 by 0x........: main (tc09_bad_unlock.c:50) 75 Lock at 0x........ was first observed 76 at 0x........: pthread_mutex_init (hg_intercepts.c:...) 77 by 0x........: nearly_main (tc09_bad_unlock.c:31) 78 by 0x........: main (tc09_bad_unlock.c:50) 79 80 81 ERROR SUMMARY: 8 errors from 8 contexts (suppressed: 0 from 0) 82