


------ This is output for >= glibc 2.4 ------

---------------- pthread_create/join ----------------

---Thread-Announcement------------------------------------------

Thread #x is the program's root thread

---Thread-Announcement------------------------------------------

Thread #x was created
   ...
   by 0x........: pthread_create@* (hg_intercepts.c:...)
   by 0x........: main (tc20_verifywrap.c:86)

----------------------------------------------------------------

Possible data race during write of size 2 at 0x........ by thread #x
Locks held: none
   at 0x........: main (tc20_verifywrap.c:88)

This conflicts with a previous write of size 2 by thread #x
Locks held: none
   at 0x........: racy_child (tc20_verifywrap.c:44)
   by 0x........: mythread_wrapper (hg_intercepts.c:...)
   ...
 Location 0x........ is 0 bytes inside global var "unprotected"
 declared at tc20_verifywrap.c:37

----------------------------------------------------------------

Thread #x's call to pthread_join failed
   with error code 45 (EDEADLK: Resource deadlock would occur)
   at 0x........: pthread_join_WRK (hg_intercepts.c:...)
   by 0x........: pthread_join (hg_intercepts.c:...)
   by 0x........: main (tc20_verifywrap.c:93)


---------------- pthread_mutex_lock et al ----------------

----------------------------------------------------------------

Thread #x's call to pthread_mutex_init failed
   with error code 122 (EOPNOTSUPP: Operation not supported on transport endpoint)
   at 0x........: pthread_mutex_init (hg_intercepts.c:...)
   by 0x........: main (tc20_verifywrap.c:107)

----------------------------------------------------------------

Thread #x: pthread_mutex_destroy of a locked mutex
   at 0x........: mutex_destroy_WRK (hg_intercepts.c:...)
   by 0x........: pthread_mutex_destroy (hg_intercepts.c:...)
   by 0x........: main (tc20_verifywrap.c:117)

----------------------------------------------------------------

Thread #x's call to pthread_mutex_destroy failed
   with error code 16 (EBUSY: Device or resource busy)
   at 0x........: mutex_destroy_WRK (hg_intercepts.c:...)
   by 0x........: pthread_mutex_destroy (hg_intercepts.c:...)
   by 0x........: main (tc20_verifywrap.c:117)

----------------------------------------------------------------

Thread #x's call to pthread_mutex_lock failed
   with error code 22 (EINVAL: Invalid argument)
   at 0x........: mutex_lock_WRK (hg_intercepts.c:...)
   by 0x........: pthread_mutex_lock (hg_intercepts.c:...)
   by 0x........: main (tc20_verifywrap.c:123)

----------------------------------------------------------------

Thread #x's call to pthread_mutex_trylock failed
   with error code 22 (EINVAL: Invalid argument)
   at 0x........: mutex_trylock_WRK (hg_intercepts.c:...)
   by 0x........: pthread_mutex_trylock (hg_intercepts.c:...)
   by 0x........: main (tc20_verifywrap.c:131)

----------------------------------------------------------------

Thread #x's call to pthread_mutex_timedlock failed
   with error code 22 (EINVAL: Invalid argument)
   at 0x........: mutex_timedlock_WRK (hg_intercepts.c:...)
   by 0x........: pthread_mutex_timedlock (hg_intercepts.c:...)
   by 0x........: main (tc20_verifywrap.c:136)

----------------------------------------------------------------

Thread #x unlocked an invalid lock at 0x........
   at 0x........: mutex_unlock_WRK (hg_intercepts.c:...)
   by 0x........: pthread_mutex_unlock (hg_intercepts.c:...)
   by 0x........: main (tc20_verifywrap.c:140)

----------------------------------------------------------------

Thread #x's call to pthread_mutex_unlock failed
   with error code 22 (EINVAL: Invalid argument)
   at 0x........: mutex_unlock_WRK (hg_intercepts.c:...)
   by 0x........: pthread_mutex_unlock (hg_intercepts.c:...)
   by 0x........: main (tc20_verifywrap.c:140)


---------------- pthread_cond_wait et al ----------------

----------------------------------------------------------------

Thread #x: pthread_cond_{timed}wait called with un-held mutex
   at 0x........: pthread_cond_wait_WRK (hg_intercepts.c:...)
   by 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
   by 0x........: main (tc20_verifywrap.c:162)

----------------------------------------------------------------

Thread #x's call to pthread_cond_wait failed
   with error code 1 (EPERM: Operation not permitted)
   at 0x........: pthread_cond_wait_WRK (hg_intercepts.c:...)
   by 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
   by 0x........: main (tc20_verifywrap.c:162)

----------------------------------------------------------------

Thread #x: pthread_cond_{signal,broadcast}: dubious: associated lock is not held by any thread
   at 0x........: pthread_cond_signal_WRK (hg_intercepts.c:...)
   by 0x........: pthread_cond_signal@* (hg_intercepts.c:...)
   by 0x........: main (tc20_verifywrap.c:167)


