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