Home | History | Annotate | Download | only in tests
      1 
      2 
      3 
      4 ------ This is output for >= glibc 2.4 ------
      5 
      6 ---------------- pthread_create/join ----------------
      7 
      8 Thread #x is the program's root thread
      9 
     10 Thread #x was created
     11    ...
     12    by 0x........: pthread_create@* (hg_intercepts.c:...)
     13    by 0x........: main (tc20_verifywrap.c:76)
     14 
     15 Possible data race during write of size 2 at 0x........ by thread #x
     16    at 0x........: main (tc20_verifywrap.c:78)
     17  This conflicts with a previous write of size 2 by thread #x
     18    at 0x........: racy_child (tc20_verifywrap.c:34)
     19    by 0x........: mythread_wrapper (hg_intercepts.c:...)
     20    ...
     21  Location 0x........ is 0 bytes inside global var "unprotected"
     22  declared at tc20_verifywrap.c:27
     23 
     24 Thread #x's call to pthread_join failed
     25    with error code 35 (EDEADLK: Resource deadlock would occur)
     26    at 0x........: pthread_join (hg_intercepts.c:...)
     27    by 0x........: main (tc20_verifywrap.c:83)
     28 
     29 
     30 ---------------- pthread_mutex_lock et al ----------------
     31 
     32 Thread #x's call to pthread_mutex_init failed
     33    with error code 95 (EOPNOTSUPP: Operation not supported on transport endpoint)
     34    at 0x........: pthread_mutex_init (hg_intercepts.c:...)
     35    by 0x........: main (tc20_verifywrap.c:92)
     36 
     37 Thread #x: pthread_mutex_destroy of a locked mutex
     38    at 0x........: pthread_mutex_destroy (hg_intercepts.c:...)
     39    by 0x........: main (tc20_verifywrap.c:102)
     40 
     41 Thread #x's call to pthread_mutex_destroy failed
     42    with error code 16 (EBUSY: Device or resource busy)
     43    at 0x........: pthread_mutex_destroy (hg_intercepts.c:...)
     44    by 0x........: main (tc20_verifywrap.c:102)
     45 
     46 Thread #x's call to pthread_mutex_lock failed
     47    with error code 22 (EINVAL: Invalid argument)
     48    at 0x........: pthread_mutex_lock (hg_intercepts.c:...)
     49    by 0x........: main (tc20_verifywrap.c:108)
     50 
     51 Thread #x's call to pthread_mutex_trylock failed
     52    with error code 22 (EINVAL: Invalid argument)
     53    at 0x........: pthread_mutex_trylock (hg_intercepts.c:...)
     54    by 0x........: main (tc20_verifywrap.c:116)
     55 
     56 Thread #x's call to pthread_mutex_timedlock failed
     57    with error code 22 (EINVAL: Invalid argument)
     58    at 0x........: pthread_mutex_timedlock (hg_intercepts.c:...)
     59    by 0x........: main (tc20_verifywrap.c:121)
     60 
     61 Thread #x unlocked an invalid lock at 0x........
     62    at 0x........: pthread_mutex_unlock (hg_intercepts.c:...)
     63    by 0x........: main (tc20_verifywrap.c:125)
     64 
     65 Thread #x's call to pthread_mutex_unlock failed
     66    with error code 22 (EINVAL: Invalid argument)
     67    at 0x........: pthread_mutex_unlock (hg_intercepts.c:...)
     68    by 0x........: main (tc20_verifywrap.c:125)
     69 
     70 
     71 ---------------- pthread_cond_wait et al ----------------
     72 
     73 Thread #x: pthread_cond_{timed}wait called with un-held mutex
     74    at 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
     75    by 0x........: main (tc20_verifywrap.c:147)
     76 
     77 Thread #x's call to pthread_cond_wait failed
     78    with error code 1 (EPERM: Operation not permitted)
     79    at 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
     80    by 0x........: main (tc20_verifywrap.c:147)
     81 
     82 
     83 FIXME: can't figure out how to verify wrap of pthread_cond_signal
     84 
     85 
     86 FIXME: can't figure out how to verify wrap of pthread_broadcast_signal
     87 
     88 Thread #x: pthread_cond_{timed}wait called with un-held mutex
     89    at 0x........: pthread_cond_timedwait@* (hg_intercepts.c:...)
     90    by 0x........: main (tc20_verifywrap.c:165)
     91 
     92 Thread #x's call to pthread_cond_timedwait failed
     93    with error code 22 (EINVAL: Invalid argument)
     94    at 0x........: pthread_cond_timedwait@* (hg_intercepts.c:...)
     95    by 0x........: main (tc20_verifywrap.c:165)
     96 
     97 
     98 ---------------- pthread_rwlock_* ----------------
     99 
    100 Thread #x unlocked a not-locked lock at 0x........
    101    at 0x........: pthread_rwlock_unlock (hg_intercepts.c:...)
    102    by 0x........: main (tc20_verifywrap.c:179)
    103   Lock at 0x........ was first observed
    104    at 0x........: pthread_rwlock_init (hg_intercepts.c:...)
    105    by 0x........: main (tc20_verifywrap.c:178)
    106 
    107 (1) no error on next line
    108 (2) no error on next line
    109 (3)    ERROR on next line
    110 Thread #x unlocked a not-locked lock at 0x........
    111    at 0x........: pthread_rwlock_unlock (hg_intercepts.c:...)
    112    by 0x........: main (tc20_verifywrap.c:196)
    113   Lock at 0x........ was first observed
    114    at 0x........: pthread_rwlock_init (hg_intercepts.c:...)
    115    by 0x........: main (tc20_verifywrap.c:186)
    116 
    117 (4) no error on next line
    118 (5) no error on next line
    119 (6) no error on next line
    120 (7) no error on next line
    121 (8)    ERROR on next line
    122 Thread #x unlocked a not-locked lock at 0x........
    123    at 0x........: pthread_rwlock_unlock (hg_intercepts.c:...)
    124    by 0x........: main (tc20_verifywrap.c:212)
    125   Lock at 0x........ was first observed
    126    at 0x........: pthread_rwlock_init (hg_intercepts.c:...)
    127    by 0x........: main (tc20_verifywrap.c:186)
    128 
    129 
    130 ---------------- sem_* ----------------
    131 
    132 Thread #x's call to sem_init failed
    133    with error code 22 (EINVAL: Invalid argument)
    134    at 0x........: sem_init@* (hg_intercepts.c:...)
    135    by 0x........: main (tc20_verifywrap.c:228)
    136 
    137 
    138 FIXME: can't figure out how to verify wrap of sem_destroy
    139 
    140 Thread #x: Bug in libpthread: sem_wait succeeded on semaphore without prior sem_post
    141    at 0x........: sem_wait_WRK (hg_intercepts.c:...)
    142    by 0x........: sem_wait (hg_intercepts.c:...)
    143    by 0x........: main (tc20_verifywrap.c:242)
    144 
    145 
    146 FIXME: can't figure out how to verify wrap of sem_post
    147 
    148 
    149 ------------ dealloc of mem holding locks ------------
    150 
    151 Thread #x: Exiting thread still holds 1 lock
    152    ...
    153 
    154 
    155 ERROR SUMMARY: 20 errors from 20 contexts (suppressed: 0 from 0)
    156