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