1 ---Thread-Announcement------------------------------------------ 2 3 Thread #x was created 4 ... 5 by 0x........: pthread_create@* (hg_intercepts.c:...) 6 by 0x........: main (locked_vs_unlocked2.c:61) 7 8 ---Thread-Announcement------------------------------------------ 9 10 Thread #x was created 11 ... 12 by 0x........: pthread_create@* (hg_intercepts.c:...) 13 by 0x........: main (locked_vs_unlocked2.c:62) 14 15 ---------------------------------------------------------------- 16 17 Lock at 0x........ was first observed 18 at 0x........: pthread_mutex_init (hg_intercepts.c:...) 19 by 0x........: main (locked_vs_unlocked2.c:58) 20 21 Lock at 0x........ was first observed 22 at 0x........: pthread_mutex_init (hg_intercepts.c:...) 23 by 0x........: main (locked_vs_unlocked2.c:59) 24 25 Lock at 0x........ was first observed 26 at 0x........: pthread_mutex_init (hg_intercepts.c:...) 27 by 0x........: main (locked_vs_unlocked2.c:57) 28 29 Possible data race during write of size 4 at 0x........ by thread #x 30 Locks held: 2, at addresses 0x........ 0x........ 31 at 0x........: child_fn2 (locked_vs_unlocked2.c:45) 32 by 0x........: mythread_wrapper (hg_intercepts.c:...) 33 ... 34 35 This conflicts with a previous write of size 4 by thread #x 36 Locks held: 2, at address 0x........ (and 1 that can't be shown) 37 at 0x........: child_fn1 (locked_vs_unlocked2.c:29) 38 by 0x........: mythread_wrapper (hg_intercepts.c:...) 39 ... 40 Address 0x........ is 0 bytes inside data symbol "x" 41 42