• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1
2
3
4------ This is output for >= glibc 2.4 ------
5
6---------------- pthread_create/join ----------------
7
8---Thread-Announcement------------------------------------------
9
10Thread #x is the program's root thread
11
12---Thread-Announcement------------------------------------------
13
14Thread #x was created
15   ...
16   by 0x........: pthread_create@* (hg_intercepts.c:...)
17   by 0x........: main (tc20_verifywrap.c:86)
18
19----------------------------------------------------------------
20
21Possible data race during write of size 2 at 0x........ by thread #x
22Locks held: none
23   at 0x........: main (tc20_verifywrap.c:88)
24
25This conflicts with a previous write of size 2 by thread #x
26Locks held: none
27   at 0x........: racy_child (tc20_verifywrap.c:44)
28   by 0x........: mythread_wrapper (hg_intercepts.c:...)
29   ...
30 Location 0x........ is 0 bytes inside global var "unprotected"
31 declared at tc20_verifywrap.c:37
32
33----------------------------------------------------------------
34
35Thread #x's call to pthread_join failed
36   with error code 45 (EDEADLK: Resource deadlock would occur)
37   at 0x........: pthread_join_WRK (hg_intercepts.c:...)
38   by 0x........: pthread_join (hg_intercepts.c:...)
39   by 0x........: main (tc20_verifywrap.c:93)
40
41
42---------------- pthread_mutex_lock et al ----------------
43
44----------------------------------------------------------------
45
46Thread #x's call to mutex_init failed
47   with error code 22 (EINVAL: Invalid argument)
48   at 0x........: pthread_mutex_init (hg_intercepts.c:...)
49   by 0x........: main (tc20_verifywrap.c:107)
50
51----------------------------------------------------------------
52
53Thread #x: pthread_mutex_destroy of a locked mutex
54   at 0x........: mutex_destroy_WRK (hg_intercepts.c:...)
55   by 0x........: pthread_mutex_destroy (hg_intercepts.c:...)
56   by 0x........: main (tc20_verifywrap.c:117)
57
58----------------------------------------------------------------
59
60Thread #x's call to pthread_mutex_lock failed
61   with error code 1 (EPERM: Operation not permitted)
62   at 0x........: mutex_lock_WRK (hg_intercepts.c:...)
63   by 0x........: pthread_mutex_lock (hg_intercepts.c:...)
64   by 0x........: main (tc20_verifywrap.c:123)
65
66----------------------------------------------------------------
67
68Thread #x's call to pthread_mutex_trylock failed
69   with error code 1 (EPERM: Operation not permitted)
70   at 0x........: mutex_trylock_WRK (hg_intercepts.c:...)
71   by 0x........: pthread_mutex_trylock (hg_intercepts.c:...)
72   by 0x........: main (tc20_verifywrap.c:131)
73
74----------------------------------------------------------------
75
76Thread #x's call to pthread_mutex_timedlock failed
77   with error code 1 (EPERM: Operation not permitted)
78   at 0x........: mutex_timedlock_WRK (hg_intercepts.c:...)
79   by 0x........: pthread_mutex_timedlock (hg_intercepts.c:...)
80   by 0x........: main (tc20_verifywrap.c:136)
81
82----------------------------------------------------------------
83
84Thread #x unlocked an invalid lock at 0x........
85   at 0x........: mutex_unlock_WRK (hg_intercepts.c:...)
86   by 0x........: pthread_mutex_unlock (hg_intercepts.c:...)
87   by 0x........: main (tc20_verifywrap.c:140)
88
89----------------------------------------------------------------
90
91Thread #x's call to pthread_mutex_unlock failed
92   with error code 1 (EPERM: Operation not permitted)
93   at 0x........: mutex_unlock_WRK (hg_intercepts.c:...)
94   by 0x........: pthread_mutex_unlock (hg_intercepts.c:...)
95   by 0x........: main (tc20_verifywrap.c:140)
96
97
98---------------- pthread_cond_wait et al ----------------
99
100----------------------------------------------------------------
101
102Thread #x: pthread_cond_{timed}wait called with un-held mutex
103   at 0x........: pthread_cond_wait_WRK (hg_intercepts.c:...)
104   by 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
105   by 0x........: main (tc20_verifywrap.c:162)
106
107----------------------------------------------------------------
108
109Thread #x's call to pthread_cond_wait failed
110   with error code 1 (EPERM: Operation not permitted)
111   at 0x........: pthread_cond_wait_WRK (hg_intercepts.c:...)
112   by 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
113   by 0x........: main (tc20_verifywrap.c:162)
114
115----------------------------------------------------------------
116
117Thread #x: pthread_cond_{signal,broadcast}: dubious: associated lock is not held by any thread
118   at 0x........: pthread_cond_signal_WRK (hg_intercepts.c:...)
119   by 0x........: pthread_cond_signal@* (hg_intercepts.c:...)
120   by 0x........: main (tc20_verifywrap.c:167)
121
122
123FIXME: can't figure out how to verify wrap of pthread_cond_signal
124
125----------------------------------------------------------------
126
127Thread #x: pthread_cond_{signal,broadcast}: dubious: associated lock is not held by any thread
128   at 0x........: pthread_cond_broadcast_WRK (hg_intercepts.c:...)
129   by 0x........: pthread_cond_broadcast@* (hg_intercepts.c:...)
130   by 0x........: main (tc20_verifywrap.c:173)
131
132
133FIXME: can't figure out how to verify wrap of pthread_broadcast_signal
134
135----------------------------------------------------------------
136
137Thread #x: pthread_cond_{timed}wait called with un-held mutex
138   at 0x........: pthread_cond_timedwait_WRK (hg_intercepts.c:...)
139   by 0x........: pthread_cond_timedwait@* (hg_intercepts.c:...)
140   by 0x........: main (tc20_verifywrap.c:180)
141
142----------------------------------------------------------------
143
144Thread #x's call to pthread_cond_timedwait failed
145   with error code 1 (EPERM: Operation not permitted)
146   at 0x........: pthread_cond_timedwait_WRK (hg_intercepts.c:...)
147   by 0x........: pthread_cond_timedwait@* (hg_intercepts.c:...)
148   by 0x........: main (tc20_verifywrap.c:180)
149
150
151---------------- pthread_rwlock_* ----------------
152
153----------------------------------------------------------------
154
155Thread #x unlocked a not-locked lock at 0x........
156   at 0x........: pthread_rwlock_unlock_WRK (hg_intercepts.c:...)
157   by 0x........: pthread_rwlock_unlock (hg_intercepts.c:...)
158   ...
159   by 0x........: main (tc20_verifywrap.c:194)
160 Lock at 0x........ was first observed
161   at 0x........: pthread_rwlock_init (hg_intercepts.c:...)
162   ...
163   by 0x........: main (tc20_verifywrap.c:193)
164 Location 0x........ is 0 bytes inside rwl.__pthread_rwlock_readers,
165 declared at tc20_verifywrap.c:57, in frame #x of thread x
166
167
168----------------------------------------------------------------
169
170Thread #x's call to pthread_rwlock_unlock failed
171   with error code 1 (EPERM: Operation not permitted)
172   at 0x........: pthread_rwlock_unlock_WRK (hg_intercepts.c:...)
173   by 0x........: pthread_rwlock_unlock (hg_intercepts.c:...)
174   ...
175   by 0x........: main (tc20_verifywrap.c:194)
176
177(1) no error on next line
178(2) no error on next line
179(3)    ERROR on next line
180----------------------------------------------------------------
181
182Thread #x unlocked a not-locked lock at 0x........
183   at 0x........: pthread_rwlock_unlock_WRK (hg_intercepts.c:...)
184   by 0x........: pthread_rwlock_unlock (hg_intercepts.c:...)
185   ...
186   by 0x........: main (tc20_verifywrap.c:211)
187 Lock at 0x........ was first observed
188   at 0x........: pthread_rwlock_init (hg_intercepts.c:...)
189   ...
190   by 0x........: main (tc20_verifywrap.c:201)
191 Location 0x........ is 0 bytes inside rwl2.__pthread_rwlock_readers,
192 declared at tc20_verifywrap.c:58, in frame #x of thread x
193
194
195----------------------------------------------------------------
196
197Thread #x's call to pthread_rwlock_unlock failed
198   with error code 1 (EPERM: Operation not permitted)
199   at 0x........: pthread_rwlock_unlock_WRK (hg_intercepts.c:...)
200   by 0x........: pthread_rwlock_unlock (hg_intercepts.c:...)
201   ...
202   by 0x........: main (tc20_verifywrap.c:211)
203
204(4) no error on next line
205(5) no error on next line
206(6) no error on next line
207(7) no error on next line
208(8)    ERROR on next line
209----------------------------------------------------------------
210
211Thread #x unlocked a not-locked lock at 0x........
212   at 0x........: pthread_rwlock_unlock_WRK (hg_intercepts.c:...)
213   by 0x........: pthread_rwlock_unlock (hg_intercepts.c:...)
214   ...
215   by 0x........: main (tc20_verifywrap.c:232)
216 Lock at 0x........ was first observed
217   at 0x........: pthread_rwlock_init (hg_intercepts.c:...)
218   ...
219   by 0x........: main (tc20_verifywrap.c:201)
220 Location 0x........ is 0 bytes inside rwl2.__pthread_rwlock_readers,
221 declared at tc20_verifywrap.c:58, in frame #x of thread x
222
223
224----------------------------------------------------------------
225
226Thread #x's call to pthread_rwlock_unlock failed
227   with error code 1 (EPERM: Operation not permitted)
228   at 0x........: pthread_rwlock_unlock_WRK (hg_intercepts.c:...)
229   by 0x........: pthread_rwlock_unlock (hg_intercepts.c:...)
230   ...
231   by 0x........: main (tc20_verifywrap.c:232)
232
233
234---------------- pthread_spin_* ----------------
235
236
237---------------- sem_* ----------------
238
239----------------------------------------------------------------
240
241Thread #x's call to sema_init failed
242   with error code 22 (EINVAL: Invalid argument)
243   at 0x........: sema_init (hg_intercepts.c:...)
244   ...
245   by 0x........: main (tc20_verifywrap.c:267)
246
247
248FIXME: can't figure out how to verify wrap of sem_destroy
249
250
251FIXME: can't figure out how to verify wrap of sem_post
252
253
254------------ dealloc of mem holding locks ------------
255
256----------------------------------------------------------------
257
258Thread #x: Exiting thread still holds 1 lock
259   ...
260
261
262ERROR SUMMARY: 23 errors from 23 contexts (suppressed: 0 from 0)
263