1 2before lock #1 3before lock #2 4before lock #3 5before unlock #1 6before unlock #2 7before unlock #3 8before unlock #4 9---Thread-Announcement------------------------------------------ 10 11Thread #x is the program's root thread 12 13---------------------------------------------------------------- 14 15Thread #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 30Thread #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 38ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 0 from 0) 39