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