2 ---Thread
-Announcement
------------------------------------------
4 Thread #x is the
program's root thread
6 ----------------------------------------------------------------
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:28)
12 by 0x........: main (tc09_bad_unlock.c:52)
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:24)
16 by 0x........: main (tc09_bad_unlock.c:52)
17 Address 0x........ is on thread #x's stack
18 in frame #x
, created by nearly_main
(tc09_bad_unlock.c
:17)
21 ---Thread
-Announcement
------------------------------------------
25 by
0x........
: pthread_create@
* (hg_intercepts.c
:...
)
26 by
0x........
: nearly_main
(tc09_bad_unlock.c
:36)
27 by
0x........
: main
(tc09_bad_unlock.c
:52)
29 ----------------------------------------------------------------
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
:12)
35 by
0x........
: mythread_wrapper
(hg_intercepts.c
:...
)
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
:32)
40 by
0x........
: main
(tc09_bad_unlock.c
:52)
41 Address
0x........ is
on thread #x
's stack
42 in frame #x, created by nearly_main (tc09_bad_unlock.c:17)
45 ----------------------------------------------------------------
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:43)
51 by 0x........: main (tc09_bad_unlock.c:52)
53 ----------------------------------------------------------------
55 Thread #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
:43)
60 by
0x........
: main
(tc09_bad_unlock.c
:52)
63 ----------------------------------------------------------------
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
:28)
69 by
0x........
: main
(tc09_bad_unlock.c
:53)
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
:24)
73 by
0x........
: main
(tc09_bad_unlock.c
:52)
74 Address
0x........ is
on thread #x
's stack
75 in frame #x, created by nearly_main (tc09_bad_unlock.c:17)
78 ----------------------------------------------------------------
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:33)
84 by 0x........: main (tc09_bad_unlock.c:53)
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:33)
89 by 0x........: main (tc09_bad_unlock.c:52)
91 ----------------------------------------------------------------
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:33)
97 by 0x........: main (tc09_bad_unlock.c:53)
99 ---Thread-Announcement------------------------------------------
101 Thread #x was created
103 by 0x........: pthread_create@* (hg_intercepts.c:...)
104 by 0x........: nearly_main (tc09_bad_unlock.c:36)
105 by 0x........: main (tc09_bad_unlock.c:53)
107 ----------------------------------------------------------------
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:12)
113 by 0x........: mythread_wrapper (hg_intercepts.c:...)
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:32)
118 by 0x........: main (tc09_bad_unlock.c:52)
119 Address 0x........ is on thread #x's stack
120 in frame #x
, created by nearly_main
(tc09_bad_unlock.c
:17)
123 ----------------------------------------------------------------
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
:43)
129 by
0x........
: main
(tc09_bad_unlock.c
:53)
131 ----------------------------------------------------------------
133 Thread #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:43)
138 by 0x........: main (tc09_bad_unlock.c:53)
140 ----------------------------------------------------------------
142 Thread #x: Exiting thread still holds 1 lock
146 ERROR SUMMARY: 11 errors from 11 contexts (suppressed: 0 from 0)