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's call to pthread_mutex_unlock failed 35 with error code 22 (EINVAL: Invalid argument) 36 at 0x........: pthread_mutex_unlock (hg_intercepts.c:...) 37 by 0x........: nearly_main (tc09_bad_unlock.c:41) 38 by 0x........: main (tc09_bad_unlock.c:49) 39 40 Thread #x deallocated location 0x........ containing a locked lock 41 at 0x........: nearly_main (tc09_bad_unlock.c:45) 42 by 0x........: main (tc09_bad_unlock.c:49) 43 Lock at 0x........ was first observed 44 at 0x........: pthread_mutex_init (hg_intercepts.c:...) 45 by 0x........: nearly_main (tc09_bad_unlock.c:31) 46 by 0x........: main (tc09_bad_unlock.c:49) 47 48 Thread #x unlocked a not-locked lock at 0x........ 49 at 0x........: pthread_mutex_unlock (hg_intercepts.c:...) 50 by 0x........: nearly_main (tc09_bad_unlock.c:27) 51 by 0x........: main (tc09_bad_unlock.c:50) 52 Lock at 0x........ was first observed 53 at 0x........: pthread_mutex_init (hg_intercepts.c:...) 54 by 0x........: nearly_main (tc09_bad_unlock.c:23) 55 by 0x........: main (tc09_bad_unlock.c:50) 56 57 Thread #x was created 58 ... 59 by 0x........: pthread_create@* (hg_intercepts.c:...) 60 by 0x........: nearly_main (tc09_bad_unlock.c:35) 61 by 0x........: main (tc09_bad_unlock.c:50) 62 63 Thread #x unlocked lock at 0x........ currently held by thread #x 64 at 0x........: pthread_mutex_unlock (hg_intercepts.c:...) 65 by 0x........: child_fn (tc09_bad_unlock.c:11) 66 by 0x........: mythread_wrapper (hg_intercepts.c:...) 67 ... 68 Lock at 0x........ was first observed 69 at 0x........: pthread_mutex_init (hg_intercepts.c:...) 70 by 0x........: nearly_main (tc09_bad_unlock.c:31) 71 by 0x........: main (tc09_bad_unlock.c:50) 72 73 Thread #x unlocked an invalid lock at 0x........ 74 at 0x........: pthread_mutex_unlock (hg_intercepts.c:...) 75 by 0x........: nearly_main (tc09_bad_unlock.c:41) 76 by 0x........: main (tc09_bad_unlock.c:50) 77 78 Thread #x's call to pthread_mutex_unlock failed 79 with error code 22 (EINVAL: Invalid argument) 80 at 0x........: pthread_mutex_unlock (hg_intercepts.c:...) 81 by 0x........: nearly_main (tc09_bad_unlock.c:41) 82 by 0x........: main (tc09_bad_unlock.c:50) 83 84 Thread #x deallocated location 0x........ containing a locked lock 85 at 0x........: nearly_main (tc09_bad_unlock.c:45) 86 by 0x........: main (tc09_bad_unlock.c:50) 87 Lock at 0x........ was first observed 88 at 0x........: pthread_mutex_init (hg_intercepts.c:...) 89 by 0x........: nearly_main (tc09_bad_unlock.c:31) 90 by 0x........: main (tc09_bad_unlock.c:50) 91 92 93 ERROR SUMMARY: 10 errors from 10 contexts (suppressed: 0 from 0) 94