1 2 before lock #1 3 before lock #2 4 before lock #3 5 before unlock #1 6 before unlock #2 7 before unlock #3 8 before unlock #4 9 ---Thread-Announcement------------------------------------------ 10 11 Thread #x is the program's root thread 12 13 ---------------------------------------------------------------- 14 15 Thread #x unlocked a not-locked lock at 0x........ 16 at 0x........: mutex_unlock_WRK (hg_intercepts.c:...) 17 by 0x........: pthread_mutex_unlock (hg_intercepts.c:...) 18 by 0x........: nearly_main (tc10_rec_lock.c:42) 19 by 0x........: main (tc10_rec_lock.c:47) 20 Lock at 0x........ was first observed 21 at 0x........: pthread_mutex_init (hg_intercepts.c:...) 22 by 0x........: nearly_main (tc10_rec_lock.c:24) 23 by 0x........: main (tc10_rec_lock.c:47) 24 Address 0x........ is on thread #x's stack 25 in frame #x, created by nearly_main (tc10_rec_lock.c:15) 26 27 28 ---------------------------------------------------------------- 29 30 Thread #x's call to pthread_mutex_unlock failed 31 with error code 1 (EPERM: Operation not permitted) 32 at 0x........: mutex_unlock_WRK (hg_intercepts.c:...) 33 by 0x........: pthread_mutex_unlock (hg_intercepts.c:...) 34 by 0x........: nearly_main (tc10_rec_lock.c:42) 35 by 0x........: main (tc10_rec_lock.c:47) 36 37 38 ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 0 from 0) 39