FIXME: can't figure out how to verify wrap of pthread_cond_signal

----------------------------------------------------------------

Thread #x: pthread_cond_{signal,broadcast}: dubious: associated lock is not held by any thread
   at 0x........: pthread_cond_broadcast_WRK (hg_intercepts.c:...)
   by 0x........: pthread_cond_broadcast@* (hg_intercepts.c:...)
   by 0x........: main (tc20_verifywrap.c:173)


FIXME: can't figure out how to verify wrap of pthread_broadcast_signal

----------------------------------------------------------------

Thread #x: pthread_cond_{timed}wait called with un-held mutex
   at 0x........: pthread_cond_timedwait_WRK (hg_intercepts.c:...)
   by 0x........: pthread_cond_timedwait@* (hg_intercepts.c:...)
   by 0x........: main (tc20_verifywrap.c:180)

----------------------------------------------------------------

Thread #x's call to pthread_cond_timedwait failed
   with error code 22 (EINVAL: Invalid argument)
   at 0x........: pthread_cond_timedwait_WRK (hg_intercepts.c:...)
   by 0x........: pthread_cond_timedwait@* (hg_intercepts.c:...)
   by 0x........: main (tc20_verifywrap.c:180)


---------------- pthread_rwlock_* ----------------

----------------------------------------------------------------

Thread #x unlocked a not-locked lock at 0x........
   at 0x........: pthread_rwlock_unlock_WRK (hg_intercepts.c:...)
   by 0x........: pthread_rwlock_unlock (hg_intercepts.c:...)
   ...
   by 0x........: main (tc20_verifywrap.c:194)
 Lock at 0x........ was first observed
   at 0x........: pthread_rwlock_init_WRK (hg_intercepts.c:...)
   by 0x........: pthread_rwlock_init (hg_intercepts.c:...)
   by 0x........: main (tc20_verifywrap.c:193)
 Location 0x........ is 0 bytes inside local var "rwl"
 declared at tc20_verifywrap.c:57, in frame #x of thread x


(1) no error on next line
(2) no error on next line
(3)    ERROR on next line
----------------------------------------------------------------

Thread #x unlocked a not-locked lock at 0x........
   at 0x........: pthread_rwlock_unlock_WRK (hg_intercepts.c:...)
   by 0x........: pthread_rwlock_unlock (hg_intercepts.c:...)
   ...
   by 0x........: main (tc20_verifywrap.c:211)
 Lock at 0x........ was first observed
   at 0x........: pthread_rwlock_init_WRK (hg_intercepts.c:...)
   by 0x........: pthread_rwlock_init (hg_intercepts.c:...)
   by 0x........: main (tc20_verifywrap.c:201)
 Location 0x........ is 0 bytes inside local var "rwl2"
 declared at tc20_verifywrap.c:58, in frame #x of thread x


(4) no error on next line
(5) no error on next line
(6) no error on next line
(7) no error on next line
(8)    ERROR on next line
----------------------------------------------------------------

Thread #x unlocked a not-locked lock at 0x........
   at 0x........: pthread_rwlock_unlock_WRK (hg_intercepts.c:...)
   by 0x........: pthread_rwlock_unlock (hg_intercepts.c:...)
   ...
   by 0x........: main (tc20_verifywrap.c:232)
 Lock at 0x........ was first observed
   at 0x........: pthread_rwlock_init_WRK (hg_intercepts.c:...)
   by 0x........: pthread_rwlock_init (hg_intercepts.c:...)
   by 0x........: main (tc20_verifywrap.c:201)
 Location 0x........ is 0 bytes inside local var "rwl2"
 declared at tc20_verifywrap.c:58, in frame #x of thread x



---------------- pthread_spin_* ----------------


---------------- sem_* ----------------

----------------------------------------------------------------

Thread #x's call to sem_init failed
   with error code 22 (EINVAL: Invalid argument)
   at 0x........: sem_init_WRK (hg_intercepts.c:...)
   by 0x........: sem_init@* (hg_intercepts.c:...)
   by 0x........: main (tc20_verifywrap.c:267)


FIXME: can't figure out how to verify wrap of sem_destroy

----------------------------------------------------------------

Thread #x: Bug in libpthread: sem_wait succeeded on semaphore without prior sem_post
   at 0x........: sem_wait_WRK (hg_intercepts.c:...)
   by 0x........: sem_wait (hg_intercepts.c:...)
   by 0x........: main (tc20_verifywrap.c:281)


FIXME: can't figure out how to verify wrap of sem_post


------------ dealloc of mem holding locks ------------

----------------------------------------------------------------

Thread #x: Exiting thread still holds 1 lock
   ...


ERROR SUMMARY: 22 errors from 22 contexts (suppressed: 0 from 0)
