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:81)
     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:83)
     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:39)
     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:32
     32 
     33 ----------------------------------------------------------------
     34 
     35 Thread #x's call to pthread_join failed
     36    with error code 45 (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:88)
     40 
     41 
     42 ---------------- pthread_mutex_lock et al ----------------
     43 
     44 ----------------------------------------------------------------
     45 
     46 Thread #x's call to mutex_init failed
     47    with error code 22 (EINVAL: Invalid argument)
     48    at 0x........: pthread_mutex_init (hg_intercepts.c:...)
     49    by 0x........: main (tc20_verifywrap.c:102)
     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:112)
     57 
     58 ----------------------------------------------------------------
     59 
     60 Thread #x's call to pthread_mutex_lock failed
     61    with error code 1 (EPERM: Operation not permitted)
     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:118)
     65 
     66 ----------------------------------------------------------------
     67 
     68 Thread #x's call to pthread_mutex_trylock failed
     69    with error code 1 (EPERM: Operation not permitted)
     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:126)
     73 
     74 ----------------------------------------------------------------
     75 
     76 Thread #x's call to pthread_mutex_timedlock failed
     77    with error code 1 (EPERM: Operation not permitted)
     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:131)
     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:135)
     88 
     89 ----------------------------------------------------------------
     90 
     91 Thread #x's call to pthread_mutex_unlock failed
     92    with error code 1 (EPERM: Operation not permitted)
     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:135)
     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:157)
    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:157)
    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:162)
    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:168)
    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:175)
    141 
    142 ----------------------------------------------------------------
    143 
    144 Thread #x's call to pthread_cond_timedwait failed
    145    with error code 1 (EPERM: Operation not permitted)
    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:175)
    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:189)
    160  Lock at 0x........ was first observed
    161    at 0x........: pthread_rwlock_init (hg_intercepts.c:...)
    162    ...
    163    by 0x........: main (tc20_verifywrap.c:188)
    164  Location 0x........ is 0 bytes inside rwl.__pthread_rwlock_readers,
    165  declared at tc20_verifywrap.c:52, in frame #x of thread x
    166 
    167 
    168 ----------------------------------------------------------------
    169 
    170 Thread #x's call to pthread_rwlock_unlock failed
    171    with error code 1 (EPERM: Operation not permitted)
    172    at 0x........: pthread_rwlock_unlock_WRK (hg_intercepts.c:...)
    173    by 0x........: pthread_rwlock_unlock (hg_intercepts.c:...)
    174    ...
    175    by 0x........: main (tc20_verifywrap.c:189)
    176 
    177 (1) no error on next line
    178 (2) no error on next line
    179 (3)    ERROR on next line
    180 ----------------------------------------------------------------
    181 
    182 Thread #x unlocked a not-locked lock at 0x........
    183    at 0x........: pthread_rwlock_unlock_WRK (hg_intercepts.c:...)
    184    by 0x........: pthread_rwlock_unlock (hg_intercepts.c:...)
    185    ...
    186    by 0x........: main (tc20_verifywrap.c:206)
    187  Lock at 0x........ was first observed
    188    at 0x........: pthread_rwlock_init (hg_intercepts.c:...)
    189    ...
    190    by 0x........: main (tc20_verifywrap.c:196)
    191  Location 0x........ is 0 bytes inside rwl2.__pthread_rwlock_readers,
    192  declared at tc20_verifywrap.c:53, in frame #x of thread x
    193 
    194 
    195 ----------------------------------------------------------------
    196 
    197 Thread #x's call to pthread_rwlock_unlock failed
    198    with error code 1 (EPERM: Operation not permitted)
    199    at 0x........: pthread_rwlock_unlock_WRK (hg_intercepts.c:...)
    200    by 0x........: pthread_rwlock_unlock (hg_intercepts.c:...)
    201    ...
    202    by 0x........: main (tc20_verifywrap.c:206)
    203 
    204 (4) no error on next line
    205 (5) no error on next line
    206 (6) no error on next line
    207 (7) no error on next line
    208 (8)    ERROR on next line
    209 ----------------------------------------------------------------
    210 
    211 Thread #x unlocked a not-locked lock at 0x........
    212    at 0x........: pthread_rwlock_unlock_WRK (hg_intercepts.c:...)
    213    by 0x........: pthread_rwlock_unlock (hg_intercepts.c:...)
    214    ...
    215    by 0x........: main (tc20_verifywrap.c:227)
    216  Lock at 0x........ was first observed
    217    at 0x........: pthread_rwlock_init (hg_intercepts.c:...)
    218    ...
    219    by 0x........: main (tc20_verifywrap.c:196)
    220  Location 0x........ is 0 bytes inside rwl2.__pthread_rwlock_readers,
    221  declared at tc20_verifywrap.c:53, in frame #x of thread x
    222 
    223 
    224 ----------------------------------------------------------------
    225 
    226 Thread #x's call to pthread_rwlock_unlock failed
    227    with error code 1 (EPERM: Operation not permitted)
    228    at 0x........: pthread_rwlock_unlock_WRK (hg_intercepts.c:...)
    229    by 0x........: pthread_rwlock_unlock (hg_intercepts.c:...)
    230    ...
    231    by 0x........: main (tc20_verifywrap.c:227)
    232 
    233 
    234 ---------------- sem_* ----------------
    235 
    236 ----------------------------------------------------------------
    237 
    238 Thread #x's call to sema_init failed
    239    with error code 22 (EINVAL: Invalid argument)
    240    at 0x........: sema_init (hg_intercepts.c:...)
    241    ...
    242    by 0x........: main (tc20_verifywrap.c:248)
    243 
    244 
    245 FIXME: can't figure out how to verify wrap of sem_destroy
    246 
    247 
    248 FIXME: can't figure out how to verify wrap of sem_post
    249 
    250 
    251 ------------ dealloc of mem holding locks ------------
    252 
    253 ----------------------------------------------------------------
    254 
    255 Thread #x: Exiting thread still holds 1 lock
    256    ...
    257 
    258 
    259 ERROR SUMMARY: 23 errors from 23 contexts (suppressed: 0 from 0)
    260