
before lock #1
before lock #2
before lock #3
before unlock #1
before unlock #2
before unlock #3
before unlock #4
---Thread-Announcement------------------------------------------

Thread #x is the program's root thread

----------------------------------------------------------------

Thread #x unlocked a not-locked lock at 0x........
   at 0x........: pthread_mutex_unlock (hg_intercepts.c:...)
   by 0x........: nearly_main (tc10_rec_lock.c:42)
   by 0x........: main (tc10_rec_lock.c:47)
 Lock at 0x........ was first observed
   at 0x........: pthread_mutex_init (hg_intercepts.c:...)
   by 0x........: nearly_main (tc10_rec_lock.c:24)
   by 0x........: main (tc10_rec_lock.c:47)
 Address 0x........ is on thread #x's stack
 in frame #x, created by nearly_main (tc10_rec_lock.c:15)


----------------------------------------------------------------

Thread #x's call to pthread_mutex_unlock failed
   with error code 1 (EPERM: Operation not permitted)
   at 0x........: pthread_mutex_unlock (hg_intercepts.c:...)
   by 0x........: nearly_main (tc10_rec_lock.c:42)
   by 0x........: main (tc10_rec_lock.c:47)


ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 0 from 0)
