blob: 2644e372232333c8fa72c992dd94557d96c44cce (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
|
Establish order 1 -> 2
Try order 2 -> 1. This gives an error.
---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 (tc15_laog_lockdel.c:35)
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 (tc15_laog_lockdel.c:36)
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 (tc15_laog_lockdel.c:27)
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 (tc15_laog_lockdel.c:28)
Lock at 0x........ was first observed
at 0x........: pthread_mutex_init (hg_intercepts.c:...)
by 0x........: main (tc15_laog_lockdel.c:22)
Address 0x........ is 0 bytes inside a block of size 120 alloc'd
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: main (tc15_laog_lockdel.c:16)
Block was alloc'd by thread #x
Lock at 0x........ was first observed
at 0x........: pthread_mutex_init (hg_intercepts.c:...)
by 0x........: main (tc15_laog_lockdel.c:23)
Address 0x........ is 0 bytes inside a block of size 120 alloc'd
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: main (tc15_laog_lockdel.c:17)
Block was alloc'd by thread #x
Free 2 and re-allocate it. This gives it a new identity,
so a second locking sequence 2 -> 1 should now be OK.
done
ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0)
|