1 ---Thread-Announcement------------------------------------------ 2 3 Thread #x was created 4 ... 5 by 0x........: pthread_create@* (hg_intercepts.c:...) 6 by 0x........: main (annotate_rwlock.c:164) 7 8 ---Thread-Announcement------------------------------------------ 9 10 Thread #x was created 11 ... 12 by 0x........: pthread_create@* (hg_intercepts.c:...) 13 by 0x........: main (annotate_rwlock.c:164) 14 15 ---------------------------------------------------------------- 16 17 Possible data race during read of size 4 at 0x........ by thread #x 18 Locks held: none 19 at 0x........: rwlock_rdlock (annotate_rwlock.c:71) 20 by 0x........: thread_func (annotate_rwlock.c:144) 21 by 0x........: mythread_wrapper (hg_intercepts.c:...) 22 ... 23 24 This conflicts with a previous write of size 4 by thread #x 25 Locks held: none 26 at 0x........: rwlock_wrlock (annotate_rwlock.c:106) 27 by 0x........: thread_func (annotate_rwlock.c:147) 28 by 0x........: mythread_wrapper (hg_intercepts.c:...) 29 ... 30 Address 0x........ is 4 bytes inside data symbol "s_rwlock" 31 32 ---------------------------------------------------------------- 33 34 Possible data race during read of size 4 at 0x........ by thread #x 35 Locks held: none 36 at 0x........: rwlock_rdlock (annotate_rwlock.c:81) 37 by 0x........: thread_func (annotate_rwlock.c:144) 38 by 0x........: mythread_wrapper (hg_intercepts.c:...) 39 ... 40 41 This conflicts with a previous write of size 4 by thread #x 42 Locks held: none 43 at 0x........: rwlock_rdlock (annotate_rwlock.c:81) 44 by 0x........: thread_func (annotate_rwlock.c:144) 45 by 0x........: mythread_wrapper (hg_intercepts.c:...) 46 ... 47 Address 0x........ is 8 bytes inside data symbol "s_rwlock" 48 49 ---------------------------------------------------------------- 50 51 Possible data race during write of size 4 at 0x........ by thread #x 52 Locks held: none 53 at 0x........: rwlock_rdlock (annotate_rwlock.c:81) 54 by 0x........: thread_func (annotate_rwlock.c:144) 55 by 0x........: mythread_wrapper (hg_intercepts.c:...) 56 ... 57 58 This conflicts with a previous read of size 4 by thread #x 59 Locks held: none 60 at 0x........: rwlock_unlock (annotate_rwlock.c:131) 61 by 0x........: thread_func (annotate_rwlock.c:149) 62 by 0x........: mythread_wrapper (hg_intercepts.c:...) 63 ... 64 Address 0x........ is 8 bytes inside data symbol "s_rwlock" 65 66 ---------------------------------------------------------------- 67 68 Possible data race during write of size 4 at 0x........ by thread #x 69 Locks held: none 70 at 0x........: rwlock_unlock (annotate_rwlock.c:121) 71 by 0x........: thread_func (annotate_rwlock.c:146) 72 by 0x........: mythread_wrapper (hg_intercepts.c:...) 73 ... 74 75 This conflicts with a previous read of size 4 by thread #x 76 Locks held: none 77 at 0x........: rwlock_unlock (annotate_rwlock.c:131) 78 by 0x........: thread_func (annotate_rwlock.c:149) 79 by 0x........: mythread_wrapper (hg_intercepts.c:...) 80 ... 81 Address 0x........ is 8 bytes inside data symbol "s_rwlock" 82 83 ---------------------------------------------------------------- 84 85 Possible data race during write of size 4 at 0x........ by thread #x 86 Locks held: none 87 at 0x........: rwlock_wrlock (annotate_rwlock.c:106) 88 by 0x........: thread_func (annotate_rwlock.c:147) 89 by 0x........: mythread_wrapper (hg_intercepts.c:...) 90 ... 91 92 This conflicts with a previous read of size 4 by thread #x 93 Locks held: none 94 at 0x........: rwlock_unlock (annotate_rwlock.c:132) 95 by 0x........: thread_func (annotate_rwlock.c:149) 96 by 0x........: mythread_wrapper (hg_intercepts.c:...) 97 ... 98 Address 0x........ is 4 bytes inside data symbol "s_rwlock" 99 100 ---------------------------------------------------------------- 101 102 Lock at 0x........ was first observed 103 at 0x........: rwlock_init (annotate_rwlock.c:54) 104 by 0x........: main (annotate_rwlock.c:161) 105 106 Possible data race during write of size 4 at 0x........ by thread #x 107 Locks held: 1, at address 0x........ 108 at 0x........: rwlock_unlock (annotate_rwlock.c:127) 109 by 0x........: thread_func (annotate_rwlock.c:149) 110 by 0x........: mythread_wrapper (hg_intercepts.c:...) 111 ... 112 113 This conflicts with a previous read of size 4 by thread #x 114 Locks held: none 115 at 0x........: rwlock_unlock (annotate_rwlock.c:132) 116 by 0x........: thread_func (annotate_rwlock.c:149) 117 by 0x........: mythread_wrapper (hg_intercepts.c:...) 118 ... 119 Address 0x........ is 4 bytes inside data symbol "s_rwlock" 120 121 Finished. 122