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_WRK (hg_intercepts.c:...)
     75    by 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
     76    by 0x........: main (tc20_verifywrap.c:147)
     77 
     78 Thread #x's call to pthread_cond_wait failed
     79    with error code 1 (EPERM: Operation not permitted)
     80    at 0x........: pthread_cond_wait_WRK (hg_intercepts.c:...)
     81    by 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
     82    by 0x........: main (tc20_verifywrap.c:147)
     83 
     84 
     85 FIXME: can't figure out how to verify wrap of pthread_cond_signal
     86 
     87 
     88 FIXME: can't figure out how to verify wrap of pthread_broadcast_signal
     89 
     90 Thread #x: pthread_cond_{timed}wait called with un-held mutex
     91    at 0x........: pthread_cond_timedwait_WRK (hg_intercepts.c:...)
     92    by 0x........: pthread_cond_timedwait@* (hg_intercepts.c:...)
     93    by 0x........: main (tc20_verifywrap.c:165)
     94 
     95 Thread #x's call to pthread_cond_timedwait failed
     96    with error code 22 (EINVAL: Invalid argument)
     97    at 0x........: pthread_cond_timedwait_WRK (hg_intercepts.c:...)
     98    by 0x........: pthread_cond_timedwait@* (hg_intercepts.c:...)
     99    by 0x........: main (tc20_verifywrap.c:165)
    100 
    101 
    102 ---------------- pthread_rwlock_* ----------------
    103 
    104 Thread #x unlocked a not-locked lock at 0x........
    105    at 0x........: pthread_rwlock_unlock (hg_intercepts.c:...)
    106    by 0x........: main (tc20_verifywrap.c:179)
    107   Lock at 0x........ was first observed
    108    at 0x........: pthread_rwlock_init (hg_intercepts.c:...)
    109    by 0x........: main (tc20_verifywrap.c:178)
    110 
    111 (1) no error on next line
    112 (2) no error on next line
    113 (3)    ERROR on next line
    114 Thread #x unlocked a not-locked lock at 0x........
    115    at 0x........: pthread_rwlock_unlock (hg_intercepts.c:...)
    116    by 0x........: main (tc20_verifywrap.c:196)
    117   Lock at 0x........ was first observed
    118    at 0x........: pthread_rwlock_init (hg_intercepts.c:...)
    119    by 0x........: main (tc20_verifywrap.c:186)
    120 
    121 (4) no error on next line
    122 (5) no error on next line
    123 (6) no error on next line
    124 (7) no error on next line
    125 (8)    ERROR on next line
    126 Thread #x unlocked a not-locked lock at 0x........
    127    at 0x........: pthread_rwlock_unlock (hg_intercepts.c:...)
    128    by 0x........: main (tc20_verifywrap.c:212)
    129   Lock at 0x........ was first observed
    130    at 0x........: pthread_rwlock_init (hg_intercepts.c:...)
    131    by 0x........: main (tc20_verifywrap.c:186)
    132 
    133 
    134 ---------------- sem_* ----------------
    135 
    136 Thread #x's call to sem_init failed
    137    with error code 22 (EINVAL: Invalid argument)
    138    at 0x........: sem_init@* (hg_intercepts.c:...)
    139    by 0x........: main (tc20_verifywrap.c:228)
    140 
    141 
    142 FIXME: can't figure out how to verify wrap of sem_destroy
    143 
    144 Thread #x: Bug in libpthread: sem_wait succeeded on semaphore without prior sem_post
    145    at 0x........: sem_wait_WRK (hg_intercepts.c:...)
    146    by 0x........: sem_wait (hg_intercepts.c:...)
    147    by 0x........: main (tc20_verifywrap.c:242)
    148 
    149 Thread #x's call to sem_post failed
    150    with error code 22 (EINVAL: Invalid argument)
    151    at 0x........: sem_post_WRK (hg_intercepts.c:...)
    152    by 0x........: sem_post (hg_intercepts.c:...)
    153    by 0x........: main (tc20_verifywrap.c:245)
    154 
    155 
    156 FIXME: can't figure out how to verify wrap of sem_post
    157 
    158 
    159 ------------ dealloc of mem holding locks ------------
    160 
    161 Thread #x: Exiting thread still holds 1 lock
    162    ...
    163 
    164 
    165 ERROR SUMMARY: 21 errors from 21 contexts (suppressed: 0 from 0)
    166