4
------ This is output for >= glibc 2.4 ------
6
---------------- pthread_create/join ----------------
8
Thread #1 is the program's root thread
11
at 0x........: clone (in /...libc...)
12
by 0x........: pthread_create@GLIBC_ (in /lib/libpthread...)
13
by 0x........: pthread_create@* (hg_intercepts.c:...)
14
by 0x........: main (tc20_verifywrap.c:76)
16
Possible data race during write of size 2 at 0x........
17
at 0x........: main (tc20_verifywrap.c:78)
18
Old state: owned exclusively by thread #2
19
New state: shared-modified by threads #1, #2
20
Reason: this thread, #1, holds no locks at all
22
Thread #1's call to pthread_join failed
23
with error code 35 (EDEADLK: Resource deadlock would occur)
24
at 0x........: pthread_join (hg_intercepts.c:...)
25
by 0x........: main (tc20_verifywrap.c:83)
27
---------------- pthread_mutex_lock et al ----------------
30
Thread #1's call to pthread_mutex_init failed
31
with error code 95 (EOPNOTSUPP: Operation not supported on transport endpoint)
32
at 0x........: pthread_mutex_init (hg_intercepts.c:...)
33
by 0x........: main (tc20_verifywrap.c:92)
35
Thread #1: pthread_mutex_destroy of a locked mutex
36
at 0x........: pthread_mutex_destroy (hg_intercepts.c:...)
37
by 0x........: main (tc20_verifywrap.c:102)
39
Thread #1's call to pthread_mutex_destroy failed
40
with error code 16 (EBUSY: Device or resource busy)
41
at 0x........: pthread_mutex_destroy (hg_intercepts.c:...)
42
by 0x........: main (tc20_verifywrap.c:102)
44
Thread #1's call to pthread_mutex_lock failed
45
with error code 22 (EINVAL: Invalid argument)
46
at 0x........: pthread_mutex_lock (hg_intercepts.c:...)
47
by 0x........: main (tc20_verifywrap.c:108)
49
Thread #1's call to pthread_mutex_trylock failed
50
with error code 22 (EINVAL: Invalid argument)
51
at 0x........: pthread_mutex_trylock (hg_intercepts.c:...)
52
by 0x........: main (tc20_verifywrap.c:116)
54
Thread #1's call to pthread_mutex_timedlock failed
55
with error code 22 (EINVAL: Invalid argument)
56
at 0x........: pthread_mutex_timedlock (hg_intercepts.c:...)
57
by 0x........: main (tc20_verifywrap.c:121)
59
Thread #1 unlocked an invalid lock at 0x........
60
at 0x........: pthread_mutex_unlock (hg_intercepts.c:...)
61
by 0x........: main (tc20_verifywrap.c:125)
63
Thread #1's call to pthread_mutex_unlock failed
64
with error code 22 (EINVAL: Invalid argument)
65
at 0x........: pthread_mutex_unlock (hg_intercepts.c:...)
66
by 0x........: main (tc20_verifywrap.c:125)
68
---------------- pthread_cond_wait et al ----------------
71
Thread #1: pthread_cond_{timed}wait called with un-held mutex
72
at 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
73
by 0x........: main (tc20_verifywrap.c:147)
75
Thread #1's call to pthread_cond_wait failed
76
with error code 1 (EPERM: Operation not permitted)
77
at 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
78
by 0x........: main (tc20_verifywrap.c:147)
80
FIXME: can't figure out how to verify wrap of pthread_cond_signal
83
FIXME: can't figure out how to verify wrap of pthread_broadcast_signal
86
Thread #1: pthread_cond_{timed}wait called with un-held mutex
87
at 0x........: pthread_cond_timedwait@* (hg_intercepts.c:...)
88
by 0x........: main (tc20_verifywrap.c:165)
90
Thread #1's call to pthread_cond_timedwait failed
91
with error code 22 (EINVAL: Invalid argument)
92
at 0x........: pthread_cond_timedwait@* (hg_intercepts.c:...)
93
by 0x........: main (tc20_verifywrap.c:165)
95
---------------- pthread_rwlock_* ----------------
98
Thread #1 unlocked a not-locked lock at 0x........
99
at 0x........: pthread_rwlock_unlock (hg_intercepts.c:...)
100
by 0x........: main (tc20_verifywrap.c:179)
101
Lock at 0x........ was first observed
102
at 0x........: pthread_rwlock_init (hg_intercepts.c:...)
103
by 0x........: main (tc20_verifywrap.c:178)
104
(1) no error on next line
105
(2) no error on next line
106
(3) ERROR on next line
108
Thread #1 unlocked a not-locked lock at 0x........
109
at 0x........: pthread_rwlock_unlock (hg_intercepts.c:...)
110
by 0x........: main (tc20_verifywrap.c:196)
111
Lock at 0x........ was first observed
112
at 0x........: pthread_rwlock_init (hg_intercepts.c:...)
113
by 0x........: main (tc20_verifywrap.c:186)
114
(4) no error on next line
115
(5) no error on next line
116
(6) no error on next line
117
(7) no error on next line
118
(8) ERROR on next line
120
Thread #1 unlocked a not-locked lock at 0x........
121
at 0x........: pthread_rwlock_unlock (hg_intercepts.c:...)
122
by 0x........: main (tc20_verifywrap.c:212)
123
Lock at 0x........ was first observed
124
at 0x........: pthread_rwlock_init (hg_intercepts.c:...)
125
by 0x........: main (tc20_verifywrap.c:186)
127
---------------- sem_* ----------------
130
Thread #1's call to sem_init failed
131
with error code 22 (EINVAL: Invalid argument)
132
at 0x........: sem_init@* (hg_intercepts.c:...)
133
by 0x........: main (tc20_verifywrap.c:228)
135
FIXME: can't figure out how to verify wrap of sem_destroy
138
Thread #1: Bug in libpthread: sem_wait succeeded on semaphore without prior sem_post
139
at 0x........: sem_wait_WRK (hg_intercepts.c:...)
140
by 0x........: sem_wait@* (hg_intercepts.c:...)
141
by 0x........: main (tc20_verifywrap.c:242)
143
FIXME: can't figure out how to verify wrap of sem_post
146
------------ dealloc of mem holding locks ------------
149
Thread #1 deallocated location 0x........ containing a locked lock
150
at 0x........: main (tc20_verifywrap.c:261)
151
Lock at 0x........ was first observed
152
at 0x........: pthread_rwlock_init (hg_intercepts.c:...)
153
by 0x........: main (tc20_verifywrap.c:216)
155
ERROR SUMMARY: 20 errors from 20 contexts (suppressed: 0 from 0)