1 2---Thread-Announcement------------------------------------------ 3 4Thread #x is the program's root thread 5 6---------------------------------------------------------------- 7 8Thread #x unlocked a not-locked lock at 0x........ 9 at 0x........: pthread_mutex_unlock (hg_intercepts.c:...) 10 by 0x........: nearly_main (tc09_bad_unlock.c:27) 11 by 0x........: main (tc09_bad_unlock.c:49) 12 Lock at 0x........ was first observed 13 at 0x........: pthread_mutex_init (hg_intercepts.c:...) 14 by 0x........: nearly_main (tc09_bad_unlock.c:23) 15 by 0x........: main (tc09_bad_unlock.c:49) 16 Address 0x........ is on thread #x's stack 17 in frame #x, created by nearly_main (tc09_bad_unlock.c:16) 18 19 20---Thread-Announcement------------------------------------------ 21 22Thread #x was created 23 ... 24 by 0x........: pthread_create@* (hg_intercepts.c:...) 25 by 0x........: nearly_main (tc09_bad_unlock.c:35) 26 by 0x........: main (tc09_bad_unlock.c:49) 27 28---------------------------------------------------------------- 29 30Thread #x unlocked lock at 0x........ currently held by thread #x 31 at 0x........: pthread_mutex_unlock (hg_intercepts.c:...) 32 by 0x........: child_fn (tc09_bad_unlock.c:11) 33 by 0x........: mythread_wrapper (hg_intercepts.c:...) 34 ... 35 Lock at 0x........ was first observed 36 at 0x........: pthread_mutex_init (hg_intercepts.c:...) 37 by 0x........: nearly_main (tc09_bad_unlock.c:31) 38 by 0x........: main (tc09_bad_unlock.c:49) 39 Address 0x........ is on thread #x's stack 40 in frame #x, created by nearly_main (tc09_bad_unlock.c:16) 41 42 43---------------------------------------------------------------- 44 45Thread #x unlocked an invalid lock at 0x........ 46 at 0x........: pthread_mutex_unlock (hg_intercepts.c:...) 47 by 0x........: nearly_main (tc09_bad_unlock.c:41) 48 by 0x........: main (tc09_bad_unlock.c:49) 49 50---------------------------------------------------------------- 51 52Thread #x's call to pthread_mutex_unlock failed 53 with error code 22 (EINVAL: Invalid argument) 54 at 0x........: pthread_mutex_unlock (hg_intercepts.c:...) 55 by 0x........: nearly_main (tc09_bad_unlock.c:41) 56 by 0x........: main (tc09_bad_unlock.c:49) 57 58--------------------- 59---------------------------------------------------------------- 60 61Thread #x unlocked a not-locked lock at 0x........ 62 at 0x........: pthread_mutex_unlock (hg_intercepts.c:...) 63 by 0x........: nearly_main (tc09_bad_unlock.c:27) 64 by 0x........: main (tc09_bad_unlock.c:50) 65 Lock at 0x........ was first observed 66 at 0x........: pthread_mutex_init (hg_intercepts.c:...) 67 by 0x........: nearly_main (tc09_bad_unlock.c:23) 68 by 0x........: main (tc09_bad_unlock.c:49) 69 Address 0x........ is on thread #x's stack 70 in frame #x, created by nearly_main (tc09_bad_unlock.c:16) 71 72 73---------------------------------------------------------------- 74 75Thread #x: Attempt to re-lock a non-recursive lock I already hold 76 at 0x........: pthread_mutex_lock (hg_intercepts.c:...) 77 by 0x........: nearly_main (tc09_bad_unlock.c:32) 78 by 0x........: main (tc09_bad_unlock.c:50) 79 Lock was previously acquired 80 at 0x........: pthread_mutex_lock (hg_intercepts.c:...) 81 by 0x........: nearly_main (tc09_bad_unlock.c:32) 82 by 0x........: main (tc09_bad_unlock.c:49) 83 84---------------------------------------------------------------- 85 86Thread #x: Bug in libpthread: recursive write lock granted on mutex/wrlock which does not support recursion 87 at 0x........: pthread_mutex_lock (hg_intercepts.c:...) 88 by 0x........: nearly_main (tc09_bad_unlock.c:32) 89 by 0x........: main (tc09_bad_unlock.c:50) 90 91---Thread-Announcement------------------------------------------ 92 93Thread #x was created 94 ... 95 by 0x........: pthread_create@* (hg_intercepts.c:...) 96 by 0x........: nearly_main (tc09_bad_unlock.c:35) 97 by 0x........: main (tc09_bad_unlock.c:50) 98 99---------------------------------------------------------------- 100 101Thread #x unlocked lock at 0x........ currently held by thread #x 102 at 0x........: pthread_mutex_unlock (hg_intercepts.c:...) 103 by 0x........: child_fn (tc09_bad_unlock.c:11) 104 by 0x........: mythread_wrapper (hg_intercepts.c:...) 105 ... 106 Lock at 0x........ was first observed 107 at 0x........: pthread_mutex_init (hg_intercepts.c:...) 108 by 0x........: nearly_main (tc09_bad_unlock.c:31) 109 by 0x........: main (tc09_bad_unlock.c:49) 110 Address 0x........ is on thread #x's stack 111 in frame #x, created by nearly_main (tc09_bad_unlock.c:16) 112 113 114---------------------------------------------------------------- 115 116Thread #x unlocked an invalid lock at 0x........ 117 at 0x........: pthread_mutex_unlock (hg_intercepts.c:...) 118 by 0x........: nearly_main (tc09_bad_unlock.c:41) 119 by 0x........: main (tc09_bad_unlock.c:50) 120 121---------------------------------------------------------------- 122 123Thread #x's call to pthread_mutex_unlock failed 124 with error code 22 (EINVAL: Invalid argument) 125 at 0x........: pthread_mutex_unlock (hg_intercepts.c:...) 126 by 0x........: nearly_main (tc09_bad_unlock.c:41) 127 by 0x........: main (tc09_bad_unlock.c:50) 128 129---------------------------------------------------------------- 130 131Thread #x: Exiting thread still holds 1 lock 132 ... 133 134 135ERROR SUMMARY: 11 errors from 11 contexts (suppressed: 0 from 0) 136