1 2 ---Thread-Announcement------------------------------------------ 3 4 Thread #x is the program's root thread 5 6 ---------------------------------------------------------------- 7 8 Thread #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 23 Thread #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 31 Thread #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 47 Thread #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 55 Thread #x's call to pthread_mutex_unlock failed 56 with error code 1 (EPERM: Operation not permitted) 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 65 Thread #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 80 Thread #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 93 Thread #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 101 Thread #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 109 Thread #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 125 Thread #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 133 Thread #x's call to pthread_mutex_unlock failed 134 with error code 1 (EPERM: Operation not permitted) 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 142 Thread #x: Exiting thread still holds 1 lock 143 ... 144 145 146 ERROR SUMMARY: 11 errors from 11 contexts (suppressed: 0 from 0) 147