3 Try order
2 -> 1. This gives an error.
4 ---Thread
-Announcement
------------------------------------------
6 Thread #x is the
program's root thread
8 ----------------------------------------------------------------
10 Thread #x: lock order "0x........ before 0x........" violated
12 Observed (incorrect) order is: acquisition of lock at 0x........
13 at 0x........: mutex_lock_WRK (hg_intercepts.c:...)
14 by 0x........: pthread_mutex_lock (hg_intercepts.c:...)
15 by 0x........: main (tc15_laog_lockdel.c:35)
17 followed by a later acquisition of lock at 0x........
18 at 0x........: mutex_lock_WRK (hg_intercepts.c:...)
19 by 0x........: pthread_mutex_lock (hg_intercepts.c:...)
20 by 0x........: main (tc15_laog_lockdel.c:36)
22 Required order was established by acquisition of lock at 0x........
23 at 0x........: mutex_lock_WRK (hg_intercepts.c:...)
24 by 0x........: pthread_mutex_lock (hg_intercepts.c:...)
25 by 0x........: main (tc15_laog_lockdel.c:27)
27 followed by a later acquisition of lock at 0x........
28 at 0x........: mutex_lock_WRK (hg_intercepts.c:...)
29 by 0x........: pthread_mutex_lock (hg_intercepts.c:...)
30 by 0x........: main (tc15_laog_lockdel.c:28)
32 Lock at 0x........ was first observed
33 at 0x........: pthread_mutex_init (hg_intercepts.c:...)
34 by 0x........: main (tc15_laog_lockdel.c:22)
35 Address 0x........ is 0 bytes inside a block of size 120 alloc'd
36 at
0x........
: malloc
(vg_replace_malloc.c
:...
)
37 by
0x........
: main
(tc15_laog_lockdel.c
:16)
38 Block was alloc
'd by thread #x
40 Lock at 0x........ was first observed
41 at 0x........: pthread_mutex_init (hg_intercepts.c:...)
42 by 0x........: main (tc15_laog_lockdel.c:23)
43 Address 0x........ is 0 bytes inside a block of size 120 alloc'd
44 at
0x........
: malloc
(vg_replace_malloc.c
:...
)
45 by
0x........
: main
(tc15_laog_lockdel.c
:17)
46 Block was alloc
'd by thread #x
49 Free 2 and re-allocate it. This gives it a new identity,
50 so a second locking sequence 2 -> 1 should now be OK.
53 ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0)