| |
| |
| |
| ------ This is output for < glibc 2.4 ------ |
| |
| ---------------- pthread_create/join ---------------- |
| |
| Conflicting store by thread 1 at 0x........ size 2 |
| at 0x........: main (tc20_verifywrap.c:78) |
| Location 0x........ is 0 bytes inside global var "unprotected" |
| declared at tc20_verifywrap.c:27 |
| Other segment start (thread 2) |
| (thread finished, call stack no longer available) |
| Other segment end (thread 2) |
| (thread finished, call stack no longer available) |
| |
| ---------------- pthread_mutex_lock et al ---------------- |
| |
| [1/1] mutex_init invalid mutex 0x........ |
| |
| Not a mutex |
| at 0x........: pthread_mutex_init (drd_pthread_intercepts.c:?) |
| by 0x........: main (tc20_verifywrap.c:92) |
| [1/1] mutex_init mutex 0x........ |
| [1/1] pre_mutex_lock mutex 0x........ rc 0 owner 0 |
| [1/1] post_mutex_lock mutex 0x........ rc 0 owner 0 |
| [1/1] mutex_destroy mutex 0x........ |
| |
| Destroying locked mutex: mutex 0x........, recursion count 1, owner 1. |
| at 0x........: pthread_mutex_destroy (drd_pthread_intercepts.c:?) |
| by 0x........: main (tc20_verifywrap.c:102) |
| |
| make pthread_mutex_lock fail: skipped on glibc < 2.4 |
| |
| [1/1] pre_mutex_lock invalid mutex 0x........ rc 0 owner 0 |
| |
| Not a mutex |
| at 0x........: pthread_mutex_trylock (drd_pthread_intercepts.c:?) |
| by 0x........: main (tc20_verifywrap.c:116) |
| [1/1] post_mutex_lock invalid mutex 0x........ rc 0 owner 0 |
| [1/1] pre_mutex_lock invalid mutex 0x........ rc 0 owner 0 |
| |
| Not a mutex |
| at 0x........: pthread_mutex_timedlock (drd_pthread_intercepts.c:?) |
| by 0x........: main (tc20_verifywrap.c:121) |
| [1/1] post_mutex_lock invalid mutex 0x........ rc 0 owner 0 |
| [1/1] mutex_unlock invalid mutex 0x........ rc 0 |
| |
| Not a mutex |
| at 0x........: pthread_mutex_unlock (drd_pthread_intercepts.c:?) |
| by 0x........: main (tc20_verifywrap.c:125) |
| |
| ---------------- pthread_cond_wait et al ---------------- |
| |
| [1/1] mutex_init error checking mutex 0x........ |
| [1/1] cond_init 0x........ |
| [1/1] mutex_unlock error checking mutex 0x........ rc 0 |
| |
| Mutex not locked: mutex 0x........, recursion count 0, owner 0. |
| at 0x........: pthread_cond_wait* (drd_pthread_intercepts.c:?) |
| by 0x........: main (tc20_verifywrap.c:147) |
| [1/1] cond_pre_wait 0x........ |
| [1/1] cond_post_wait 0x........ |
| [1/1] post_mutex_lock error checking mutex 0x........ rc 0 owner 0 |
| [1/1] cond_signal 0x........ |
| |
| FIXME: can't figure out how to verify wrap of pthread_cond_signal |
| |
| [1/1] cond_broadcast 0x........ |
| |
| FIXME: can't figure out how to verify wrap of pthread_broadcast_signal |
| |
| [1/1] mutex_unlock error checking mutex 0x........ rc 0 |
| |
| Mutex not locked: mutex 0x........, recursion count 0, owner 0. |
| at 0x........: pthread_cond_timedwait* (drd_pthread_intercepts.c:?) |
| by 0x........: main (tc20_verifywrap.c:165) |
| [1/1] cond_pre_wait 0x........ |
| [1/1] cond_post_wait 0x........ |
| [1/1] post_mutex_lock error checking mutex 0x........ rc 0 owner 0 |
| |
| ---------------- pthread_rwlock_* ---------------- |
| |
| |
| Reader-writer lock not locked by calling thread: rwlock 0x......... |
| at 0x........: pthread_rwlock_unlock* (drd_pthread_intercepts.c:?) |
| by 0x........: main (tc20_verifywrap.c:179) |
| (1) no error on next line |
| (2) no error on next line |
| (3) ERROR on next line |
| |
| Reader-writer lock not locked by calling thread: rwlock 0x......... |
| at 0x........: pthread_rwlock_unlock* (drd_pthread_intercepts.c:?) |
| by 0x........: main (tc20_verifywrap.c:196) |
| |
| Reader-writer lock reinitialization: rwlock 0x......... |
| at 0x........: pthread_rwlock_init* (drd_pthread_intercepts.c:?) |
| by 0x........: main (tc20_verifywrap.c:199) |
| (4) no error on next line |
| (5) no error on next line |
| (6) no error on next line |
| (7) no error on next line |
| (8) ERROR on next line |
| |
| Reader-writer lock not locked by calling thread: rwlock 0x......... |
| at 0x........: pthread_rwlock_unlock* (drd_pthread_intercepts.c:?) |
| by 0x........: main (tc20_verifywrap.c:212) |
| |
| ---------------- sem_* ---------------- |
| |
| [1/1] semaphore_init 0x........ |
| [1/1] semaphore_init 0x........ |
| |
| FIXME: can't figure out how to verify wrap of sem_destroy |
| |
| [1/1] semaphore_pre_wait 0x........ |
| [1/1] semaphore_post_wait 0x........ |
| |
| Invalid semaphore: semaphore 0x........ |
| at 0x........: sem_wait* (drd_pthread_intercepts.c:?) |
| by 0x........: main (tc20_verifywrap.c:242) |
| [1/1] semaphore_post 0x........ |
| |
| FIXME: can't figure out how to verify wrap of sem_post |
| |
| [1/1] semaphore_destroy 0x........ |
| |
| ------------ dealloc of mem holding locks ------------ |
| |
| |
| Destroying locked rwlock: rwlock 0x......... |
| at 0x........: main (tc20_verifywrap.c:262) |
| [1/1] mutex_destroy error checking mutex 0x........ |
| [1/1] mutex_destroy invalid mutex 0x........ |
| [1/1] pre_mutex_lock recursive mutex 0x........ rc 0 owner 0 |
| [1/1] post_mutex_lock recursive mutex 0x........ rc 0 owner 0 |
| [1/1] mutex_unlock recursive mutex 0x........ rc 1 |
| [1/1] pre_mutex_lock recursive mutex 0x........ rc 0 owner 1 |
| [1/1] post_mutex_lock recursive mutex 0x........ rc 0 owner 1 |
| [1/1] mutex_unlock recursive mutex 0x........ rc 1 |
| [1/1] pre_mutex_lock recursive mutex 0x........ rc 0 owner 1 |
| [1/1] post_mutex_lock recursive mutex 0x........ rc 0 owner 1 |
| [1/1] mutex_unlock recursive mutex 0x........ rc 1 |
| [1/1] pre_mutex_lock recursive mutex 0x........ rc 0 owner 1 |
| [1/1] post_mutex_lock recursive mutex 0x........ rc 0 owner 1 |
| [1/1] mutex_unlock recursive mutex 0x........ rc 1 |
| [1/1] pre_mutex_lock recursive mutex 0x........ rc 0 owner 1 |
| [1/1] post_mutex_lock recursive mutex 0x........ rc 0 owner 1 |
| [1/1] mutex_unlock recursive mutex 0x........ rc 1 |
| [1/1] pre_mutex_lock recursive mutex 0x........ rc 0 owner 1 |
| [1/1] post_mutex_lock recursive mutex 0x........ rc 0 owner 1 |
| [1/1] mutex_unlock recursive mutex 0x........ rc 1 |
| [1/1] pre_mutex_lock recursive mutex 0x........ rc 0 owner 1 |
| [1/1] post_mutex_lock recursive mutex 0x........ rc 0 owner 1 |
| [1/1] mutex_unlock recursive mutex 0x........ rc 1 |
| [1/1] pre_mutex_lock recursive mutex 0x........ rc 0 owner 1 |
| [1/1] post_mutex_lock recursive mutex 0x........ rc 0 owner 1 |
| [1/1] mutex_unlock recursive mutex 0x........ rc 1 |
| [1/1] pre_mutex_lock recursive mutex 0x........ rc 0 owner 1 |
| [1/1] post_mutex_lock recursive mutex 0x........ rc 0 owner 1 |
| [1/1] mutex_unlock recursive mutex 0x........ rc 1 |
| [1/1] pre_mutex_lock recursive mutex 0x........ rc 0 owner 1 |
| [1/1] post_mutex_lock recursive mutex 0x........ rc 0 owner 1 |
| [1/1] mutex_unlock recursive mutex 0x........ rc 1 |
| [1/1] pre_mutex_lock recursive mutex 0x........ rc 0 owner 1 |
| [1/1] post_mutex_lock recursive mutex 0x........ rc 0 owner 1 |
| [1/1] mutex_unlock recursive mutex 0x........ rc 1 |
| [1/1] pre_mutex_lock recursive mutex 0x........ rc 0 owner 1 |
| [1/1] post_mutex_lock recursive mutex 0x........ rc 0 owner 1 |
| [1/1] mutex_unlock recursive mutex 0x........ rc 1 |
| [1/1] pre_mutex_lock recursive mutex 0x........ rc 0 owner 1 |
| [1/1] post_mutex_lock recursive mutex 0x........ rc 0 owner 1 |
| [1/1] mutex_unlock recursive mutex 0x........ rc 1 |
| [1/1] pre_mutex_lock recursive mutex 0x........ rc 0 owner 1 |
| [1/1] post_mutex_lock recursive mutex 0x........ rc 0 owner 1 |
| [1/1] mutex_unlock recursive mutex 0x........ rc 1 |
| [1/1] pre_mutex_lock recursive mutex 0x........ rc 0 owner 1 |
| [1/1] post_mutex_lock recursive mutex 0x........ rc 0 owner 1 |
| [1/1] mutex_unlock recursive mutex 0x........ rc 1 |
| [1/1] pre_mutex_lock recursive mutex 0x........ rc 0 owner 1 |
| [1/1] post_mutex_lock recursive mutex 0x........ rc 0 owner 1 |
| [1/1] mutex_unlock recursive mutex 0x........ rc 1 |
| |
| ERROR SUMMARY: 14 errors from 14 contexts (suppressed: 0 from 0) |