• 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:81)
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:83)
24
25This conflicts with a previous write of size 2 by thread #x
26Locks held: none
27   at 0x........: racy_child (tc20_verifywrap.c:39)
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:32
32
33----------------------------------------------------------------
34
35Thread #x's call to pthread_join failed
36   with error code 35 (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:88)
40
41
42---------------- pthread_mutex_lock et al ----------------
43
44----------------------------------------------------------------
45
46Thread #x's call to pthread_mutex_init failed
47   with error code 95 (EOPNOTSUPP: Operation not supported on transport endpoint)
48   at 0x........: pthread_mutex_init (hg_intercepts.c:...)
49   by 0x........: main (tc20_verifywrap.c:102)
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:112)
57
58----------------------------------------------------------------
59
60Thread #x's call to pthread_mutex_lock failed
61   with error code 22 (EINVAL: Invalid argument)
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:118)
65
66----------------------------------------------------------------
67
68Thread #x's call to pthread_mutex_trylock failed
69   with error code 22 (EINVAL: Invalid argument)
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:126)
73
74----------------------------------------------------------------
75
76Thread #x's call to pthread_mutex_timedlock failed
77   with error code 22 (EINVAL: Invalid argument)
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:131)
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:135)
88
89----------------------------------------------------------------
90
91Thread #x's call to pthread_mutex_unlock failed
92   with error code 22 (EINVAL: Invalid argument)
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:135)
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:157)
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:157)
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:162)
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:168)
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:175)
141
142----------------------------------------------------------------
143
144Thread #x's call to pthread_cond_timedwait failed
145   with error code 22 (EINVAL: Invalid argument)
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:175)
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:189)
160  Lock at 0x........ was first observed
161   at 0x........: pthread_rwlock_init_WRK (hg_intercepts.c:...)
162   by 0x........: pthread_rwlock_init (hg_intercepts.c:...)
163   by 0x........: main (tc20_verifywrap.c:188)
164
165(1) no error on next line
166(2) no error on next line
167(3)    ERROR on next line
168----------------------------------------------------------------
169
170Thread #x unlocked a not-locked lock at 0x........
171   at 0x........: pthread_rwlock_unlock_WRK (hg_intercepts.c:...)
172   by 0x........: pthread_rwlock_unlock (hg_intercepts.c:...)
173   ...
174   by 0x........: main (tc20_verifywrap.c:206)
175  Lock at 0x........ was first observed
176   at 0x........: pthread_rwlock_init_WRK (hg_intercepts.c:...)
177   by 0x........: pthread_rwlock_init (hg_intercepts.c:...)
178   by 0x........: main (tc20_verifywrap.c:196)
179
180(4) no error on next line
181(5) no error on next line
182(6) no error on next line
183(7) no error on next line
184(8)    ERROR on next line
185----------------------------------------------------------------
186
187Thread #x unlocked a not-locked lock at 0x........
188   at 0x........: pthread_rwlock_unlock_WRK (hg_intercepts.c:...)
189   by 0x........: pthread_rwlock_unlock (hg_intercepts.c:...)
190   by 0x........: main (tc20_verifywrap.c:227)
191  Lock at 0x........ was first observed
192   at 0x........: pthread_rwlock_init_WRK (hg_intercepts.c:...)
193   by 0x........: pthread_rwlock_init (hg_intercepts.c:...)
194   by 0x........: main (tc20_verifywrap.c:196)
195
196
197---------------- sem_* ----------------
198
199----------------------------------------------------------------
200
201Thread #x's call to sem_init failed
202   with error code 22 (EINVAL: Invalid argument)
203   at 0x........: sem_init_WRK (hg_intercepts.c:...)
204   by 0x........: sem_init@* (hg_intercepts.c:...)
205   by 0x........: main (tc20_verifywrap.c:243)
206
207
208FIXME: can't figure out how to verify wrap of sem_destroy
209
210----------------------------------------------------------------
211
212Thread #x: Bug in libpthread: sem_wait succeeded on semaphore without prior sem_post
213   at 0x........: sem_wait_WRK (hg_intercepts.c:...)
214   by 0x........: sem_wait (hg_intercepts.c:...)
215   by 0x........: main (tc20_verifywrap.c:257)
216
217----------------------------------------------------------------
218
219Thread #x's call to sem_post failed
220   with error code 22 (EINVAL: Invalid argument)
221   at 0x........: sem_post_WRK (hg_intercepts.c:...)
222   by 0x........: sem_post (hg_intercepts.c:...)
223   by 0x........: main (tc20_verifywrap.c:260)
224
225
226FIXME: can't figure out how to verify wrap of sem_post
227
228
229------------ dealloc of mem holding locks ------------
230
231----------------------------------------------------------------
232
233Thread #x: Exiting thread still holds 1 lock
234   ...
235
236
237ERROR SUMMARY: 22 errors from 22 contexts (suppressed: 0 from 0)
238