blob: 2a2ee9b5d2964a69e0b07b60f4ffa4ea5dd66928 [file] [log] [blame]
mjw0c66d2e2015-09-04 09:41:42 +00001
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:...)
Elliott Hughesa0664b92017-04-18 17:46:52 -070017 by 0x........: main (tc20_verifywrap.c:86)
mjw0c66d2e2015-09-04 09:41:42 +000018
19----------------------------------------------------------------
20
21Possible data race during write of size 2 at 0x........ by thread #x
22Locks held: none
Elliott Hughesa0664b92017-04-18 17:46:52 -070023 at 0x........: main (tc20_verifywrap.c:88)
mjw0c66d2e2015-09-04 09:41:42 +000024
25This conflicts with a previous write of size 2 by thread #x
26Locks held: none
Elliott Hughesa0664b92017-04-18 17:46:52 -070027 at 0x........: racy_child (tc20_verifywrap.c:44)
mjw0c66d2e2015-09-04 09:41:42 +000028 by 0x........: mythread_wrapper (hg_intercepts.c:...)
29 ...
30 Location 0x........ is 0 bytes inside global var "unprotected"
Elliott Hughesa0664b92017-04-18 17:46:52 -070031 declared at tc20_verifywrap.c:37
mjw0c66d2e2015-09-04 09:41:42 +000032
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:...)
Elliott Hughesa0664b92017-04-18 17:46:52 -070039 by 0x........: main (tc20_verifywrap.c:93)
mjw0c66d2e2015-09-04 09:41:42 +000040
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:...)
Elliott Hughesa0664b92017-04-18 17:46:52 -070049 by 0x........: main (tc20_verifywrap.c:107)
mjw0c66d2e2015-09-04 09:41:42 +000050
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:...)
Elliott Hughesa0664b92017-04-18 17:46:52 -070056 by 0x........: main (tc20_verifywrap.c:117)
mjw0c66d2e2015-09-04 09:41:42 +000057
58----------------------------------------------------------------
59
60Thread #x's call to pthread_mutex_destroy failed
61 with error code 16 (EBUSY: Device or resource busy)
62 at 0x........: mutex_destroy_WRK (hg_intercepts.c:...)
63 by 0x........: pthread_mutex_destroy (hg_intercepts.c:...)
Elliott Hughesa0664b92017-04-18 17:46:52 -070064 by 0x........: main (tc20_verifywrap.c:117)
mjw0c66d2e2015-09-04 09:41:42 +000065
66----------------------------------------------------------------
67
68Thread #x's call to pthread_mutex_lock failed
69 with error code 22 (EINVAL: Invalid argument)
70 at 0x........: mutex_lock_WRK (hg_intercepts.c:...)
71 by 0x........: pthread_mutex_lock (hg_intercepts.c:...)
Elliott Hughesa0664b92017-04-18 17:46:52 -070072 by 0x........: main (tc20_verifywrap.c:123)
mjw0c66d2e2015-09-04 09:41:42 +000073
74----------------------------------------------------------------
75
76Thread #x's call to pthread_mutex_trylock failed
77 with error code 22 (EINVAL: Invalid argument)
78 at 0x........: mutex_trylock_WRK (hg_intercepts.c:...)
79 by 0x........: pthread_mutex_trylock (hg_intercepts.c:...)
Elliott Hughesa0664b92017-04-18 17:46:52 -070080 by 0x........: main (tc20_verifywrap.c:131)
mjw0c66d2e2015-09-04 09:41:42 +000081
82----------------------------------------------------------------
83
84Thread #x's call to pthread_mutex_timedlock failed
85 with error code 22 (EINVAL: Invalid argument)
86 at 0x........: mutex_timedlock_WRK (hg_intercepts.c:...)
87 by 0x........: pthread_mutex_timedlock (hg_intercepts.c:...)
Elliott Hughesa0664b92017-04-18 17:46:52 -070088 by 0x........: main (tc20_verifywrap.c:136)
mjw0c66d2e2015-09-04 09:41:42 +000089
90----------------------------------------------------------------
91
92Thread #x unlocked an invalid lock at 0x........
93 at 0x........: mutex_unlock_WRK (hg_intercepts.c:...)
94 by 0x........: pthread_mutex_unlock (hg_intercepts.c:...)
Elliott Hughesa0664b92017-04-18 17:46:52 -070095 by 0x........: main (tc20_verifywrap.c:140)
mjw0c66d2e2015-09-04 09:41:42 +000096
97----------------------------------------------------------------
98
99Thread #x's call to pthread_mutex_unlock failed
100 with error code 22 (EINVAL: Invalid argument)
101 at 0x........: mutex_unlock_WRK (hg_intercepts.c:...)
102 by 0x........: pthread_mutex_unlock (hg_intercepts.c:...)
Elliott Hughesa0664b92017-04-18 17:46:52 -0700103 by 0x........: main (tc20_verifywrap.c:140)
mjw0c66d2e2015-09-04 09:41:42 +0000104
105
106---------------- pthread_cond_wait et al ----------------
107
108----------------------------------------------------------------
109
110Thread #x: pthread_cond_{timed}wait called with un-held mutex
111 at 0x........: pthread_cond_wait_WRK (hg_intercepts.c:...)
112 by 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
Elliott Hughesa0664b92017-04-18 17:46:52 -0700113 by 0x........: main (tc20_verifywrap.c:162)
mjw0c66d2e2015-09-04 09:41:42 +0000114
115----------------------------------------------------------------
116
117Thread #x's call to pthread_cond_wait failed
118 with error code 1 (EPERM: Operation not permitted)
119 at 0x........: pthread_cond_wait_WRK (hg_intercepts.c:...)
120 by 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
Elliott Hughesa0664b92017-04-18 17:46:52 -0700121 by 0x........: main (tc20_verifywrap.c:162)
mjw0c66d2e2015-09-04 09:41:42 +0000122
123----------------------------------------------------------------
124
125Thread #x: pthread_cond_{signal,broadcast}: dubious: associated lock is not held by any thread
126 at 0x........: pthread_cond_signal_WRK (hg_intercepts.c:...)
127 by 0x........: pthread_cond_signal@* (hg_intercepts.c:...)
Elliott Hughesa0664b92017-04-18 17:46:52 -0700128 by 0x........: main (tc20_verifywrap.c:167)
mjw0c66d2e2015-09-04 09:41:42 +0000129
130
131FIXME: can't figure out how to verify wrap of pthread_cond_signal
132
133----------------------------------------------------------------
134
135Thread #x: pthread_cond_{signal,broadcast}: dubious: associated lock is not held by any thread
136 at 0x........: pthread_cond_broadcast_WRK (hg_intercepts.c:...)
137 by 0x........: pthread_cond_broadcast@* (hg_intercepts.c:...)
Elliott Hughesa0664b92017-04-18 17:46:52 -0700138 by 0x........: main (tc20_verifywrap.c:173)
mjw0c66d2e2015-09-04 09:41:42 +0000139
140
141FIXME: can't figure out how to verify wrap of pthread_broadcast_signal
142
143----------------------------------------------------------------
144
145Thread #x: pthread_cond_{timed}wait called with un-held mutex
146 at 0x........: pthread_cond_timedwait_WRK (hg_intercepts.c:...)
147 by 0x........: pthread_cond_timedwait@* (hg_intercepts.c:...)
Elliott Hughesa0664b92017-04-18 17:46:52 -0700148 by 0x........: main (tc20_verifywrap.c:180)
mjw0c66d2e2015-09-04 09:41:42 +0000149
150----------------------------------------------------------------
151
152Thread #x's call to pthread_cond_timedwait failed
153 with error code 22 (EINVAL: Invalid argument)
154 at 0x........: pthread_cond_timedwait_WRK (hg_intercepts.c:...)
155 by 0x........: pthread_cond_timedwait@* (hg_intercepts.c:...)
Elliott Hughesa0664b92017-04-18 17:46:52 -0700156 by 0x........: main (tc20_verifywrap.c:180)
mjw0c66d2e2015-09-04 09:41:42 +0000157
158
159---------------- pthread_rwlock_* ----------------
160
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 ...
Elliott Hughesa0664b92017-04-18 17:46:52 -0700167 by 0x........: main (tc20_verifywrap.c:194)
mjw0c66d2e2015-09-04 09:41:42 +0000168 Lock at 0x........ was first observed
169 at 0x........: pthread_rwlock_init_WRK (hg_intercepts.c:...)
170 by 0x........: pthread_rwlock_init (hg_intercepts.c:...)
Elliott Hughesa0664b92017-04-18 17:46:52 -0700171 by 0x........: main (tc20_verifywrap.c:193)
mjw0c66d2e2015-09-04 09:41:42 +0000172 Location 0x........ is 0 bytes inside local var "rwl"
Elliott Hughesa0664b92017-04-18 17:46:52 -0700173 declared at tc20_verifywrap.c:57, in frame #x of thread x
mjw0c66d2e2015-09-04 09:41:42 +0000174
175
176(1) no error on next line
177(2) no error on next line
178(3) ERROR on next line
179----------------------------------------------------------------
180
181Thread #x unlocked a not-locked lock at 0x........
182 at 0x........: pthread_rwlock_unlock_WRK (hg_intercepts.c:...)
183 by 0x........: pthread_rwlock_unlock (hg_intercepts.c:...)
184 ...
Elliott Hughesa0664b92017-04-18 17:46:52 -0700185 by 0x........: main (tc20_verifywrap.c:211)
mjw0c66d2e2015-09-04 09:41:42 +0000186 Lock at 0x........ was first observed
187 at 0x........: pthread_rwlock_init_WRK (hg_intercepts.c:...)
188 by 0x........: pthread_rwlock_init (hg_intercepts.c:...)
Elliott Hughesa0664b92017-04-18 17:46:52 -0700189 by 0x........: main (tc20_verifywrap.c:201)
mjw0c66d2e2015-09-04 09:41:42 +0000190 Location 0x........ is 0 bytes inside local var "rwl2"
Elliott Hughesa0664b92017-04-18 17:46:52 -0700191 declared at tc20_verifywrap.c:58, in frame #x of thread x
mjw0c66d2e2015-09-04 09:41:42 +0000192
193
194(4) no error on next line
195(5) no error on next line
196(6) no error on next line
197(7) no error on next line
198(8) ERROR on next line
199----------------------------------------------------------------
200
201Thread #x unlocked a not-locked lock at 0x........
202 at 0x........: pthread_rwlock_unlock_WRK (hg_intercepts.c:...)
203 by 0x........: pthread_rwlock_unlock (hg_intercepts.c:...)
204 ...
Elliott Hughesa0664b92017-04-18 17:46:52 -0700205 by 0x........: main (tc20_verifywrap.c:232)
mjw0c66d2e2015-09-04 09:41:42 +0000206 Lock at 0x........ was first observed
207 at 0x........: pthread_rwlock_init_WRK (hg_intercepts.c:...)
208 by 0x........: pthread_rwlock_init (hg_intercepts.c:...)
Elliott Hughesa0664b92017-04-18 17:46:52 -0700209 by 0x........: main (tc20_verifywrap.c:201)
mjw0c66d2e2015-09-04 09:41:42 +0000210 Location 0x........ is 0 bytes inside local var "rwl2"
Elliott Hughesa0664b92017-04-18 17:46:52 -0700211 declared at tc20_verifywrap.c:58, in frame #x of thread x
mjw0c66d2e2015-09-04 09:41:42 +0000212
213
214
Elliott Hughesa0664b92017-04-18 17:46:52 -0700215---------------- pthread_spin_* ----------------
216
217
mjw0c66d2e2015-09-04 09:41:42 +0000218---------------- sem_* ----------------
219
220----------------------------------------------------------------
221
222Thread #x's call to sem_init failed
223 with error code 22 (EINVAL: Invalid argument)
224 at 0x........: sem_init_WRK (hg_intercepts.c:...)
225 by 0x........: sem_init@* (hg_intercepts.c:...)
Elliott Hughesa0664b92017-04-18 17:46:52 -0700226 by 0x........: main (tc20_verifywrap.c:267)
mjw0c66d2e2015-09-04 09:41:42 +0000227
228
229FIXME: can't figure out how to verify wrap of sem_destroy
230
231----------------------------------------------------------------
232
233Thread #x: Bug in libpthread: sem_wait succeeded on semaphore without prior sem_post
234 at 0x........: sem_wait_WRK (hg_intercepts.c:...)
235 by 0x........: sem_wait (hg_intercepts.c:...)
Elliott Hughesa0664b92017-04-18 17:46:52 -0700236 by 0x........: main (tc20_verifywrap.c:281)
mjw0c66d2e2015-09-04 09:41:42 +0000237
238
239FIXME: can't figure out how to verify wrap of sem_post
240
241
242------------ dealloc of mem holding locks ------------
243
244----------------------------------------------------------------
245
246Thread #x: Exiting thread still holds 1 lock
247 ...
248
249
250ERROR SUMMARY: 22 errors from 22 contexts (suppressed: 0 from 0)