


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

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

Thread #1 is the program's root thread

Thread #2 was created
   at 0x........: clone (in /...libc...)
   by 0x........: pthread_create@GLIBC_ (in /lib/libpthread...)
   by 0x........: pthread_create@* (hg_intercepts.c:...)
   by 0x........: main (tc20_verifywrap.c:76)

Possible data race during write of size 2 at 0x........
   at 0x........: main (tc20_verifywrap.c:78)
  Old state: owned exclusively by thread #2
  New state: shared-modified by threads #1, #2
  Reason:    this thread, #1, holds no locks at all

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

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


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

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

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

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

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

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

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

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

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


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

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

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


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


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

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

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


Thread #1 unlocked a not-locked lock at 0x........ 
   at 0x........: pthread_rwlock_unlock (hg_intercepts.c:...)
   by 0x........: main (tc20_verifywrap.c:179)
  Lock at 0x........ was first observed
   at 0x........: pthread_rwlock_init (hg_intercepts.c:...)
   by 0x........: main (tc20_verifywrap.c:178)
(1) no error on next line
(2) no error on next line
(3)    ERROR on next line

Thread #1 unlocked a not-locked lock at 0x........ 
   at 0x........: pthread_rwlock_unlock (hg_intercepts.c:...)
   by 0x........: main (tc20_verifywrap.c:196)
  Lock at 0x........ was first observed
   at 0x........: pthread_rwlock_init (hg_intercepts.c:...)
   by 0x........: main (tc20_verifywrap.c:186)
(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 #1 unlocked a not-locked lock at 0x........ 
   at 0x........: pthread_rwlock_unlock (hg_intercepts.c:...)
   by 0x........: main (tc20_verifywrap.c:212)
  Lock at 0x........ was first observed
   at 0x........: pthread_rwlock_init (hg_intercepts.c:...)
   by 0x........: main (tc20_verifywrap.c:186)

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


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

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


Thread #1: 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:242)

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


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


Thread #1 deallocated location 0x........ containing a locked lock
   at 0x........: main (tc20_verifywrap.c:261)
  Lock at 0x........ was first observed
   at 0x........: pthread_rwlock_init (hg_intercepts.c:...)
   by 0x........: main (tc20_verifywrap.c:216)

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