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-Announcement------------------------------------------
      9 
     10 Thread #x is the program's root thread
     11 
     12 ---Thread-Announcement------------------------------------------
     13 
     14 Thread #x was created
     15    ...
     16    by 0x........: pthread_create_WRK (hg_intercepts.c:...)
     17    by 0x........: pthread_create@* (hg_intercepts.c:...)
     18    by 0x........: main (tc20_verifywrap.c:76)
     19 
     20 ----------------------------------------------------------------
     21 
     22 Possible data race during write of size 2 at 0x........ by thread #x
     23 Locks held: none
     24    at 0x........: main (tc20_verifywrap.c:78)
     25 
     26 This conflicts with a previous write of size 2 by thread #x
     27 Locks held: none
     28    at 0x........: racy_child (tc20_verifywrap.c:34)
     29    by 0x........: mythread_wrapper (hg_intercepts.c:...)
     30    ...
     31 
     32 Location 0x........ is 0 bytes inside global var "unprotected"
     33 declared at tc20_verifywrap.c:27
     34 
     35 ----------------------------------------------------------------
     36 
     37 Thread #x's call to pthread_join failed
     38    with error code 45 (EDEADLK: Resource deadlock would occur)
     39    at 0x........: pthread_join_WRK (hg_intercepts.c:...)
     40    by 0x........: pthread_join (hg_intercepts.c:...)
     41    by 0x........: main (tc20_verifywrap.c:83)
     42 
     43 
     44 ---------------- pthread_mutex_lock et al ----------------
     45 
     46 ----------------------------------------------------------------
     47 
     48 Thread #x's call to pthread_mutex_init failed
     49    with error code 122 (EOPNOTSUPP: Operation not supported on transport endpoint)
     50    at 0x........: pthread_mutex_init (hg_intercepts.c:...)
     51    by 0x........: main (tc20_verifywrap.c:92)
     52 
     53 ----------------------------------------------------------------
     54 
     55 Thread #x: pthread_mutex_destroy of a locked mutex
     56    at 0x........: pthread_mutex_destroy (hg_intercepts.c:...)
     57    by 0x........: main (tc20_verifywrap.c:102)
     58 
     59 ----------------------------------------------------------------
     60 
     61 Thread #x's call to pthread_mutex_destroy failed
     62    with error code 16 (EBUSY: Device or resource busy)
     63    at 0x........: pthread_mutex_destroy (hg_intercepts.c:...)
     64    by 0x........: main (tc20_verifywrap.c:102)
     65 
     66 ----------------------------------------------------------------
     67 
     68 Thread #x's call to pthread_mutex_lock failed
     69    with error code 22 (EINVAL: Invalid argument)
     70    at 0x........: pthread_mutex_lock (hg_intercepts.c:...)
     71    by 0x........: main (tc20_verifywrap.c:108)
     72 
     73 ----------------------------------------------------------------
     74 
     75 Thread #x's call to pthread_mutex_trylock failed
     76    with error code 22 (EINVAL: Invalid argument)
     77    at 0x........: pthread_mutex_trylock (hg_intercepts.c:...)
     78    by 0x........: main (tc20_verifywrap.c:116)
     79 
     80 ----------------------------------------------------------------
     81 
     82 Thread #x's call to pthread_mutex_timedlock failed
     83    with error code 22 (EINVAL: Invalid argument)
     84    at 0x........: pthread_mutex_timedlock (hg_intercepts.c:...)
     85    by 0x........: main (tc20_verifywrap.c:121)
     86 
     87 ----------------------------------------------------------------
     88 
     89 Thread #x unlocked an invalid lock at 0x........
     90    at 0x........: pthread_mutex_unlock (hg_intercepts.c:...)
     91    by 0x........: main (tc20_verifywrap.c:125)
     92 
     93 ----------------------------------------------------------------
     94 
     95 Thread #x's call to pthread_mutex_unlock failed
     96    with error code 22 (EINVAL: Invalid argument)
     97    at 0x........: pthread_mutex_unlock (hg_intercepts.c:...)
     98    by 0x........: main (tc20_verifywrap.c:125)
     99 
    100 
    101 ---------------- pthread_cond_wait et al ----------------
    102 
    103 ----------------------------------------------------------------
    104 
    105 Thread #x: pthread_cond_{timed}wait called with un-held mutex
    106    at 0x........: pthread_cond_wait_WRK (hg_intercepts.c:...)
    107    by 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
    108    by 0x........: main (tc20_verifywrap.c:147)
    109 
    110 ----------------------------------------------------------------
    111 
    112 Thread #x's call to pthread_cond_wait failed
    113    with error code 1 (EPERM: Operation not permitted)
    114    at 0x........: pthread_cond_wait_WRK (hg_intercepts.c:...)
    115    by 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
    116    by 0x........: main (tc20_verifywrap.c:147)
    117 
    118 ----------------------------------------------------------------
    119 
    120 Thread #x: pthread_cond_{signal,broadcast}: dubious: associated lock is not held by any thread
    121    at 0x........: pthread_cond_signal_WRK (hg_intercepts.c:...)
    122    by 0x........: pthread_cond_signal@* (hg_intercepts.c:...)
    123    by 0x........: main (tc20_verifywrap.c:152)
    124 
    125 
    126 FIXME: can't figure out how to verify wrap of pthread_cond_signal
    127 
    128 ----------------------------------------------------------------
    129 
    130 Thread #x: pthread_cond_{signal,broadcast}: dubious: associated lock is not held by any thread
    131    at 0x........: pthread_cond_broadcast_WRK (hg_intercepts.c:...)
    132    by 0x........: pthread_cond_broadcast@* (hg_intercepts.c:...)
    133    by 0x........: main (tc20_verifywrap.c:158)
    134 
    135 
    136 FIXME: can't figure out how to verify wrap of pthread_broadcast_signal
    137 
    138 ----------------------------------------------------------------
    139 
    140 Thread #x: pthread_cond_{timed}wait called with un-held mutex
    141    at 0x........: pthread_cond_timedwait_WRK (hg_intercepts.c:...)
    142    by 0x........: pthread_cond_timedwait@* (hg_intercepts.c:...)
    143    by 0x........: main (tc20_verifywrap.c:165)
    144 
    145 ----------------------------------------------------------------
    146 
    147 Thread #x's call to pthread_cond_timedwait failed
    148    with error code 22 (EINVAL: Invalid argument)
    149    at 0x........: pthread_cond_timedwait_WRK (hg_intercepts.c:...)
    150    by 0x........: pthread_cond_timedwait@* (hg_intercepts.c:...)
    151    by 0x........: main (tc20_verifywrap.c:165)
    152 
    153 
    154 ---------------- pthread_rwlock_* ----------------
    155 
    156 ----------------------------------------------------------------
    157 
    158 Thread #x unlocked a not-locked lock at 0x........
    159    at 0x........: pthread_rwlock_unlock_WRK (hg_intercepts.c:...)
    160    by 0x........: pthread_rwlock_unlock (hg_intercepts.c:...)
    161    by 0x........: main (tc20_verifywrap.c:179)
    162   Lock at 0x........ was first observed
    163    at 0x........: pthread_rwlock_init_WRK (hg_intercepts.c:...)
    164    by 0x........: pthread_rwlock_init (hg_intercepts.c:...)
    165    by 0x........: main (tc20_verifywrap.c:178)
    166 
    167 (1) no error on next line
    168 (2) no error on next line
    169 (3)    ERROR on next line
    170 ----------------------------------------------------------------
    171 
    172 Thread #x unlocked a not-locked lock at 0x........
    173    at 0x........: pthread_rwlock_unlock_WRK (hg_intercepts.c:...)
    174    by 0x........: pthread_rwlock_unlock (hg_intercepts.c:...)
    175    by 0x........: main (tc20_verifywrap.c:196)
    176   Lock at 0x........ was first observed
    177    at 0x........: pthread_rwlock_init_WRK (hg_intercepts.c:...)
    178    by 0x........: pthread_rwlock_init (hg_intercepts.c:...)
    179    by 0x........: main (tc20_verifywrap.c:186)
    180 
    181 (4) no error on next line
    182 (5) no error on next line
    183 (6) no error on next line
    184 (7) no error on next line
    185 (8)    ERROR on next line
    186 ----------------------------------------------------------------
    187 
    188 Thread #x unlocked a not-locked lock at 0x........
    189    at 0x........: pthread_rwlock_unlock_WRK (hg_intercepts.c:...)
    190    by 0x........: pthread_rwlock_unlock (hg_intercepts.c:...)
    191    by 0x........: main (tc20_verifywrap.c:212)
    192   Lock at 0x........ was first observed
    193    at 0x........: pthread_rwlock_init_WRK (hg_intercepts.c:...)
    194    by 0x........: pthread_rwlock_init (hg_intercepts.c:...)
    195    by 0x........: main (tc20_verifywrap.c:186)
    196 
    197 
    198 ---------------- sem_* ----------------
    199 
    200 ----------------------------------------------------------------
    201 
    202 Thread #x's call to sem_init failed
    203    with error code 22 (EINVAL: Invalid argument)
    204    at 0x........: sem_init_WRK (hg_intercepts.c:...)
    205    by 0x........: sem_init@* (hg_intercepts.c:...)
    206    by 0x........: main (tc20_verifywrap.c:228)
    207 
    208 
    209 FIXME: can't figure out how to verify wrap of sem_destroy
    210 
    211 ----------------------------------------------------------------
    212 
    213 Thread #x: Bug in libpthread: sem_wait succeeded on semaphore without prior sem_post
    214    at 0x........: sem_wait_WRK (hg_intercepts.c:...)
    215    by 0x........: sem_wait (hg_intercepts.c:...)
    216    by 0x........: main (tc20_verifywrap.c:242)
    217 
    218 
    219 FIXME: can't figure out how to verify wrap of sem_post
    220 
    221 
    222 ------------ dealloc of mem holding locks ------------
    223 
    224 ----------------------------------------------------------------
    225 
    226 Thread #x: Exiting thread still holds 1 lock
    227    ...
    228 
    229 
    230 ERROR SUMMARY: 22 errors from 22 contexts (suppressed: 0 from 0)
    231