• 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:76)
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:78)
24
25This conflicts with a previous write of size 2 by thread #x
26Locks held: none
27   at 0x........: racy_child (tc20_verifywrap.c:34)
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:27
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:83)
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:92)
50
51----------------------------------------------------------------
52
53Thread #x: pthread_mutex_destroy of a locked mutex
54   at 0x........: pthread_mutex_destroy (hg_intercepts.c:...)
55   by 0x........: main (tc20_verifywrap.c:102)
56
57----------------------------------------------------------------
58
59Thread #x's call to pthread_mutex_lock failed
60   with error code 22 (EINVAL: Invalid argument)
61   at 0x........: pthread_mutex_lock (hg_intercepts.c:...)
62   by 0x........: main (tc20_verifywrap.c:108)
63
64----------------------------------------------------------------
65
66Thread #x's call to pthread_mutex_trylock failed
67   with error code 22 (EINVAL: Invalid argument)
68   at 0x........: pthread_mutex_trylock (hg_intercepts.c:...)
69   by 0x........: main (tc20_verifywrap.c:116)
70
71----------------------------------------------------------------
72
73Thread #x's call to pthread_mutex_timedlock failed
74   with error code 22 (EINVAL: Invalid argument)
75   at 0x........: pthread_mutex_timedlock (hg_intercepts.c:...)
76   by 0x........: main (tc20_verifywrap.c:121)
77
78----------------------------------------------------------------
79
80Thread #x unlocked an invalid lock at 0x........
81   at 0x........: pthread_mutex_unlock (hg_intercepts.c:...)
82   by 0x........: main (tc20_verifywrap.c:125)
83
84----------------------------------------------------------------
85
86Thread #x's call to pthread_mutex_unlock failed
87   with error code 22 (EINVAL: Invalid argument)
88   at 0x........: pthread_mutex_unlock (hg_intercepts.c:...)
89   by 0x........: main (tc20_verifywrap.c:125)
90
91
92---------------- pthread_cond_wait et al ----------------
93
94----------------------------------------------------------------
95
96Thread #x: pthread_cond_{timed}wait called with un-held mutex
97   at 0x........: pthread_cond_wait_WRK (hg_intercepts.c:...)
98   by 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
99   by 0x........: main (tc20_verifywrap.c:147)
100
101----------------------------------------------------------------
102
103Thread #x's call to pthread_cond_wait failed
104   with error code 1 (EPERM: Operation not permitted)
105   at 0x........: pthread_cond_wait_WRK (hg_intercepts.c:...)
106   by 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
107   by 0x........: main (tc20_verifywrap.c:147)
108
109----------------------------------------------------------------
110
111Thread #x: pthread_cond_{signal,broadcast}: dubious: associated lock is not held by any thread
112   at 0x........: pthread_cond_signal_WRK (hg_intercepts.c:...)
113   by 0x........: pthread_cond_signal@* (hg_intercepts.c:...)
114   by 0x........: main (tc20_verifywrap.c:152)
115
116
117FIXME: can't figure out how to verify wrap of pthread_cond_signal
118
119----------------------------------------------------------------
120
121Thread #x: pthread_cond_{signal,broadcast}: dubious: associated lock is not held by any thread
122   at 0x........: pthread_cond_broadcast_WRK (hg_intercepts.c:...)
123   by 0x........: pthread_cond_broadcast@* (hg_intercepts.c:...)
124   by 0x........: main (tc20_verifywrap.c:158)
125
126
127FIXME: can't figure out how to verify wrap of pthread_broadcast_signal
128
129----------------------------------------------------------------
130
131Thread #x: pthread_cond_{timed}wait called with un-held mutex
132   at 0x........: pthread_cond_timedwait_WRK (hg_intercepts.c:...)
133   by 0x........: pthread_cond_timedwait@* (hg_intercepts.c:...)
134   by 0x........: main (tc20_verifywrap.c:165)
135
136----------------------------------------------------------------
137
138Thread #x's call to pthread_cond_timedwait failed
139   with error code 22 (EINVAL: Invalid argument)
140   at 0x........: pthread_cond_timedwait_WRK (hg_intercepts.c:...)
141   by 0x........: pthread_cond_timedwait@* (hg_intercepts.c:...)
142   by 0x........: main (tc20_verifywrap.c:165)
143
144
145---------------- pthread_rwlock_* ----------------
146
147----------------------------------------------------------------
148
149Thread #x unlocked a not-locked lock at 0x........
150   at 0x........: pthread_rwlock_unlock_WRK (hg_intercepts.c:...)
151   by 0x........: pthread_rwlock_unlock (hg_intercepts.c:...)
152   by 0x........: main (tc20_verifywrap.c:179)
153  Lock at 0x........ was first observed
154   at 0x........: pthread_rwlock_init_WRK (hg_intercepts.c:...)
155   by 0x........: pthread_rwlock_init (hg_intercepts.c:...)
156   by 0x........: main (tc20_verifywrap.c:178)
157
158(1) no error on next line
159(2) no error on next line
160(3)    ERROR on next line
161----------------------------------------------------------------
162
163Thread #x unlocked a not-locked lock at 0x........
164   at 0x........: pthread_rwlock_unlock_WRK (hg_intercepts.c:...)
165   by 0x........: pthread_rwlock_unlock (hg_intercepts.c:...)
166   by 0x........: main (tc20_verifywrap.c:196)
167  Lock at 0x........ was first observed
168   at 0x........: pthread_rwlock_init_WRK (hg_intercepts.c:...)
169   by 0x........: pthread_rwlock_init (hg_intercepts.c:...)
170   by 0x........: main (tc20_verifywrap.c:186)
171
172(4) no error on next line
173(5) no error on next line
174(6) no error on next line
175(7) no error on next line
176(8)    ERROR on next line
177----------------------------------------------------------------
178
179Thread #x unlocked a not-locked lock at 0x........
180   at 0x........: pthread_rwlock_unlock_WRK (hg_intercepts.c:...)
181   by 0x........: pthread_rwlock_unlock (hg_intercepts.c:...)
182   by 0x........: main (tc20_verifywrap.c:212)
183  Lock at 0x........ was first observed
184   at 0x........: pthread_rwlock_init_WRK (hg_intercepts.c:...)
185   by 0x........: pthread_rwlock_init (hg_intercepts.c:...)
186   by 0x........: main (tc20_verifywrap.c:186)
187
188
189---------------- sem_* ----------------
190
191----------------------------------------------------------------
192
193Thread #x's call to sem_init failed
194   with error code 22 (EINVAL: Invalid argument)
195   at 0x........: sem_init_WRK (hg_intercepts.c:...)
196   by 0x........: sem_init@* (hg_intercepts.c:...)
197   by 0x........: main (tc20_verifywrap.c:228)
198
199
200FIXME: can't figure out how to verify wrap of sem_destroy
201
202----------------------------------------------------------------
203
204Thread #x: Bug in libpthread: sem_wait succeeded on semaphore without prior sem_post
205   at 0x........: sem_wait_WRK (hg_intercepts.c:...)
206   by 0x........: sem_wait (hg_intercepts.c:...)
207   by 0x........: main (tc20_verifywrap.c:242)
208
209----------------------------------------------------------------
210
211Thread #x's call to sem_post failed
212   with error code 22 (EINVAL: Invalid argument)
213   at 0x........: sem_post_WRK (hg_intercepts.c:...)
214   by 0x........: sem_post (hg_intercepts.c:...)
215   by 0x........: main (tc20_verifywrap.c:245)
216
217
218FIXME: can't figure out how to verify wrap of sem_post
219
220
221------------ dealloc of mem holding locks ------------
222
223----------------------------------------------------------------
224
225Thread #x: Exiting thread still holds 1 lock
226   ...
227
228
229ERROR SUMMARY: 22 errors from 22 contexts (suppressed: 0 from 0)
230