
---Thread-Announcement------------------------------------------

Thread #x is the program's root thread

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

Thread #x: lock order "0x........ before 0x........" violated

Observed (incorrect) order is: acquisition of lock at 0x........
   at 0x........: mutex_lock_WRK (hg_intercepts.c:...)
   by 0x........: pthread_mutex_lock (hg_intercepts.c:...)
   by 0x........: main (tc13_laog1.c:23)

 followed by a later acquisition of lock at 0x........
   at 0x........: mutex_lock_WRK (hg_intercepts.c:...)
   by 0x........: pthread_mutex_lock (hg_intercepts.c:...)
   by 0x........: main (tc13_laog1.c:24)

Required order was established by acquisition of lock at 0x........
   at 0x........: mutex_lock_WRK (hg_intercepts.c:...)
   by 0x........: pthread_mutex_lock (hg_intercepts.c:...)
   by 0x........: main (tc13_laog1.c:17)

 followed by a later acquisition of lock at 0x........
   at 0x........: mutex_lock_WRK (hg_intercepts.c:...)
   by 0x........: pthread_mutex_lock (hg_intercepts.c:...)
   by 0x........: main (tc13_laog1.c:18)

 Lock at 0x........ was first observed
   at 0x........: pthread_mutex_init (hg_intercepts.c:...)
   by 0x........: main (tc13_laog1.c:14)
 Address 0x........ is on thread #x's stack
 in frame #x, created by main (tc13_laog1.c:11)

 Lock at 0x........ was first observed
   at 0x........: pthread_mutex_init (hg_intercepts.c:...)
   by 0x........: main (tc13_laog1.c:15)
 Address 0x........ is on thread #x's stack
 in frame #x, created by main (tc13_laog1.c:11)



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