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