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