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:81)
     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:83)
     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:39)
     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:32
     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:88)
     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:102)
     52 
     53 ----------------------------------------------------------------
     54 
     55 Thread #x: pthread_mutex_destroy of a locked mutex
     56    at 0x........: mutex_destroy_WRK (hg_intercepts.c:...)
     57    by 0x........: pthread_mutex_destroy (hg_intercepts.c:...)
     58    by 0x........: main (tc20_verifywrap.c:112)
     59 
     60 ----------------------------------------------------------------
     61 
     62 Thread #x's call to pthread_mutex_destroy failed
     63    with error code 16 (EBUSY: Device or resource busy)
     64    at 0x........: mutex_destroy_WRK (hg_intercepts.c:...)
     65    by 0x........: pthread_mutex_destroy (hg_intercepts.c:...)
     66    by 0x........: main (tc20_verifywrap.c:112)
     67 
     68 ----------------------------------------------------------------
     69 
     70 Thread #x's call to pthread_mutex_lock failed
     71    with error code 22 (EINVAL: Invalid argument)
     72    at 0x........: mutex_lock_WRK (hg_intercepts.c:...)
     73    by 0x........: pthread_mutex_lock (hg_intercepts.c:...)
     74    by 0x........: main (tc20_verifywrap.c:118)
     75 
     76 ----------------------------------------------------------------
     77 
     78 Thread #x's call to pthread_mutex_trylock failed
     79    with error code 22 (EINVAL: Invalid argument)
     80    at 0x........: mutex_trylock_WRK (hg_intercepts.c:...)
     81    by 0x........: pthread_mutex_trylock (hg_intercepts.c:...)
     82    by 0x........: main (tc20_verifywrap.c:126)
     83 
     84 ----------------------------------------------------------------
     85 
     86 Thread #x's call to pthread_mutex_timedlock failed
     87    with error code 22 (EINVAL: Invalid argument)
     88    at 0x........: mutex_timedlock_WRK (hg_intercepts.c:...)
     89    by 0x........: pthread_mutex_timedlock (hg_intercepts.c:...)
     90    by 0x........: main (tc20_verifywrap.c:131)
     91 
     92 ----------------------------------------------------------------
     93 
     94 Thread #x unlocked an invalid lock at 0x........
     95    at 0x........: mutex_unlock_WRK (hg_intercepts.c:...)
     96    by 0x........: pthread_mutex_unlock (hg_intercepts.c:...)
     97    by 0x........: main (tc20_verifywrap.c:135)
     98 
     99 ----------------------------------------------------------------
    100 
    101 Thread #x's call to pthread_mutex_unlock failed
    102    with error code 22 (EINVAL: Invalid argument)
    103    at 0x........: mutex_unlock_WRK (hg_intercepts.c:...)
    104    by 0x........: pthread_mutex_unlock (hg_intercepts.c:...)
    105    by 0x........: main (tc20_verifywrap.c:135)
    106 
    107 
    108 ---------------- pthread_cond_wait et al ----------------
    109 
    110 ----------------------------------------------------------------
    111 
    112 Thread #x: pthread_cond_{timed}wait called with un-held mutex
    113    at 0x........: pthread_cond_wait_WRK (hg_intercepts.c:...)
    114    by 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
    115    by 0x........: main (tc20_verifywrap.c:157)
    116 
    117 ----------------------------------------------------------------
    118 
    119 Thread #x's call to pthread_cond_wait failed
    120    with error code 1 (EPERM: Operation not permitted)
    121    at 0x........: pthread_cond_wait_WRK (hg_intercepts.c:...)
    122    by 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
    123    by 0x........: main (tc20_verifywrap.c:157)
    124 
    125 ----------------------------------------------------------------
    126 
    127 Thread #x: pthread_cond_{signal,broadcast}: dubious: associated lock is not held by any thread
    128    at 0x........: pthread_cond_signal_WRK (hg_intercepts.c:...)
    129    by 0x........: pthread_cond_signal@* (hg_intercepts.c:...)
    130    by 0x........: main (tc20_verifywrap.c:162)
    131 
    132 
    133 FIXME: can't figure out how to verify wrap of pthread_cond_signal
    134 
    135 ----------------------------------------------------------------
    136 
    137 Thread #x: pthread_cond_{signal,broadcast}: dubious: associated lock is not held by any thread
    138    at 0x........: pthread_cond_broadcast_WRK (hg_intercepts.c:...)
    139    by 0x........: pthread_cond_broadcast@* (hg_intercepts.c:...)
    140    by 0x........: main (tc20_verifywrap.c:168)
    141 
    142 
    143 FIXME: can't figure out how to verify wrap of pthread_broadcast_signal
    144 
    145 ----------------------------------------------------------------
    146 
    147 Thread #x: pthread_cond_{timed}wait called with un-held mutex
    148    at 0x........: pthread_cond_timedwait_WRK (hg_intercepts.c:...)
    149    by 0x........: pthread_cond_timedwait@* (hg_intercepts.c:...)
    150    by 0x........: main (tc20_verifywrap.c:175)
    151 
    152 ----------------------------------------------------------------
    153 
    154 Thread #x's call to pthread_cond_timedwait failed
    155    with error code 22 (EINVAL: Invalid argument)
    156    at 0x........: pthread_cond_timedwait_WRK (hg_intercepts.c:...)
    157    by 0x........: pthread_cond_timedwait@* (hg_intercepts.c:...)
    158    by 0x........: main (tc20_verifywrap.c:175)
    159 
    160 
    161 ---------------- pthread_rwlock_* ----------------
    162 
    163 ----------------------------------------------------------------
    164 
    165 Thread #x unlocked a not-locked lock at 0x........
    166    at 0x........: pthread_rwlock_unlock_WRK (hg_intercepts.c:...)
    167    by 0x........: pthread_rwlock_unlock (hg_intercepts.c:...)
    168    ...
    169    by 0x........: main (tc20_verifywrap.c:189)
    170   Lock at 0x........ was first observed
    171    at 0x........: pthread_rwlock_init_WRK (hg_intercepts.c:...)
    172    by 0x........: pthread_rwlock_init (hg_intercepts.c:...)
    173    by 0x........: main (tc20_verifywrap.c:188)
    174 
    175 (1) no error on next line
    176 (2) no error on next line
    177 (3)    ERROR on next line
    178 ----------------------------------------------------------------
    179 
    180 Thread #x unlocked a not-locked lock at 0x........
    181    at 0x........: pthread_rwlock_unlock_WRK (hg_intercepts.c:...)
    182    by 0x........: pthread_rwlock_unlock (hg_intercepts.c:...)
    183    ...
    184    by 0x........: main (tc20_verifywrap.c:206)
    185   Lock at 0x........ was first observed
    186    at 0x........: pthread_rwlock_init_WRK (hg_intercepts.c:...)
    187    by 0x........: pthread_rwlock_init (hg_intercepts.c:...)
    188    by 0x........: main (tc20_verifywrap.c:196)
    189 
    190 (4) no error on next line
    191 (5) no error on next line
    192 (6) no error on next line
    193 (7) no error on next line
    194 (8)    ERROR on next line
    195 ----------------------------------------------------------------
    196 
    197 Thread #x unlocked a not-locked lock at 0x........
    198    at 0x........: pthread_rwlock_unlock_WRK (hg_intercepts.c:...)
    199    by 0x........: pthread_rwlock_unlock (hg_intercepts.c:...)
    200    ...
    201    by 0x........: main (tc20_verifywrap.c:227)
    202   Lock at 0x........ was first observed
    203    at 0x........: pthread_rwlock_init_WRK (hg_intercepts.c:...)
    204    by 0x........: pthread_rwlock_init (hg_intercepts.c:...)
    205    by 0x........: main (tc20_verifywrap.c:196)
    206 
    207 
    208 ---------------- sem_* ----------------
    209 
    210 ----------------------------------------------------------------
    211 
    212 Thread #x's call to sem_init failed
    213    with error code 22 (EINVAL: Invalid argument)
    214    at 0x........: sem_init_WRK (hg_intercepts.c:...)
    215    by 0x........: sem_init@* (hg_intercepts.c:...)
    216    by 0x........: main (tc20_verifywrap.c:243)
    217 
    218 
    219 FIXME: can't figure out how to verify wrap of sem_destroy
    220 
    221 ----------------------------------------------------------------
    222 
    223 Thread #x: Bug in libpthread: sem_wait succeeded on semaphore without prior sem_post
    224    at 0x........: sem_wait_WRK (hg_intercepts.c:...)
    225    by 0x........: sem_wait (hg_intercepts.c:...)
    226    by 0x........: main (tc20_verifywrap.c:257)
    227 
    228 
    229 FIXME: can't figure out how to verify wrap of sem_post
    230 
    231 
    232 ------------ dealloc of mem holding locks ------------
    233 
    234 ----------------------------------------------------------------
    235 
    236 Thread #x: Exiting thread still holds 1 lock
    237    ...
    238 
    239 
    240 ERROR SUMMARY: 22 errors from 22 contexts (suppressed: 0 from 0)
    241