diff options
author | Stephane Marchesin <marchesin@icps.u-strasbg.fr> | 2009-05-04 19:05:59 +0200 |
---|---|---|
committer | Stephane Marchesin <marchesin@icps.u-strasbg.fr> | 2009-05-04 19:05:59 +0200 |
commit | 6e410b3bb6ff51580897431105aae14591cbf7fb (patch) | |
tree | f8aeba9352710f10cd6b1d5138c8fc3ece91c8c3 /helgrind/tests |
Diffstat (limited to 'helgrind/tests')
370 files changed, 46690 insertions, 0 deletions
diff --git a/helgrind/tests/.deps/bar_bad.Po b/helgrind/tests/.deps/bar_bad.Po new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/helgrind/tests/.deps/bar_bad.Po @@ -0,0 +1 @@ +# dummy diff --git a/helgrind/tests/.deps/bar_trivial.Po b/helgrind/tests/.deps/bar_trivial.Po new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/helgrind/tests/.deps/bar_trivial.Po @@ -0,0 +1 @@ +# dummy diff --git a/helgrind/tests/.deps/hg01_all_ok.Po b/helgrind/tests/.deps/hg01_all_ok.Po new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/helgrind/tests/.deps/hg01_all_ok.Po @@ -0,0 +1 @@ +# dummy diff --git a/helgrind/tests/.deps/hg02_deadlock.Po b/helgrind/tests/.deps/hg02_deadlock.Po new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/helgrind/tests/.deps/hg02_deadlock.Po @@ -0,0 +1 @@ +# dummy diff --git a/helgrind/tests/.deps/hg03_inherit.Po b/helgrind/tests/.deps/hg03_inherit.Po new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/helgrind/tests/.deps/hg03_inherit.Po @@ -0,0 +1 @@ +# dummy diff --git a/helgrind/tests/.deps/hg04_race.Po b/helgrind/tests/.deps/hg04_race.Po new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/helgrind/tests/.deps/hg04_race.Po @@ -0,0 +1 @@ +# dummy diff --git a/helgrind/tests/.deps/hg05_race2.Po b/helgrind/tests/.deps/hg05_race2.Po new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/helgrind/tests/.deps/hg05_race2.Po @@ -0,0 +1 @@ +# dummy diff --git a/helgrind/tests/.deps/hg06_readshared.Po b/helgrind/tests/.deps/hg06_readshared.Po new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/helgrind/tests/.deps/hg06_readshared.Po @@ -0,0 +1 @@ +# dummy diff --git a/helgrind/tests/.deps/tc01_simple_race.Po b/helgrind/tests/.deps/tc01_simple_race.Po new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/helgrind/tests/.deps/tc01_simple_race.Po @@ -0,0 +1 @@ +# dummy diff --git a/helgrind/tests/.deps/tc02_simple_tls.Po b/helgrind/tests/.deps/tc02_simple_tls.Po new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/helgrind/tests/.deps/tc02_simple_tls.Po @@ -0,0 +1 @@ +# dummy diff --git a/helgrind/tests/.deps/tc03_re_excl.Po b/helgrind/tests/.deps/tc03_re_excl.Po new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/helgrind/tests/.deps/tc03_re_excl.Po @@ -0,0 +1 @@ +# dummy diff --git a/helgrind/tests/.deps/tc04_free_lock.Po b/helgrind/tests/.deps/tc04_free_lock.Po new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/helgrind/tests/.deps/tc04_free_lock.Po @@ -0,0 +1 @@ +# dummy diff --git a/helgrind/tests/.deps/tc05_simple_race.Po b/helgrind/tests/.deps/tc05_simple_race.Po new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/helgrind/tests/.deps/tc05_simple_race.Po @@ -0,0 +1 @@ +# dummy diff --git a/helgrind/tests/.deps/tc06_two_races.Po b/helgrind/tests/.deps/tc06_two_races.Po new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/helgrind/tests/.deps/tc06_two_races.Po @@ -0,0 +1 @@ +# dummy diff --git a/helgrind/tests/.deps/tc07_hbl1.Po b/helgrind/tests/.deps/tc07_hbl1.Po new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/helgrind/tests/.deps/tc07_hbl1.Po @@ -0,0 +1 @@ +# dummy diff --git a/helgrind/tests/.deps/tc08_hbl2.Po b/helgrind/tests/.deps/tc08_hbl2.Po new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/helgrind/tests/.deps/tc08_hbl2.Po @@ -0,0 +1 @@ +# dummy diff --git a/helgrind/tests/.deps/tc09_bad_unlock.Po b/helgrind/tests/.deps/tc09_bad_unlock.Po new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/helgrind/tests/.deps/tc09_bad_unlock.Po @@ -0,0 +1 @@ +# dummy diff --git a/helgrind/tests/.deps/tc10_rec_lock.Po b/helgrind/tests/.deps/tc10_rec_lock.Po new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/helgrind/tests/.deps/tc10_rec_lock.Po @@ -0,0 +1 @@ +# dummy diff --git a/helgrind/tests/.deps/tc11_XCHG.Po b/helgrind/tests/.deps/tc11_XCHG.Po new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/helgrind/tests/.deps/tc11_XCHG.Po @@ -0,0 +1 @@ +# dummy diff --git a/helgrind/tests/.deps/tc12_rwl_trivial.Po b/helgrind/tests/.deps/tc12_rwl_trivial.Po new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/helgrind/tests/.deps/tc12_rwl_trivial.Po @@ -0,0 +1 @@ +# dummy diff --git a/helgrind/tests/.deps/tc13_laog1.Po b/helgrind/tests/.deps/tc13_laog1.Po new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/helgrind/tests/.deps/tc13_laog1.Po @@ -0,0 +1 @@ +# dummy diff --git a/helgrind/tests/.deps/tc14_laog_dinphils.Po b/helgrind/tests/.deps/tc14_laog_dinphils.Po new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/helgrind/tests/.deps/tc14_laog_dinphils.Po @@ -0,0 +1 @@ +# dummy diff --git a/helgrind/tests/.deps/tc15_laog_lockdel.Po b/helgrind/tests/.deps/tc15_laog_lockdel.Po new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/helgrind/tests/.deps/tc15_laog_lockdel.Po @@ -0,0 +1 @@ +# dummy diff --git a/helgrind/tests/.deps/tc16_byterace.Po b/helgrind/tests/.deps/tc16_byterace.Po new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/helgrind/tests/.deps/tc16_byterace.Po @@ -0,0 +1 @@ +# dummy diff --git a/helgrind/tests/.deps/tc17_sembar.Po b/helgrind/tests/.deps/tc17_sembar.Po new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/helgrind/tests/.deps/tc17_sembar.Po @@ -0,0 +1 @@ +# dummy diff --git a/helgrind/tests/.deps/tc18_semabuse.Po b/helgrind/tests/.deps/tc18_semabuse.Po new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/helgrind/tests/.deps/tc18_semabuse.Po @@ -0,0 +1 @@ +# dummy diff --git a/helgrind/tests/.deps/tc19_shadowmem.Po b/helgrind/tests/.deps/tc19_shadowmem.Po new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/helgrind/tests/.deps/tc19_shadowmem.Po @@ -0,0 +1 @@ +# dummy diff --git a/helgrind/tests/.deps/tc20_verifywrap.Po b/helgrind/tests/.deps/tc20_verifywrap.Po new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/helgrind/tests/.deps/tc20_verifywrap.Po @@ -0,0 +1 @@ +# dummy diff --git a/helgrind/tests/.deps/tc21_pthonce.Po b/helgrind/tests/.deps/tc21_pthonce.Po new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/helgrind/tests/.deps/tc21_pthonce.Po @@ -0,0 +1 @@ +# dummy diff --git a/helgrind/tests/.deps/tc22_exit_w_lock.Po b/helgrind/tests/.deps/tc22_exit_w_lock.Po new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/helgrind/tests/.deps/tc22_exit_w_lock.Po @@ -0,0 +1 @@ +# dummy diff --git a/helgrind/tests/.deps/tc23_bogus_condwait.Po b/helgrind/tests/.deps/tc23_bogus_condwait.Po new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/helgrind/tests/.deps/tc23_bogus_condwait.Po @@ -0,0 +1 @@ +# dummy diff --git a/helgrind/tests/.deps/tc24_nonzero_sem.Po b/helgrind/tests/.deps/tc24_nonzero_sem.Po new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/helgrind/tests/.deps/tc24_nonzero_sem.Po @@ -0,0 +1 @@ +# dummy diff --git a/helgrind/tests/.svn/dir-prop-base b/helgrind/tests/.svn/dir-prop-base new file mode 100644 index 0000000..d2c720a --- /dev/null +++ b/helgrind/tests/.svn/dir-prop-base @@ -0,0 +1,47 @@ +K 10 +svn:ignore +V 571 +*.stderr.diff* +*.stderr.out +*.stdout.diff* +*.stdout.out +.deps +bar_bad +bar_trivial +hg01_all_ok +hg02_deadlock +hg03_inherit +hg04_race +hg05_race2 +hg06_readshared +Makefile +Makefile.in +pth_barrier +rwlock_race +rwlock_test +tc01_simple_race +tc02_simple_tls +tc03_re_excl +tc04_free_lock +tc05_simple_race +tc06_two_races +tc07_hbl1 +tc08_hbl2 +tc09_bad_unlock +tc10_rec_lock +tc11_XCHG +tc12_rwl_trivial +tc13_laog1 +tc14_laog_dinphils +tc15_laog_lockdel +tc16_byterace +tc17_sembar +tc18_semabuse +tc19_shadowmem +tc20_verifywrap +tc21_pthonce +tc22_exit_w_lock +tc23_bogus_condwait +tc24_nonzero_sem + +END diff --git a/helgrind/tests/.svn/entries b/helgrind/tests/.svn/entries new file mode 100644 index 0000000..cfb11cc --- /dev/null +++ b/helgrind/tests/.svn/entries @@ -0,0 +1,1851 @@ +8 + +dir +9703 +svn://svn.valgrind.org/valgrind/trunk/helgrind/tests +svn://svn.valgrind.org/valgrind + + + +2009-03-13T01:41:03.438271Z +9389 +njn +has-props + +svn:special svn:externals svn:needs-lock + + + + + + + + + + + +a5019735-40e9-0310-863c-91ae7b9d1cf9 + +pth_barrier2.stderr.exp +file + + + + +2009-03-13T17:29:59.000000Z +1b7af9f25be03ba7035cf3b4dc849028 +2009-03-13T01:41:03.438271Z +9389 +njn +has-props + +hg03_inherit.stderr.exp +file + + + + +2009-03-13T17:29:59.000000Z +952c8f81ac14066719241a1e3999fbc6 +2009-03-13T01:41:03.438271Z +9389 +njn +has-props + +tc09_bad_unlock.c +file + + + + +2009-03-13T17:29:59.000000Z +5b6a497779fd9e6f8fee30b6a2d35994 +2008-11-10T00:16:34.266218Z +8753 +sewardj + +tc14_laog_dinphils.stdout.exp +file + + + + +2009-03-13T17:29:59.000000Z +d41d8cd98f00b204e9800998ecf8427e +2007-11-09T22:49:28.769147Z +7116 +sewardj + +tc18_semabuse.c +file + + + + +2009-03-13T17:29:59.000000Z +7cefd95cc7a7e5e1737afb93d58ab1f6 +2008-01-18T07:42:01.157538Z +7354 +sewardj + +tc15_laog_lockdel.vgtest +file + + + + +2009-03-13T17:29:59.000000Z +55775492a6223836247976300f951fcf +2007-11-09T22:49:28.769147Z +7116 +sewardj + +tc21_pthonce.stderr.exp +file + + + + +2009-03-13T17:29:59.000000Z +ab85aa11d9b90e8b7710799cc872cfae +2009-03-13T01:41:03.438271Z +9389 +njn +has-props + +tc17_sembar.c +file + + + + +2009-03-13T17:29:59.000000Z +750229fa2bea226034ae90ce6b31693f +2008-11-09T20:47:57.376987Z +8750 +sewardj + +tc05_simple_race.stdout.exp +file + + + + +2009-03-13T17:29:59.000000Z +d41d8cd98f00b204e9800998ecf8427e +2007-11-09T22:49:28.769147Z +7116 +sewardj + +pth_barrier1.stdout.exp +file + + + + +2009-03-13T17:29:59.000000Z +d41d8cd98f00b204e9800998ecf8427e +2008-11-14T19:43:44.407535Z +8768 +sewardj + +tc04_free_lock.vgtest +file + + + + +2009-03-13T17:29:59.000000Z +2aa519bbb4b8f0a391d62e78e9614633 +2007-11-09T22:49:28.769147Z +7116 +sewardj + +tc08_hbl2.vgtest +file + + + + +2009-03-13T17:29:59.000000Z +4c1da2d5aca8d18498b5df846bb6a5e3 +2007-11-09T22:49:28.769147Z +7116 +sewardj + +tc18_semabuse.stderr.exp-glibc28-amd64 +file + + + + +2009-03-13T17:29:59.000000Z +b015fa006daeab4d27271741a6d67b25 +2008-12-18T20:21:13.504648Z +8842 +sewardj + +tc20_verifywrap.vgtest +file + + + + +2009-03-13T17:29:59.000000Z +6271a0b758842c08406983421e7120e0 +2008-12-21T10:44:28.988809Z +8846 +sewardj + +tc16_byterace.vgtest +file + + + + +2009-03-13T17:29:59.000000Z +d5d6727262759c71223a6cfde614d550 +2008-12-21T10:44:28.988809Z +8846 +sewardj + +tc01_simple_race.stderr.exp +file + + + + +2009-03-13T17:29:59.000000Z +9632bda9e27a9e5e0c553eeff8b22d10 +2009-03-13T01:41:03.438271Z +9389 +njn +has-props + +rwlock_race.stdout.exp +file + + + + +2009-03-13T17:29:59.000000Z +d41d8cd98f00b204e9800998ecf8427e +2008-11-10T02:01:17.565236Z +8757 +sewardj + +hg04_race.stdout.exp +file + + + + +2009-03-13T17:29:59.000000Z +d41d8cd98f00b204e9800998ecf8427e +2007-11-09T22:49:28.769147Z +7116 +sewardj + +tc02_simple_tls.stdout.exp +file + + + + +2009-03-13T17:29:59.000000Z +d41d8cd98f00b204e9800998ecf8427e +2007-11-09T22:49:28.769147Z +7116 +sewardj + +tc07_hbl1.stderr.exp +file + + + + +2009-03-13T17:29:59.000000Z +1bbc754ee00f2e2989cf97a1b497eed5 +2009-03-13T01:41:03.438271Z +9389 +njn +has-props + +tc19_shadowmem.stderr.exp +file + + + + +2009-03-13T17:29:59.000000Z +1ed4aad928f0f583dd976290849f8813 +2009-03-13T01:41:03.438271Z +9389 +njn +has-props + +tc22_exit_w_lock.c +file + + + + +2009-03-13T17:29:59.000000Z +7cf7d7d72e69af11952e8b45daf1e7a3 +2007-11-09T22:49:28.769147Z +7116 +sewardj + +tc14_laog_dinphils.vgtest +file + + + + +2009-03-13T17:29:59.000000Z +da11c4d7bf6aa3c703cf82cefbbe9d53 +2007-11-09T22:49:28.769147Z +7116 +sewardj + +tc01_simple_race.vgtest +file + + + + +2009-03-13T17:29:59.000000Z +7395d893dadd5e0d0e572be7e66313ea +2008-12-21T10:44:28.988809Z +8846 +sewardj + +bar_bad.c +file + + + + +2009-03-13T17:29:59.000000Z +c307252f1cc6a73f35e5f8d4709848ca +2008-11-16T23:25:43.378955Z +8771 +sewardj + +tc09_bad_unlock.stderr.exp-glibc25-amd64 +file + + + + +2009-03-13T17:29:59.000000Z +72283273f1f37f590dd72c180d70fdf0 +2009-03-13T01:41:03.438271Z +9389 +njn + +tc15_laog_lockdel.c +file + + + + +2009-03-13T17:29:59.000000Z +4d0bb9f3b744c804578dccbf8d9e56ed +2008-11-10T16:33:29.938781Z +8761 +sewardj + +tc22_exit_w_lock.stderr.exp +file + + + + +2009-03-13T17:29:59.000000Z +1ff35de71d8dee6a37c27187df2b3d53 +2009-03-13T01:41:03.438271Z +9389 +njn +has-props + +tc19_shadowmem.vgtest +file + + + + +2009-03-13T17:29:59.000000Z +1823331dbc8905bc998a5b744c059bc9 +2007-11-09T22:49:28.769147Z +7116 +sewardj + +tc04_free_lock.c +file + + + + +2009-03-13T17:29:59.000000Z +960d90bcfffd977c99bad91a7a4690a3 +2007-11-09T22:49:28.769147Z +7116 +sewardj + +tc10_rec_lock.stderr.exp +file + + + + +2009-03-13T17:29:59.000000Z +f3d20c3145e6dad7b0ebefe680912005 +2009-03-13T01:41:03.438271Z +9389 +njn +has-props + +tc24_nonzero_sem.stdout.exp +file + + + + +2009-03-13T17:29:59.000000Z +d41d8cd98f00b204e9800998ecf8427e +2007-11-30T11:22:35.839393Z +7254 +sewardj + +rwlock_race.vgtest +file + + + + +2009-03-13T17:29:59.000000Z +27cf9f1f507b5561847d4a5673d1e018 +2009-02-20T19:00:18.724987Z +9206 +bart + +hg02_deadlock.c +file + + + + +2009-03-13T17:29:59.000000Z +2b797898e633ab43252f30bcb9c9aa18 +2007-11-09T22:49:28.769147Z +7116 +sewardj + +filter_stderr +file + + + + +2009-03-13T17:29:59.000000Z +84ff862bf2681b40f86e1dcc14cd774e +2009-03-13T01:41:03.438271Z +9389 +njn +has-props + +tc13_laog1.stdout.exp +file + + + + +2009-03-13T17:29:59.000000Z +d41d8cd98f00b204e9800998ecf8427e +2007-11-09T22:49:28.769147Z +7116 +sewardj + +tc16_byterace.c +file + + + + +2009-03-13T17:29:59.000000Z +0ffbd36fe144af5b98fb00e774acff80 +2008-11-09T20:47:57.376987Z +8750 +sewardj + +hg04_race.c +file + + + + +2009-03-13T17:29:59.000000Z +d5e24fabe302aa1576f12360d33e936c +2007-11-09T22:49:28.769147Z +7116 +sewardj + +hg01_all_ok.stderr.exp +file + + + + +2009-03-13T17:29:59.000000Z +1bbc754ee00f2e2989cf97a1b497eed5 +2009-03-13T01:41:03.438271Z +9389 +njn +has-props + +tc13_laog1.c +file + + + + +2009-03-13T17:29:59.000000Z +c913a1f7c95403e37aa2c4d63812fbdb +2007-11-09T22:49:28.769147Z +7116 +sewardj + +tc02_simple_tls.vgtest +file + + + + +2009-03-13T17:29:59.000000Z +fb5bdfc9d1f973c44d1e82ac27365489 +2007-11-09T22:49:28.769147Z +7116 +sewardj + +tc17_sembar.stdout.exp +file + + + + +2009-03-13T17:29:59.000000Z +d41d8cd98f00b204e9800998ecf8427e +2007-11-09T22:49:28.769147Z +7116 +sewardj + +tc20_verifywrap.stderr.exp-glibc27-amd64 +file + + + + +2009-03-13T17:29:59.000000Z +5d620228838693a99cc36162c3f61b52 +2009-03-13T01:41:03.438271Z +9389 +njn + +tc10_rec_lock.vgtest +file + + + + +2009-03-13T17:29:59.000000Z +f656bdc3b89cb00c8b2d310f985db938 +2007-11-09T22:49:28.769147Z +7116 +sewardj + +hg06_readshared.stderr.exp +file + + + + +2009-03-13T17:29:59.000000Z +1bbc754ee00f2e2989cf97a1b497eed5 +2009-03-13T01:41:03.438271Z +9389 +njn +has-props + +tc12_rwl_trivial.stderr.exp +file + + + + +2009-03-13T17:29:59.000000Z +13efd0f73e8d898952e067a84d1f70e6 +2009-03-13T01:41:03.438271Z +9389 +njn +has-props + +tc10_rec_lock.c +file + + + + +2009-03-13T17:29:59.000000Z +ac5e07711d9f2c7215d139119ff1db4a +2007-11-09T22:49:28.769147Z +7116 +sewardj + +tc03_re_excl.c +file + + + + +2009-03-13T17:29:59.000000Z +fb449a56f35b04fa176caae304dd6919 +2007-11-09T22:49:28.769147Z +7116 +sewardj + +hg01_all_ok.vgtest +file + + + + +2009-03-13T17:29:59.000000Z +b6f85650d92ffd2399815f00895c529e +2007-11-09T22:49:28.769147Z +7116 +sewardj + +tc11_XCHG.stdout.exp +file + + + + +2009-03-13T17:29:59.000000Z +ae780585f49b94ce1444eb7d28906123 +2007-11-09T22:49:28.769147Z +7116 +sewardj + +hg06_readshared.vgtest +file + + + + +2009-03-13T17:29:59.000000Z +68d0e4db4f9e179451dcee111c52e3c8 +2007-11-09T22:49:28.769147Z +7116 +sewardj + +hg01_all_ok.c +file + + + + +2009-03-13T17:29:59.000000Z +736c44bac02dbe1adbd3177157432a08 +2007-11-09T22:49:28.769147Z +7116 +sewardj + +hg02_deadlock.stdout.exp +file + + + + +2009-03-13T17:29:59.000000Z +d41d8cd98f00b204e9800998ecf8427e +2007-11-09T22:49:28.769147Z +7116 +sewardj + +tc06_two_races.c +file + + + + +2009-03-13T17:29:59.000000Z +8b2a0bbaa6418c408e789da2aee9e567 +2008-11-09T20:47:57.376987Z +8750 +sewardj + +tc09_bad_unlock.stderr.exp-glibc25-x86 +file + + + + +2009-03-13T17:29:59.000000Z +5f3deb329b8755082356f057c5a55ac0 +2009-03-13T01:41:03.438271Z +9389 +njn + +tc20_verifywrap.c +file + + + + +2009-03-13T17:29:59.000000Z +611e104f51cdb0c4077c65e1506950b1 +2008-02-27T15:38:10.186093Z +7488 +bart + +bar_bad.stderr.exp +file + + + + +2009-03-13T17:29:59.000000Z +050f5cb7aa3c46884e36b1e5db14ba6e +2009-03-13T01:41:03.438271Z +9389 +njn +has-props + +tc13_laog1.vgtest +file + + + + +2009-03-13T17:29:59.000000Z +d5833d4dcf7ced314f5537b37cde5d77 +2007-11-09T22:49:28.769147Z +7116 +sewardj + +tc09_bad_unlock.stdout.exp +file + + + + +2009-03-13T17:29:59.000000Z +d41d8cd98f00b204e9800998ecf8427e +2007-11-09T22:49:28.769147Z +7116 +sewardj + +hg05_race2.stderr.exp +file + + + + +2009-03-13T17:29:59.000000Z +2c04f1b764316699a2413489e69d5fb3 +2009-03-13T01:41:03.438271Z +9389 +njn +has-props + +pth_barrier3.stderr.exp +file + + + + +2009-03-13T17:29:59.000000Z +8205c822fa7c4bf9d72ca058c5c8c46e +2009-03-13T01:41:03.438271Z +9389 +njn +has-props + +tc17_sembar.vgtest +file + + + + +2009-03-13T17:29:59.000000Z +97998a3dee1ecf75ceb80b91c931e688 +2007-11-09T22:49:28.769147Z +7116 +sewardj + +tc23_bogus_condwait.c +file + + + + +2009-03-13T17:29:59.000000Z +d1be7f31c057c7cccb4d899cefefaf88 +2007-11-09T22:49:28.769147Z +7116 +sewardj + +tc02_simple_tls.c +file + + + + +2009-03-13T17:29:59.000000Z +4f6f9e3e29fa198f36c02f958915714b +2007-11-09T22:49:28.769147Z +7116 +sewardj + +bar_bad.vgtest +file + + + + +2009-03-13T17:29:59.000000Z +05583b47d2cf0b773f02192da888b82c +2009-01-23T04:14:33.153795Z +9045 +njn + +bar_trivial.stderr.exp +file + + + + +2009-03-13T17:29:59.000000Z +d41d8cd98f00b204e9800998ecf8427e +2009-03-13T01:41:03.438271Z +9389 +njn +has-props + +tc11_XCHG.vgtest +file + + + + +2009-03-13T17:29:59.000000Z +8ba953ca779ceb61cc07c03096d07cc0 +2007-11-09T22:49:28.769147Z +7116 +sewardj + +rwlock_test.stderr.exp +file + + + + +2009-03-13T17:29:59.000000Z +e40cdd565bddbe63b9f4c09b5eef3a3e +2009-03-13T01:41:03.438271Z +9389 +njn +has-props + +pth_barrier3.vgtest +file + + + + +2009-03-13T17:29:59.000000Z +e94c3652156bfa51eb8e387bc5ba9a4b +2009-02-20T19:00:18.724987Z +9206 +bart + +pth_barrier2.stdout.exp +file + + + + +2009-03-13T17:29:59.000000Z +d41d8cd98f00b204e9800998ecf8427e +2008-11-14T19:43:44.407535Z +8768 +sewardj + +hg03_inherit.stdout.exp +file + + + + +2009-03-13T17:29:59.000000Z +d41d8cd98f00b204e9800998ecf8427e +2007-11-09T22:49:28.769147Z +7116 +sewardj + +tc20_verifywrap.stdout.exp +file + + + + +2009-03-13T17:29:59.000000Z +d41d8cd98f00b204e9800998ecf8427e +2007-11-09T22:49:28.769147Z +7116 +sewardj + +tc21_pthonce.stdout.exp +file + + + + +2009-03-13T17:29:59.000000Z +1904fe10f5ba3740b22997790885897b +2007-11-09T22:49:28.769147Z +7116 +sewardj + +tc03_re_excl.stderr.exp +file + + + + +2009-03-13T17:29:59.000000Z +1bbc754ee00f2e2989cf97a1b497eed5 +2009-03-13T01:41:03.438271Z +9389 +njn +has-props + +tc15_laog_lockdel.stderr.exp +file + + + + +2009-03-13T17:29:59.000000Z +afe627f79faa605150a91f7ed9063096 +2009-03-13T01:41:03.438271Z +9389 +njn +has-props + +tc12_rwl_trivial.c +file + + + + +2009-03-13T17:29:59.000000Z +61c66b00c51713c8cfa36059e9207a8b +2007-11-09T22:49:28.769147Z +7116 +sewardj + +bar_trivial.vgtest +file + + + + +2009-03-13T17:29:59.000000Z +f751eb62036941a2b4680662ea2b5ab5 +2009-01-23T04:14:33.153795Z +9045 +njn + +Makefile.am +file + + + + +2009-03-13T17:29:59.000000Z +a7090d578ea05e0c7bf4cbaf89cebc5f +2009-03-13T01:41:03.438271Z +9389 +njn + +rwlock_test.vgtest +file + + + + +2009-03-13T17:29:59.000000Z +b108b7a0943eb853df2209239bd143dc +2009-02-20T19:00:18.724987Z +9206 +bart + +tc06_two_races.stderr.exp +file + + + + +2009-03-13T17:29:59.000000Z +74b212529d244b78088255109869494b +2009-03-13T01:41:03.438271Z +9389 +njn +has-props + +tc04_free_lock.stderr.exp +file + + + + +2009-03-13T17:29:59.000000Z +743c0160253e034652b487f22b7e1859 +2009-03-13T01:41:03.438271Z +9389 +njn +has-props + +tc08_hbl2.stderr.exp +file + + + + +2009-03-13T17:29:59.000000Z +1bbc754ee00f2e2989cf97a1b497eed5 +2009-03-13T01:41:03.438271Z +9389 +njn +has-props + +tc03_re_excl.vgtest +file + + + + +2009-03-13T17:29:59.000000Z +270857e60a716dc63d27f329e4d63f89 +2007-11-09T22:49:28.769147Z +7116 +sewardj + +tc01_simple_race.stdout.exp +file + + + + +2009-03-13T17:29:59.000000Z +d41d8cd98f00b204e9800998ecf8427e +2007-11-09T22:49:28.769147Z +7116 +sewardj + +tc16_byterace.stderr.exp +file + + + + +2009-03-13T17:29:59.000000Z +5cfad24ddce93dcc11c0eca82b619ab8 +2009-03-13T01:41:03.438271Z +9389 +njn +has-props + +tc06_two_races.vgtest +file + + + + +2009-03-13T17:29:59.000000Z +8bb1c08864a4ad4f25b3b7485953d5b1 +2008-12-21T10:44:28.988809Z +8846 +sewardj + +pth_barrier2.vgtest +file + + + + +2009-03-13T17:29:59.000000Z +b612884edafdf3a2ff1214388072d664 +2009-02-20T19:00:18.724987Z +9206 +bart + +hg03_inherit.vgtest +file + + + + +2009-03-13T17:29:59.000000Z +35ffa0200144e58808132d35f7b361f1 +2008-12-21T10:44:28.988809Z +8846 +sewardj + +tc07_hbl1.stdout.exp +file + + + + +2009-03-13T17:29:59.000000Z +3d688704cbbc6753b2002c94a2ad19ac +2007-11-09T22:49:28.769147Z +7116 +sewardj + +tc23_bogus_condwait.stderr.exp +file + + + + +2009-03-13T17:29:59.000000Z +13102baea697869a7c8bed4534cf4b9e +2009-03-13T01:41:03.438271Z +9389 +njn +has-props + +hg05_race2.c +file + + + + +2009-03-13T17:29:59.000000Z +f0c347621fc422b53e2cecf02eeefcca +2007-11-09T22:49:28.769147Z +7116 +sewardj + +tc19_shadowmem.stdout.exp +file + + + + +2009-03-13T17:29:59.000000Z +d41d8cd98f00b204e9800998ecf8427e +2007-11-09T22:49:28.769147Z +7116 +sewardj + +tc14_laog_dinphils.stderr.exp +file + + + + +2009-03-13T17:29:59.000000Z +e3e8540154dba3187dc0654835e9a830 +2009-03-13T01:41:03.438271Z +9389 +njn +has-props + +tc21_pthonce.vgtest +file + + + + +2009-03-13T17:29:59.000000Z +3fb697bc2dc1118b6852db11b6e00163 +2008-12-21T10:44:28.988809Z +8846 +sewardj + +hg06_readshared.c +file + + + + +2009-03-13T17:29:59.000000Z +99ead17122300c23f7d8b16d00acdd7b +2007-11-09T22:49:28.769147Z +7116 +sewardj + +tc24_nonzero_sem.c +file + + + + +2009-03-13T17:29:59.000000Z +9d3744e3220ce9db7e617f933c164ce4 +2007-11-30T11:22:35.839393Z +7254 +sewardj + +tc05_simple_race.stderr.exp +file + + + + +2009-03-13T17:29:59.000000Z +9b1b44b52f0d628647f1f6db59e4370c +2009-03-13T01:41:03.438271Z +9389 +njn +has-props + +tc23_bogus_condwait.vgtest +file + + + + +2009-03-13T17:29:59.000000Z +4ed1fb2ee954a24999800d5d6cda92df +2007-11-09T22:49:28.769147Z +7116 +sewardj + +tc22_exit_w_lock.stdout.exp +file + + + + +2009-03-13T17:29:59.000000Z +d41d8cd98f00b204e9800998ecf8427e +2007-11-09T22:49:28.769147Z +7116 +sewardj + +pth_barrier1.stderr.exp +file + + + + +2009-03-13T17:29:59.000000Z +8205c822fa7c4bf9d72ca058c5c8c46e +2009-03-13T01:41:03.438271Z +9389 +njn +has-props + +tc10_rec_lock.stdout.exp +file + + + + +2009-03-13T17:29:59.000000Z +d41d8cd98f00b204e9800998ecf8427e +2007-11-09T22:49:28.769147Z +7116 +sewardj + +rwlock_race.stderr.exp +file + + + + +2009-03-13T17:29:59.000000Z +e5f4c0b542d48a3371b6d88da06bcd6d +2009-03-13T01:41:03.438271Z +9389 +njn +has-props + +hg04_race.stderr.exp +file + + + + +2009-03-13T17:29:59.000000Z +bf9b2d4dd729b8ba6957d663aab5144f +2009-03-13T01:41:03.438271Z +9389 +njn +has-props + +tc09_bad_unlock.stderr.exp-glibc23-amd64 +file + + + + +2009-03-13T17:29:59.000000Z +fdceb8faf037d8aac64e7d2fecb1ba88 +2009-03-13T01:41:03.438271Z +9389 +njn + +tc05_simple_race.vgtest +file + + + + +2009-03-13T17:29:59.000000Z +b5d8d331bd155f229278b1869134c5dc +2008-12-21T10:44:28.988809Z +8846 +sewardj + +hg01_all_ok.stdout.exp +file + + + + +2009-03-13T17:29:59.000000Z +d41d8cd98f00b204e9800998ecf8427e +2007-11-09T22:49:28.769147Z +7116 +sewardj + +pth_barrier1.vgtest +file + + + + +2009-03-13T17:29:59.000000Z +757544d669ba18211e206ed97c55df03 +2009-02-20T19:00:18.724987Z +9206 +bart + +tc07_hbl1.vgtest +file + + + + +2009-03-13T17:29:59.000000Z +e3df442b29e5644823863ebd953b0ed0 +2007-11-09T22:49:28.769147Z +7116 +sewardj + +tc02_simple_tls.stderr.exp +file + + + + +2009-03-13T17:29:59.000000Z +1bbc754ee00f2e2989cf97a1b497eed5 +2009-03-13T01:41:03.438271Z +9389 +njn +has-props + +hg06_readshared.stdout.exp +file + + + + +2009-03-13T17:29:59.000000Z +d41d8cd98f00b204e9800998ecf8427e +2007-11-09T22:49:28.769147Z +7116 +sewardj + +tc12_rwl_trivial.stdout.exp +file + + + + +2009-03-13T17:29:59.000000Z +d41d8cd98f00b204e9800998ecf8427e +2007-11-09T22:49:28.769147Z +7116 +sewardj + +hg03_inherit.c +file + + + + +2009-03-13T17:29:59.000000Z +4ac977013a95a7adcf670447732dcff9 +2007-11-09T22:49:28.769147Z +7116 +sewardj + +tc19_shadowmem.c +file + + + + +2009-03-13T17:29:59.000000Z +69640055b739b0d5535546500d1628e7 +2008-11-09T23:31:19.959310Z +8751 +sewardj + +hg04_race.vgtest +file + + + + +2009-03-13T17:29:59.000000Z +67999332da85e37b5c1d20beeab2c3c8 +2008-12-21T10:44:28.988809Z +8846 +sewardj + +tc22_exit_w_lock.vgtest +file + + + + +2009-03-13T17:29:59.000000Z +2ac71c60d5fccb10dfc48a026b5fe879 +2007-11-09T22:49:28.769147Z +7116 +sewardj + +tc18_semabuse.stdout.exp +file + + + + +2009-03-13T17:29:59.000000Z +d41d8cd98f00b204e9800998ecf8427e +2007-11-09T22:49:28.769147Z +7116 +sewardj + +bar_trivial.c +file + + + + +2009-03-13T17:29:59.000000Z +ce69eb82945c03c7ec1895316be34c91 +2009-03-11T11:09:35.921765Z +9358 +bart + +tc20_verifywrap.stderr.exp-glibc25-amd64 +file + + + + +2009-03-13T17:29:59.000000Z +6c09bec63fea47fb152cc913a7f96862 +2009-03-13T01:41:03.438271Z +9389 +njn + +bar_bad.stdout.exp +file + + + + +2009-03-13T17:29:59.000000Z +d41d8cd98f00b204e9800998ecf8427e +2008-11-14T19:43:44.407535Z +8768 +sewardj + +tc24_nonzero_sem.stderr.exp +file + + + + +2009-03-13T17:29:59.000000Z +1bbc754ee00f2e2989cf97a1b497eed5 +2009-03-13T01:41:03.438271Z +9389 +njn +has-props + +tc14_laog_dinphils.c +file + + + + +2009-03-13T17:29:59.000000Z +68686e9e1f6c53f4664837eb44fc0ea0 +2007-11-09T22:49:28.769147Z +7116 +sewardj + +tc13_laog1.stderr.exp +file + + + + +2009-03-13T17:29:59.000000Z +9db33b67838f764324c5b3197b6d4674 +2009-03-13T01:41:03.438271Z +9389 +njn +has-props + +hg05_race2.stdout.exp +file + + + + +2009-03-13T17:29:59.000000Z +d41d8cd98f00b204e9800998ecf8427e +2007-11-09T22:49:28.769147Z +7116 +sewardj + +tc18_semabuse.stderr.exp-glibc25-amd64 +file + + + + +2009-03-13T17:29:59.000000Z +77d2e3a21261d6a78d05791422d52236 +2008-12-19T09:46:17.861280Z +8843 +sewardj + +pth_barrier3.stdout.exp +file + + + + +2009-03-13T17:29:59.000000Z +d41d8cd98f00b204e9800998ecf8427e +2008-11-14T19:43:44.407535Z +8768 +sewardj + +tc12_rwl_trivial.vgtest +file + + + + +2009-03-13T17:29:59.000000Z +084016ffe3fdbff6fd81be03f241086d +2007-11-09T22:49:28.769147Z +7116 +sewardj + +tc11_XCHG.c +file + + + + +2009-03-13T17:29:59.000000Z +f163d1e7028c0b79b8d930cbf012fe00 +2008-10-21T23:12:56.767079Z +8690 +sewardj + +tc07_hbl1.c +file + + + + +2009-03-13T17:29:59.000000Z +14449d712a12078543754aa1c0ab29a6 +2007-11-27T11:23:55.576946Z +7240 +sewardj + +tc17_sembar.stderr.exp +file + + + + +2009-03-13T17:29:59.000000Z +fa44c6df49b7eb482bdd88c7c9eed2bd +2009-03-13T01:41:03.438271Z +9389 +njn +has-props + +tc24_nonzero_sem.vgtest +file + + + + +2009-03-13T17:29:59.000000Z +703df4753042085b1989753393caa00f +2007-11-30T11:22:35.839393Z +7254 +sewardj + +bar_trivial.stdout.exp +file + + + + +2009-03-13T17:29:59.000000Z +3d688704cbbc6753b2002c94a2ad19ac +2008-11-14T19:43:44.407535Z +8768 +sewardj + +rwlock_test.stdout.exp +file + + + + +2009-03-13T17:29:59.000000Z +d41d8cd98f00b204e9800998ecf8427e +2008-11-10T02:01:17.565236Z +8757 +sewardj + +tc18_semabuse.vgtest +file + + + + +2009-03-13T17:29:59.000000Z +1c6a60887149d08a73b868a12e8013f2 +2007-11-09T22:49:28.769147Z +7116 +sewardj + +tc11_XCHG.stderr.exp +file + + + + +2009-03-13T17:29:59.000000Z +1bbc754ee00f2e2989cf97a1b497eed5 +2009-03-13T01:41:03.438271Z +9389 +njn +has-props + +hg02_deadlock.stderr.exp +file + + + + +2009-03-13T17:29:59.000000Z +29810adf964e28b9af0ce938adb5c54e +2009-03-13T01:41:03.438271Z +9389 +njn +has-props + +tc03_re_excl.stdout.exp +file + + + + +2009-03-13T17:29:59.000000Z +d41d8cd98f00b204e9800998ecf8427e +2007-11-09T22:49:28.769147Z +7116 +sewardj + +tc15_laog_lockdel.stdout.exp +file + + + + +2009-03-13T17:29:59.000000Z +d41d8cd98f00b204e9800998ecf8427e +2007-11-09T22:49:28.769147Z +7116 +sewardj + +hg05_race2.vgtest +file + + + + +2009-03-13T17:29:59.000000Z +7f590c082f8683cd7d88cc25d686d238 +2008-12-21T10:44:28.988809Z +8846 +sewardj + +tc01_simple_race.c +file + + + + +2009-03-13T17:29:59.000000Z +ee74acc9a7901bf654d7f9c39d27d3d3 +2007-11-09T22:49:28.769147Z +7116 +sewardj + +tc06_two_races.stdout.exp +file + + + + +2009-03-13T17:29:59.000000Z +d41d8cd98f00b204e9800998ecf8427e +2007-11-09T22:49:28.769147Z +7116 +sewardj + +tc05_simple_race.c +file + + + + +2009-03-13T17:29:59.000000Z +64af75796898373d2d49edcd19e09a70 +2007-11-09T22:49:28.769147Z +7116 +sewardj + +tc04_free_lock.stdout.exp +file + + + + +2009-03-13T17:29:59.000000Z +d41d8cd98f00b204e9800998ecf8427e +2007-11-09T22:49:28.769147Z +7116 +sewardj + +hg02_deadlock.vgtest +file + + + + +2009-03-13T17:29:59.000000Z +6f5475e884257cb4535635a84812463b +2007-11-09T22:49:28.769147Z +7116 +sewardj + +tc08_hbl2.stdout.exp +file + + + + +2009-03-13T17:29:59.000000Z +8cc27649f5b0eee154019e6497272aa1 +2007-11-09T22:49:28.769147Z +7116 +sewardj + +tc08_hbl2.c +file + + + + +2009-03-13T17:29:59.000000Z +0524f678f4072de39f6a1343f4bbc0e4 +2007-11-27T11:23:55.576946Z +7240 +sewardj + +tc16_byterace.stdout.exp +file + + + + +2009-03-13T17:29:59.000000Z +d41d8cd98f00b204e9800998ecf8427e +2007-11-09T22:49:28.769147Z +7116 +sewardj + +tc21_pthonce.c +file + + + + +2009-03-13T17:29:59.000000Z +723e24d672397a41f139dfa766f46f80 +2007-11-09T22:49:28.769147Z +7116 +sewardj + +tc09_bad_unlock.vgtest +file + + + + +2009-03-13T17:29:59.000000Z +9e470acf9d21ca24b0a3e634859a5e3b +2007-11-09T22:49:28.769147Z +7116 +sewardj + +tc23_bogus_condwait.stdout.exp +file + + + + +2009-03-13T17:29:59.000000Z +d41d8cd98f00b204e9800998ecf8427e +2007-11-09T22:49:28.769147Z +7116 +sewardj + diff --git a/helgrind/tests/.svn/format b/helgrind/tests/.svn/format new file mode 100644 index 0000000..45a4fb7 --- /dev/null +++ b/helgrind/tests/.svn/format @@ -0,0 +1 @@ +8 diff --git a/helgrind/tests/.svn/prop-base/bar_bad.stderr.exp.svn-base b/helgrind/tests/.svn/prop-base/bar_bad.stderr.exp.svn-base new file mode 100644 index 0000000..3160658 --- /dev/null +++ b/helgrind/tests/.svn/prop-base/bar_bad.stderr.exp.svn-base @@ -0,0 +1,5 @@ +K 13 +svn:mergeinfo +V 0 + +END diff --git a/helgrind/tests/.svn/prop-base/bar_trivial.stderr.exp.svn-base b/helgrind/tests/.svn/prop-base/bar_trivial.stderr.exp.svn-base new file mode 100644 index 0000000..3160658 --- /dev/null +++ b/helgrind/tests/.svn/prop-base/bar_trivial.stderr.exp.svn-base @@ -0,0 +1,5 @@ +K 13 +svn:mergeinfo +V 0 + +END diff --git a/helgrind/tests/.svn/prop-base/filter_stderr.svn-base b/helgrind/tests/.svn/prop-base/filter_stderr.svn-base new file mode 100644 index 0000000..869ac71 --- /dev/null +++ b/helgrind/tests/.svn/prop-base/filter_stderr.svn-base @@ -0,0 +1,5 @@ +K 14 +svn:executable +V 1 +* +END diff --git a/helgrind/tests/.svn/prop-base/hg01_all_ok.stderr.exp.svn-base b/helgrind/tests/.svn/prop-base/hg01_all_ok.stderr.exp.svn-base new file mode 100644 index 0000000..3160658 --- /dev/null +++ b/helgrind/tests/.svn/prop-base/hg01_all_ok.stderr.exp.svn-base @@ -0,0 +1,5 @@ +K 13 +svn:mergeinfo +V 0 + +END diff --git a/helgrind/tests/.svn/prop-base/hg02_deadlock.stderr.exp.svn-base b/helgrind/tests/.svn/prop-base/hg02_deadlock.stderr.exp.svn-base new file mode 100644 index 0000000..3160658 --- /dev/null +++ b/helgrind/tests/.svn/prop-base/hg02_deadlock.stderr.exp.svn-base @@ -0,0 +1,5 @@ +K 13 +svn:mergeinfo +V 0 + +END diff --git a/helgrind/tests/.svn/prop-base/hg03_inherit.stderr.exp.svn-base b/helgrind/tests/.svn/prop-base/hg03_inherit.stderr.exp.svn-base new file mode 100644 index 0000000..3160658 --- /dev/null +++ b/helgrind/tests/.svn/prop-base/hg03_inherit.stderr.exp.svn-base @@ -0,0 +1,5 @@ +K 13 +svn:mergeinfo +V 0 + +END diff --git a/helgrind/tests/.svn/prop-base/hg04_race.stderr.exp.svn-base b/helgrind/tests/.svn/prop-base/hg04_race.stderr.exp.svn-base new file mode 100644 index 0000000..3160658 --- /dev/null +++ b/helgrind/tests/.svn/prop-base/hg04_race.stderr.exp.svn-base @@ -0,0 +1,5 @@ +K 13 +svn:mergeinfo +V 0 + +END diff --git a/helgrind/tests/.svn/prop-base/hg05_race2.stderr.exp.svn-base b/helgrind/tests/.svn/prop-base/hg05_race2.stderr.exp.svn-base new file mode 100644 index 0000000..3160658 --- /dev/null +++ b/helgrind/tests/.svn/prop-base/hg05_race2.stderr.exp.svn-base @@ -0,0 +1,5 @@ +K 13 +svn:mergeinfo +V 0 + +END diff --git a/helgrind/tests/.svn/prop-base/hg06_readshared.stderr.exp.svn-base b/helgrind/tests/.svn/prop-base/hg06_readshared.stderr.exp.svn-base new file mode 100644 index 0000000..3160658 --- /dev/null +++ b/helgrind/tests/.svn/prop-base/hg06_readshared.stderr.exp.svn-base @@ -0,0 +1,5 @@ +K 13 +svn:mergeinfo +V 0 + +END diff --git a/helgrind/tests/.svn/prop-base/pth_barrier1.stderr.exp.svn-base b/helgrind/tests/.svn/prop-base/pth_barrier1.stderr.exp.svn-base new file mode 100644 index 0000000..3160658 --- /dev/null +++ b/helgrind/tests/.svn/prop-base/pth_barrier1.stderr.exp.svn-base @@ -0,0 +1,5 @@ +K 13 +svn:mergeinfo +V 0 + +END diff --git a/helgrind/tests/.svn/prop-base/pth_barrier2.stderr.exp.svn-base b/helgrind/tests/.svn/prop-base/pth_barrier2.stderr.exp.svn-base new file mode 100644 index 0000000..3160658 --- /dev/null +++ b/helgrind/tests/.svn/prop-base/pth_barrier2.stderr.exp.svn-base @@ -0,0 +1,5 @@ +K 13 +svn:mergeinfo +V 0 + +END diff --git a/helgrind/tests/.svn/prop-base/pth_barrier3.stderr.exp.svn-base b/helgrind/tests/.svn/prop-base/pth_barrier3.stderr.exp.svn-base new file mode 100644 index 0000000..3160658 --- /dev/null +++ b/helgrind/tests/.svn/prop-base/pth_barrier3.stderr.exp.svn-base @@ -0,0 +1,5 @@ +K 13 +svn:mergeinfo +V 0 + +END diff --git a/helgrind/tests/.svn/prop-base/rwlock_race.stderr.exp.svn-base b/helgrind/tests/.svn/prop-base/rwlock_race.stderr.exp.svn-base new file mode 100644 index 0000000..3160658 --- /dev/null +++ b/helgrind/tests/.svn/prop-base/rwlock_race.stderr.exp.svn-base @@ -0,0 +1,5 @@ +K 13 +svn:mergeinfo +V 0 + +END diff --git a/helgrind/tests/.svn/prop-base/rwlock_test.stderr.exp.svn-base b/helgrind/tests/.svn/prop-base/rwlock_test.stderr.exp.svn-base new file mode 100644 index 0000000..3160658 --- /dev/null +++ b/helgrind/tests/.svn/prop-base/rwlock_test.stderr.exp.svn-base @@ -0,0 +1,5 @@ +K 13 +svn:mergeinfo +V 0 + +END diff --git a/helgrind/tests/.svn/prop-base/tc01_simple_race.stderr.exp.svn-base b/helgrind/tests/.svn/prop-base/tc01_simple_race.stderr.exp.svn-base new file mode 100644 index 0000000..3160658 --- /dev/null +++ b/helgrind/tests/.svn/prop-base/tc01_simple_race.stderr.exp.svn-base @@ -0,0 +1,5 @@ +K 13 +svn:mergeinfo +V 0 + +END diff --git a/helgrind/tests/.svn/prop-base/tc02_simple_tls.stderr.exp.svn-base b/helgrind/tests/.svn/prop-base/tc02_simple_tls.stderr.exp.svn-base new file mode 100644 index 0000000..3160658 --- /dev/null +++ b/helgrind/tests/.svn/prop-base/tc02_simple_tls.stderr.exp.svn-base @@ -0,0 +1,5 @@ +K 13 +svn:mergeinfo +V 0 + +END diff --git a/helgrind/tests/.svn/prop-base/tc03_re_excl.stderr.exp.svn-base b/helgrind/tests/.svn/prop-base/tc03_re_excl.stderr.exp.svn-base new file mode 100644 index 0000000..3160658 --- /dev/null +++ b/helgrind/tests/.svn/prop-base/tc03_re_excl.stderr.exp.svn-base @@ -0,0 +1,5 @@ +K 13 +svn:mergeinfo +V 0 + +END diff --git a/helgrind/tests/.svn/prop-base/tc04_free_lock.stderr.exp.svn-base b/helgrind/tests/.svn/prop-base/tc04_free_lock.stderr.exp.svn-base new file mode 100644 index 0000000..3160658 --- /dev/null +++ b/helgrind/tests/.svn/prop-base/tc04_free_lock.stderr.exp.svn-base @@ -0,0 +1,5 @@ +K 13 +svn:mergeinfo +V 0 + +END diff --git a/helgrind/tests/.svn/prop-base/tc05_simple_race.stderr.exp.svn-base b/helgrind/tests/.svn/prop-base/tc05_simple_race.stderr.exp.svn-base new file mode 100644 index 0000000..3160658 --- /dev/null +++ b/helgrind/tests/.svn/prop-base/tc05_simple_race.stderr.exp.svn-base @@ -0,0 +1,5 @@ +K 13 +svn:mergeinfo +V 0 + +END diff --git a/helgrind/tests/.svn/prop-base/tc06_two_races.stderr.exp.svn-base b/helgrind/tests/.svn/prop-base/tc06_two_races.stderr.exp.svn-base new file mode 100644 index 0000000..3160658 --- /dev/null +++ b/helgrind/tests/.svn/prop-base/tc06_two_races.stderr.exp.svn-base @@ -0,0 +1,5 @@ +K 13 +svn:mergeinfo +V 0 + +END diff --git a/helgrind/tests/.svn/prop-base/tc07_hbl1.stderr.exp.svn-base b/helgrind/tests/.svn/prop-base/tc07_hbl1.stderr.exp.svn-base new file mode 100644 index 0000000..3160658 --- /dev/null +++ b/helgrind/tests/.svn/prop-base/tc07_hbl1.stderr.exp.svn-base @@ -0,0 +1,5 @@ +K 13 +svn:mergeinfo +V 0 + +END diff --git a/helgrind/tests/.svn/prop-base/tc08_hbl2.stderr.exp.svn-base b/helgrind/tests/.svn/prop-base/tc08_hbl2.stderr.exp.svn-base new file mode 100644 index 0000000..3160658 --- /dev/null +++ b/helgrind/tests/.svn/prop-base/tc08_hbl2.stderr.exp.svn-base @@ -0,0 +1,5 @@ +K 13 +svn:mergeinfo +V 0 + +END diff --git a/helgrind/tests/.svn/prop-base/tc10_rec_lock.stderr.exp.svn-base b/helgrind/tests/.svn/prop-base/tc10_rec_lock.stderr.exp.svn-base new file mode 100644 index 0000000..3160658 --- /dev/null +++ b/helgrind/tests/.svn/prop-base/tc10_rec_lock.stderr.exp.svn-base @@ -0,0 +1,5 @@ +K 13 +svn:mergeinfo +V 0 + +END diff --git a/helgrind/tests/.svn/prop-base/tc11_XCHG.stderr.exp.svn-base b/helgrind/tests/.svn/prop-base/tc11_XCHG.stderr.exp.svn-base new file mode 100644 index 0000000..3160658 --- /dev/null +++ b/helgrind/tests/.svn/prop-base/tc11_XCHG.stderr.exp.svn-base @@ -0,0 +1,5 @@ +K 13 +svn:mergeinfo +V 0 + +END diff --git a/helgrind/tests/.svn/prop-base/tc12_rwl_trivial.stderr.exp.svn-base b/helgrind/tests/.svn/prop-base/tc12_rwl_trivial.stderr.exp.svn-base new file mode 100644 index 0000000..3160658 --- /dev/null +++ b/helgrind/tests/.svn/prop-base/tc12_rwl_trivial.stderr.exp.svn-base @@ -0,0 +1,5 @@ +K 13 +svn:mergeinfo +V 0 + +END diff --git a/helgrind/tests/.svn/prop-base/tc13_laog1.stderr.exp.svn-base b/helgrind/tests/.svn/prop-base/tc13_laog1.stderr.exp.svn-base new file mode 100644 index 0000000..3160658 --- /dev/null +++ b/helgrind/tests/.svn/prop-base/tc13_laog1.stderr.exp.svn-base @@ -0,0 +1,5 @@ +K 13 +svn:mergeinfo +V 0 + +END diff --git a/helgrind/tests/.svn/prop-base/tc14_laog_dinphils.stderr.exp.svn-base b/helgrind/tests/.svn/prop-base/tc14_laog_dinphils.stderr.exp.svn-base new file mode 100644 index 0000000..3160658 --- /dev/null +++ b/helgrind/tests/.svn/prop-base/tc14_laog_dinphils.stderr.exp.svn-base @@ -0,0 +1,5 @@ +K 13 +svn:mergeinfo +V 0 + +END diff --git a/helgrind/tests/.svn/prop-base/tc15_laog_lockdel.stderr.exp.svn-base b/helgrind/tests/.svn/prop-base/tc15_laog_lockdel.stderr.exp.svn-base new file mode 100644 index 0000000..3160658 --- /dev/null +++ b/helgrind/tests/.svn/prop-base/tc15_laog_lockdel.stderr.exp.svn-base @@ -0,0 +1,5 @@ +K 13 +svn:mergeinfo +V 0 + +END diff --git a/helgrind/tests/.svn/prop-base/tc16_byterace.stderr.exp.svn-base b/helgrind/tests/.svn/prop-base/tc16_byterace.stderr.exp.svn-base new file mode 100644 index 0000000..3160658 --- /dev/null +++ b/helgrind/tests/.svn/prop-base/tc16_byterace.stderr.exp.svn-base @@ -0,0 +1,5 @@ +K 13 +svn:mergeinfo +V 0 + +END diff --git a/helgrind/tests/.svn/prop-base/tc17_sembar.stderr.exp.svn-base b/helgrind/tests/.svn/prop-base/tc17_sembar.stderr.exp.svn-base new file mode 100644 index 0000000..3160658 --- /dev/null +++ b/helgrind/tests/.svn/prop-base/tc17_sembar.stderr.exp.svn-base @@ -0,0 +1,5 @@ +K 13 +svn:mergeinfo +V 0 + +END diff --git a/helgrind/tests/.svn/prop-base/tc19_shadowmem.stderr.exp.svn-base b/helgrind/tests/.svn/prop-base/tc19_shadowmem.stderr.exp.svn-base new file mode 100644 index 0000000..3160658 --- /dev/null +++ b/helgrind/tests/.svn/prop-base/tc19_shadowmem.stderr.exp.svn-base @@ -0,0 +1,5 @@ +K 13 +svn:mergeinfo +V 0 + +END diff --git a/helgrind/tests/.svn/prop-base/tc21_pthonce.stderr.exp.svn-base b/helgrind/tests/.svn/prop-base/tc21_pthonce.stderr.exp.svn-base new file mode 100644 index 0000000..3160658 --- /dev/null +++ b/helgrind/tests/.svn/prop-base/tc21_pthonce.stderr.exp.svn-base @@ -0,0 +1,5 @@ +K 13 +svn:mergeinfo +V 0 + +END diff --git a/helgrind/tests/.svn/prop-base/tc22_exit_w_lock.stderr.exp.svn-base b/helgrind/tests/.svn/prop-base/tc22_exit_w_lock.stderr.exp.svn-base new file mode 100644 index 0000000..3160658 --- /dev/null +++ b/helgrind/tests/.svn/prop-base/tc22_exit_w_lock.stderr.exp.svn-base @@ -0,0 +1,5 @@ +K 13 +svn:mergeinfo +V 0 + +END diff --git a/helgrind/tests/.svn/prop-base/tc23_bogus_condwait.stderr.exp.svn-base b/helgrind/tests/.svn/prop-base/tc23_bogus_condwait.stderr.exp.svn-base new file mode 100644 index 0000000..3160658 --- /dev/null +++ b/helgrind/tests/.svn/prop-base/tc23_bogus_condwait.stderr.exp.svn-base @@ -0,0 +1,5 @@ +K 13 +svn:mergeinfo +V 0 + +END diff --git a/helgrind/tests/.svn/prop-base/tc24_nonzero_sem.stderr.exp.svn-base b/helgrind/tests/.svn/prop-base/tc24_nonzero_sem.stderr.exp.svn-base new file mode 100644 index 0000000..3160658 --- /dev/null +++ b/helgrind/tests/.svn/prop-base/tc24_nonzero_sem.stderr.exp.svn-base @@ -0,0 +1,5 @@ +K 13 +svn:mergeinfo +V 0 + +END diff --git a/helgrind/tests/.svn/text-base/Makefile.am.svn-base b/helgrind/tests/.svn/text-base/Makefile.am.svn-base new file mode 100644 index 0000000..f52072f --- /dev/null +++ b/helgrind/tests/.svn/text-base/Makefile.am.svn-base @@ -0,0 +1,108 @@ + +include $(top_srcdir)/Makefile.tool-tests.am + +noinst_SCRIPTS = filter_stderr + +EXTRA_DIST = $(noinst_SCRIPTS) \ + bar_bad.vgtest bar_bad.stdout.exp bar_bad.stderr.exp \ + bar_trivial.vgtest bar_trivial.stdout.exp bar_trivial.stderr.exp \ + hg01_all_ok.vgtest hg01_all_ok.stdout.exp hg01_all_ok.stderr.exp \ + hg02_deadlock.vgtest hg02_deadlock.stdout.exp hg02_deadlock.stderr.exp \ + hg03_inherit.vgtest hg03_inherit.stdout.exp hg03_inherit.stderr.exp \ + hg04_race.vgtest hg04_race.stdout.exp hg04_race.stderr.exp \ + hg05_race2.vgtest hg05_race2.stdout.exp hg05_race2.stderr.exp \ + hg06_readshared.vgtest hg06_readshared.stdout.exp \ + hg06_readshared.stderr.exp \ + pth_barrier1.vgtest pth_barrier1.stdout.exp pth_barrier1.stderr.exp \ + pth_barrier2.vgtest pth_barrier2.stdout.exp pth_barrier2.stderr.exp \ + pth_barrier3.vgtest pth_barrier3.stdout.exp pth_barrier3.stderr.exp \ + rwlock_race.vgtest rwlock_race.stdout.exp rwlock_race.stderr.exp \ + rwlock_test.vgtest rwlock_test.stdout.exp rwlock_test.stderr.exp \ + tc01_simple_race.vgtest tc01_simple_race.stdout.exp \ + tc01_simple_race.stderr.exp \ + tc02_simple_tls.vgtest tc02_simple_tls.stdout.exp \ + tc02_simple_tls.stderr.exp \ + tc03_re_excl.vgtest tc03_re_excl.stdout.exp \ + tc03_re_excl.stderr.exp \ + tc04_free_lock.vgtest tc04_free_lock.stdout.exp \ + tc04_free_lock.stderr.exp \ + tc05_simple_race.vgtest tc05_simple_race.stdout.exp \ + tc05_simple_race.stderr.exp \ + tc06_two_races.vgtest tc06_two_races.stdout.exp \ + tc06_two_races.stderr.exp \ + tc07_hbl1.vgtest tc07_hbl1.stdout.exp tc07_hbl1.stderr.exp \ + tc08_hbl2.vgtest tc08_hbl2.stdout.exp tc08_hbl2.stderr.exp \ + tc09_bad_unlock.vgtest tc09_bad_unlock.stdout.exp \ + tc09_bad_unlock.stderr.exp-glibc23-amd64 \ + tc09_bad_unlock.stderr.exp-glibc25-amd64 \ + tc09_bad_unlock.stderr.exp-glibc25-x86 \ + tc10_rec_lock.vgtest tc10_rec_lock.stdout.exp tc10_rec_lock.stderr.exp \ + tc11_XCHG.vgtest tc11_XCHG.stdout.exp tc11_XCHG.stderr.exp \ + tc12_rwl_trivial.vgtest tc12_rwl_trivial.stdout.exp \ + tc12_rwl_trivial.stderr.exp \ + tc13_laog1.vgtest tc13_laog1.stdout.exp tc13_laog1.stderr.exp \ + tc14_laog_dinphils.vgtest tc14_laog_dinphils.stdout.exp \ + tc14_laog_dinphils.stderr.exp \ + tc15_laog_lockdel.vgtest tc15_laog_lockdel.stdout.exp \ + tc15_laog_lockdel.stderr.exp \ + tc16_byterace.vgtest tc16_byterace.stdout.exp \ + tc16_byterace.stderr.exp \ + tc17_sembar.vgtest tc17_sembar.stdout.exp \ + tc17_sembar.stderr.exp \ + tc18_semabuse.vgtest tc18_semabuse.stdout.exp \ + tc18_semabuse.stderr.exp-glibc25-amd64 \ + tc18_semabuse.stderr.exp-glibc28-amd64 \ + tc19_shadowmem.vgtest tc19_shadowmem.stdout.exp \ + tc19_shadowmem.stderr.exp \ + tc20_verifywrap.vgtest tc20_verifywrap.stdout.exp \ + tc20_verifywrap.stderr.exp-glibc25-amd64 \ + tc20_verifywrap.stderr.exp-glibc27-amd64 \ + tc21_pthonce.vgtest tc21_pthonce.stdout.exp tc21_pthonce.stderr.exp \ + tc22_exit_w_lock.vgtest tc22_exit_w_lock.stdout.exp \ + tc22_exit_w_lock.stderr.exp \ + tc23_bogus_condwait.vgtest tc23_bogus_condwait.stdout.exp \ + tc23_bogus_condwait.stderr.exp \ + tc24_nonzero_sem.vgtest tc24_nonzero_sem.stdout.exp \ + tc24_nonzero_sem.stderr.exp + +check_PROGRAMS = \ + hg01_all_ok \ + hg02_deadlock \ + hg03_inherit \ + hg04_race \ + hg05_race2 \ + hg06_readshared \ + tc01_simple_race \ + tc02_simple_tls \ + tc03_re_excl \ + tc04_free_lock \ + tc05_simple_race \ + tc06_two_races \ + tc07_hbl1 \ + tc08_hbl2 \ + tc09_bad_unlock \ + tc10_rec_lock \ + tc11_XCHG \ + tc12_rwl_trivial \ + tc13_laog1 \ + tc14_laog_dinphils \ + tc15_laog_lockdel \ + tc16_byterace \ + tc17_sembar \ + tc18_semabuse \ + tc19_shadowmem \ + tc20_verifywrap \ + tc21_pthonce \ + tc22_exit_w_lock \ + tc23_bogus_condwait \ + tc24_nonzero_sem + +if HAVE_PTHREAD_BARRIER +check_PROGRAMS += bar_bad bar_trivial +endif + +AM_CFLAGS += $(AM_FLAG_M3264_PRI) +AM_CXXFLAGS += $(AM_FLAG_M3264_PRI) + +LDADD = -lpthread + diff --git a/helgrind/tests/.svn/text-base/bar_bad.c.svn-base b/helgrind/tests/.svn/text-base/bar_bad.c.svn-base new file mode 100644 index 0000000..dd6079c --- /dev/null +++ b/helgrind/tests/.svn/text-base/bar_bad.c.svn-base @@ -0,0 +1,89 @@ + +/* This program checks that Helgrind reports the five degenerate + uses of the barrier functions shown. */ +#define _GNU_SOURCE +#include <pthread.h> +#include <stdio.h> +#include <stdlib.h> +#include <assert.h> +#include <unistd.h> +#include <string.h> + +void* child1 ( void* arg ) +{ + pthread_barrier_wait( (pthread_barrier_t*)arg ); + return NULL; +} + +int main ( void ) +{ + pthread_barrier_t *bar1, *bar2, *bar3, *bar4, *bar5; + pthread_t thr1, thr2; + int r; + + /* possibly set up a watchdog timer thread here. */ + + + + + + + + + + + + /* initialise a barrier with a zero count */ + fprintf(stderr, "\ninitialise a barrier with zero count\n"); + bar1 = malloc(sizeof(pthread_barrier_t)); + pthread_barrier_init(bar1, NULL, 0); + + /* initialise a barrier twice */ + fprintf(stderr, "\ninitialise a barrier twice\n"); + bar2 = malloc(sizeof(pthread_barrier_t)); + pthread_barrier_init(bar2, NULL, 1); + pthread_barrier_init(bar2, NULL, 1); + + /* initialise a barrier which has threads waiting on it. + This isn't too simple. */ + fprintf(stderr, "\ninitialise a barrier which has threads waiting on it\n"); + bar3 = malloc(sizeof(pthread_barrier_t)); + pthread_barrier_init(bar3, NULL, 2); + /* create a thread, whose only purpose is to block on the barrier */ + pthread_create(&thr1, NULL, child1, (void*)bar3); + /* guarantee that it gets there first */ + sleep(1); + /* and now reinitialise */ + pthread_barrier_init(bar3, NULL, 3); + + /* destroy a barrier that has threads waiting at it */ + fprintf(stderr, "\ndestroy a barrier that has waiting threads\n"); + /* once again, create a thread, whose only purpose is to block. */ + bar4 = malloc(sizeof(pthread_barrier_t)); + pthread_barrier_init(bar4, NULL, 2); + /* create a thread, whose only purpose is to block on the barrier */ + pthread_create(&thr2, NULL, child1, (void*)bar4); + /* guarantee that it gets there first */ + sleep(1); + /* and now destroy */ + pthread_barrier_destroy(bar4); + + /* destroy a barrier that was never initialised. This is a bit + tricky, in that we have to fill the barrier with bytes which + ensure that the pthread_barrier_destroy call doesn't hang for + some reason. Zero-fill seems to work ok on amd64-linux (glibc + 2.8). */ + fprintf(stderr, "\ndestroy a barrier that was never initialised\n"); + bar5 = malloc(sizeof(pthread_barrier_t)); + assert(bar5); + memset(bar5, 0, sizeof(*bar5)); + pthread_barrier_destroy(bar5); + + /* now we need to clean up the mess .. */ + r= pthread_cancel(thr1); assert(!r); + r= pthread_cancel(thr2); assert(!r); + + free(bar1); free(bar2); free(bar3); free(bar4); free(bar5); + + return 0; +} diff --git a/helgrind/tests/.svn/text-base/bar_bad.stderr.exp.svn-base b/helgrind/tests/.svn/text-base/bar_bad.stderr.exp.svn-base new file mode 100644 index 0000000..7fa1270 --- /dev/null +++ b/helgrind/tests/.svn/text-base/bar_bad.stderr.exp.svn-base @@ -0,0 +1,45 @@ + +initialise a barrier with zero count +Thread #x is the program's root thread + +Thread #x: pthread_barrier_init: 'count' argument is zero + at 0x........: pthread_barrier_init (hg_intercepts.c:...) + by 0x........: main (bar_bad.c:39) + +Thread #x's call to pthread_barrier_init failed + with error code 22 (EINVAL: Invalid argument) + at 0x........: pthread_barrier_init (hg_intercepts.c:...) + by 0x........: main (bar_bad.c:39) + +initialise a barrier twice + +Thread #x: pthread_barrier_init: barrier is already initialised + at 0x........: pthread_barrier_init (hg_intercepts.c:...) + by 0x........: main (bar_bad.c:45) + +initialise a barrier which has threads waiting on it + +Thread #x: pthread_barrier_init: barrier is already initialised + at 0x........: pthread_barrier_init (hg_intercepts.c:...) + by 0x........: main (bar_bad.c:57) + +Thread #x: pthread_barrier_init: threads are waiting at barrier + at 0x........: pthread_barrier_init (hg_intercepts.c:...) + by 0x........: main (bar_bad.c:57) + +destroy a barrier that has waiting threads + +Thread #x: pthread_barrier_destroy: threads are waiting at barrier + at 0x........: pthread_barrier_destroy (hg_intercepts.c:...) + by 0x........: main (bar_bad.c:69) + +Thread #x's call to pthread_barrier_destroy failed + with error code 16 (EBUSY: Device or resource busy) + at 0x........: pthread_barrier_destroy (hg_intercepts.c:...) + by 0x........: main (bar_bad.c:69) + +destroy a barrier that was never initialised + +Thread #x: pthread_barrier_destroy: barrier was never initialised + at 0x........: pthread_barrier_destroy (hg_intercepts.c:...) + by 0x........: main (bar_bad.c:80) diff --git a/helgrind/tests/.svn/text-base/bar_bad.stdout.exp.svn-base b/helgrind/tests/.svn/text-base/bar_bad.stdout.exp.svn-base new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/helgrind/tests/.svn/text-base/bar_bad.stdout.exp.svn-base diff --git a/helgrind/tests/.svn/text-base/bar_bad.vgtest.svn-base b/helgrind/tests/.svn/text-base/bar_bad.vgtest.svn-base new file mode 100644 index 0000000..fe946f5 --- /dev/null +++ b/helgrind/tests/.svn/text-base/bar_bad.vgtest.svn-base @@ -0,0 +1,3 @@ +prereq: test -e bar_bad +prog: bar_bad +vgopts: -q diff --git a/helgrind/tests/.svn/text-base/bar_trivial.c.svn-base b/helgrind/tests/.svn/text-base/bar_trivial.c.svn-base new file mode 100644 index 0000000..8c221ae --- /dev/null +++ b/helgrind/tests/.svn/text-base/bar_trivial.c.svn-base @@ -0,0 +1,57 @@ + +/* This is the most trivial test I could think of that involves + barriers. If H fails to notice the pthread_barrier_wait call then + it will report a race. Correct behaviour is not to report a race + (there isn't one.) */ +#define _GNU_SOURCE +#include <pthread.h> +#include <stdio.h> +#include <stdlib.h> +#include <assert.h> +#include <unistd.h> + +int x = 0; + +pthread_barrier_t bar; + +void* child_fn ( void* arg ) +{ + long r, n = (long)arg; + + if (n == 1) x++; + + r = pthread_barrier_wait(&bar); + assert(r == 0 || r == PTHREAD_BARRIER_SERIAL_THREAD); + + if (n == 0) x++; + + sleep(1); /* ensure both threads get to this point before + either exits. */ + return NULL; +} + +#define NTHR 2 + +int main ( void ) +{ + long i, r; + pthread_t thr[NTHR]; + + r = pthread_barrier_init(&bar, NULL, NTHR); + assert(!r); + + for (i = 0; i < NTHR; i++) { + r = pthread_create(&thr[i], NULL, child_fn, (void*)i); + assert(!r); + } + + for (i = 0; i < NTHR; i++) { + r = pthread_join(thr[i], NULL); + assert(!r); + } + + r = pthread_barrier_destroy(&bar); assert(!r); + + printf("x = %d\n", x); + return 0; +} diff --git a/helgrind/tests/.svn/text-base/bar_trivial.stderr.exp.svn-base b/helgrind/tests/.svn/text-base/bar_trivial.stderr.exp.svn-base new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/helgrind/tests/.svn/text-base/bar_trivial.stderr.exp.svn-base diff --git a/helgrind/tests/.svn/text-base/bar_trivial.stdout.exp.svn-base b/helgrind/tests/.svn/text-base/bar_trivial.stdout.exp.svn-base new file mode 100644 index 0000000..407de30 --- /dev/null +++ b/helgrind/tests/.svn/text-base/bar_trivial.stdout.exp.svn-base @@ -0,0 +1 @@ +x = 2 diff --git a/helgrind/tests/.svn/text-base/bar_trivial.vgtest.svn-base b/helgrind/tests/.svn/text-base/bar_trivial.vgtest.svn-base new file mode 100644 index 0000000..40f2776 --- /dev/null +++ b/helgrind/tests/.svn/text-base/bar_trivial.vgtest.svn-base @@ -0,0 +1,3 @@ +prereq: test -e bar_trivial +prog: bar_trivial +vgopts: -q diff --git a/helgrind/tests/.svn/text-base/filter_stderr.svn-base b/helgrind/tests/.svn/text-base/filter_stderr.svn-base new file mode 100644 index 0000000..5b71068 --- /dev/null +++ b/helgrind/tests/.svn/text-base/filter_stderr.svn-base @@ -0,0 +1,60 @@ +#! /bin/sh + +dir=`dirname $0` + +$dir/../../tests/filter_stderr_basic | + +# Anonymise addresses +$dir/../../tests/filter_addresses | + +# Remove "Helgrind, ..." line and the following copyright line. +sed "/^Helgrind, a thread error detector/ , /./ d" | + +# Anonymise line numbers in hg_intercepts.c +sed "s/hg_intercepts.c:[0-9]\+/hg_intercepts.c:.../g" | + +# Change (eg) "/lib64/libpthread-2.5.so" into "/...libpthread..." +sed \ + -e "s/(in \/.*libpthread.*)$/(in \/...libpthread...)/" \ + -e "s/(within \/.*libpthread.*)$/(within \/...libpthread...)/" | + +# Tidy up in cases where glibc (+ libdl + libpthread + ld) have +# been built with debugging information, hence source locs are present +sed \ + -e "s/(createthread.c:[0-9]*)/(in \/...libpthread...)/g" \ + -e "s/(clone.S:[0-9]*)/(in \/...libc...)/g" \ + -e "s/start_thread (pthread_create.c:[0-9]*)$/start_thread (in \/...libpthread...)/g" | + +# Merge sem_wait and sem_wait@*, as either could be used. Likewise for +# sem_post. +sed \ + -e "s/sem_wait@\*/sem_wait/" \ + -e "s/sem_post@\*/sem_post/" | + +# get rid of the numbers in bits of text "Thread #n", "thread #n", +# "Thread n" and "thread n", +# as these make some tests more scheduling sensitive -- those where +# there are multiple threads which play interchangeable roles. +sed \ + -e "s/hread #[0-9][0-9]*/hread #x/g" \ + -e "s/hread [0-9][0-9]*/hread x/g" | + +# Likewise for frame numbers, which depend on compilation. +sed -e "s/frame #[0-9][0-9]*/frame #x/g" | \ + +# "Thread #x was created" stack traces are unreliable once you get above +# "pthread_create@* (hg_intercepts.c:...)" -- they can contan +# "pthread_create@GLIBC_", "do_clone", "clone", etc. So we cut all the +# "at"/"by" lines above "pthread_create@*". +perl -p -0 -e 's/(Thread #. was created\n)( (at|by)[^\n]*\n)*( by 0x........: pthread_create@\* \(hg_intercepts.c:...\)\n)/$1 ...\n$4/gs' | + +# Anything below "mythread_wrapper" in stack traces is unreliable, +# containing libc and libpthread stuff like start_thread, clone, etc. So we +# remove all the "by" lines below "mythread_wrapper". +perl -p -0 -e 's/( by 0x........: mythread_wrapper \(hg_intercepts.c:...\)\n)( by[^\n]*\n)*/$1 ...\n/gs' | + +# Entire trace in a "Exiting thread still holds <N> lock(s)" is unreliable, +# containing libc stuff like _Exit(), exit(), etc. So we remove all the +# "at"/"by" lines below the message. +perl -p -0 -e 's/(Thread #.: Exiting thread still holds [0-9]+ locks?\n)( (at|by)[^\n]*\n)*/$1 ...\n/gs' + diff --git a/helgrind/tests/.svn/text-base/hg01_all_ok.c.svn-base b/helgrind/tests/.svn/text-base/hg01_all_ok.c.svn-base new file mode 100644 index 0000000..144ce60 --- /dev/null +++ b/helgrind/tests/.svn/text-base/hg01_all_ok.c.svn-base @@ -0,0 +1,32 @@ +/* All OK */ + +#include <pthread.h> + +static pthread_mutex_t mx = PTHREAD_MUTEX_INITIALIZER; + +static int shared; + +static void *th(void *v) +{ + pthread_mutex_lock(&mx); + shared++; + pthread_mutex_unlock(&mx); + + return 0; +} + +int main() +{ + pthread_t a, b; + + pthread_mutex_lock(&mx); + pthread_mutex_unlock(&mx); + + pthread_create(&a, NULL, th, NULL); + pthread_create(&b, NULL, th, NULL); + + pthread_join(a, NULL); + pthread_join(b, NULL); + + return 0; +} diff --git a/helgrind/tests/.svn/text-base/hg01_all_ok.stderr.exp.svn-base b/helgrind/tests/.svn/text-base/hg01_all_ok.stderr.exp.svn-base new file mode 100644 index 0000000..d18786f --- /dev/null +++ b/helgrind/tests/.svn/text-base/hg01_all_ok.stderr.exp.svn-base @@ -0,0 +1,3 @@ + + +ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) diff --git a/helgrind/tests/.svn/text-base/hg01_all_ok.stdout.exp.svn-base b/helgrind/tests/.svn/text-base/hg01_all_ok.stdout.exp.svn-base new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/helgrind/tests/.svn/text-base/hg01_all_ok.stdout.exp.svn-base diff --git a/helgrind/tests/.svn/text-base/hg01_all_ok.vgtest.svn-base b/helgrind/tests/.svn/text-base/hg01_all_ok.vgtest.svn-base new file mode 100644 index 0000000..9524976 --- /dev/null +++ b/helgrind/tests/.svn/text-base/hg01_all_ok.vgtest.svn-base @@ -0,0 +1 @@ +prog: hg01_all_ok diff --git a/helgrind/tests/.svn/text-base/hg02_deadlock.c.svn-base b/helgrind/tests/.svn/text-base/hg02_deadlock.c.svn-base new file mode 100644 index 0000000..1142f5c --- /dev/null +++ b/helgrind/tests/.svn/text-base/hg02_deadlock.c.svn-base @@ -0,0 +1,43 @@ +/* Simple possible deadlock */ +#include <pthread.h> + +static pthread_mutex_t m1 = PTHREAD_MUTEX_INITIALIZER; +static pthread_mutex_t m2 = PTHREAD_MUTEX_INITIALIZER; + +static void *t1(void *v) +{ + pthread_mutex_lock(&m1); + pthread_mutex_lock(&m2); + pthread_mutex_unlock(&m1); + pthread_mutex_unlock(&m2); + + return 0; +} + +static void *t2(void *v) +{ + pthread_mutex_lock(&m2); + pthread_mutex_lock(&m1); + pthread_mutex_unlock(&m1); + pthread_mutex_unlock(&m2); + + return 0; +} + +int main() +{ + pthread_t a, b; + + /* prevent spurious messages from the dynamic linker */ + pthread_mutex_lock(&m1); + pthread_mutex_unlock(&m1); + + pthread_create(&a, NULL, t1, NULL); + pthread_create(&b, NULL, t2, NULL); + + pthread_join(a, NULL); + pthread_join(b, NULL); + + return 0; +} + diff --git a/helgrind/tests/.svn/text-base/hg02_deadlock.stderr.exp.svn-base b/helgrind/tests/.svn/text-base/hg02_deadlock.stderr.exp.svn-base new file mode 100644 index 0000000..cec8d41 --- /dev/null +++ b/helgrind/tests/.svn/text-base/hg02_deadlock.stderr.exp.svn-base @@ -0,0 +1,23 @@ + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (hg02_deadlock.c:36) + +Thread #x: lock order "0x........ before 0x........" violated + at 0x........: pthread_mutex_lock (hg_intercepts.c:...) + by 0x........: t2 (hg02_deadlock.c:20) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + Required order was established by acquisition of lock at 0x........ + at 0x........: pthread_mutex_lock (hg_intercepts.c:...) + by 0x........: t1 (hg02_deadlock.c:9) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + followed by a later acquisition of lock at 0x........ + at 0x........: pthread_mutex_lock (hg_intercepts.c:...) + by 0x........: t1 (hg02_deadlock.c:10) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0) diff --git a/helgrind/tests/.svn/text-base/hg02_deadlock.stdout.exp.svn-base b/helgrind/tests/.svn/text-base/hg02_deadlock.stdout.exp.svn-base new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/helgrind/tests/.svn/text-base/hg02_deadlock.stdout.exp.svn-base diff --git a/helgrind/tests/.svn/text-base/hg02_deadlock.vgtest.svn-base b/helgrind/tests/.svn/text-base/hg02_deadlock.vgtest.svn-base new file mode 100644 index 0000000..ff0deb7 --- /dev/null +++ b/helgrind/tests/.svn/text-base/hg02_deadlock.vgtest.svn-base @@ -0,0 +1 @@ +prog: hg02_deadlock diff --git a/helgrind/tests/.svn/text-base/hg03_inherit.c.svn-base b/helgrind/tests/.svn/text-base/hg03_inherit.c.svn-base new file mode 100644 index 0000000..7c429f8 --- /dev/null +++ b/helgrind/tests/.svn/text-base/hg03_inherit.c.svn-base @@ -0,0 +1,67 @@ + +/* I don't think this is a very good test .. all this + sleepery is highly confusing. */ + +/* test child thread inheriting data */ + +#include <stdio.h> +#include <pthread.h> +#include <unistd.h> + +static volatile int shared[2]; + +static void *t1(void *v) +{ + volatile int *ip = (int *)v; + if (0) printf("ta W\n"); + *ip += 44; + *ip *= 2; + sleep(1); + return 0; +} + +static void *t2(void *v) +{ + volatile int *ip = (int *)v; + sleep(2); + if (0) printf("tb W\n"); + *ip += 88; + *ip *= 3; + sleep(1); + return 0; +} + +int main(void) +{ + pthread_t a, b; + volatile int ret = 0; + + sleep(0); + + shared[0] = 22; + shared[1] = 77; + + pthread_create(&a, NULL, t1, (void *)&shared[0]); + // a steals shared[0] from root thread, so is excl(a) + pthread_create(&b, NULL, t2, (void *)&shared[1]); + // b steals shared[1] from root thread, so is excl(b) + + pthread_join(a, NULL); + // b's stuff (shared[1]) still belongs to b, so is excl(b) + + // ret is excl(root), and shared[0] is re-acquired as excl(root) + // since a joined to root + if (0) printf("r R1\n"); + ret += shared[0]; /* no error - a is finished */ + + // but shared[1] is excl(b); hence we're reading excl(b) + // without a lock and without a dependency edge + if (0) printf("r R2\n"); + ret += shared[1]; /* expect error - b has not finished, + so we can't touch shared[1] yet */ + + pthread_join(b, NULL); + + + return ret; +} diff --git a/helgrind/tests/.svn/text-base/hg03_inherit.stderr.exp.svn-base b/helgrind/tests/.svn/text-base/hg03_inherit.stderr.exp.svn-base new file mode 100644 index 0000000..feed364 --- /dev/null +++ b/helgrind/tests/.svn/text-base/hg03_inherit.stderr.exp.svn-base @@ -0,0 +1,27 @@ + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (hg03_inherit.c:46) + +Thread #x is the program's root thread + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: t2 (hg03_inherit.c:28) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous read of size 4 by thread #x + at 0x........: main (hg03_inherit.c:60) + Location 0x........ is 0 bytes inside shared[1], + declared at hg03_inherit.c:11, in frame #x of thread x + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: t2 (hg03_inherit.c:29) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous read of size 4 by thread #x + at 0x........: main (hg03_inherit.c:60) + Location 0x........ is 0 bytes inside shared[1], + declared at hg03_inherit.c:11, in frame #x of thread x + +ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 0 from 0) diff --git a/helgrind/tests/.svn/text-base/hg03_inherit.stdout.exp.svn-base b/helgrind/tests/.svn/text-base/hg03_inherit.stdout.exp.svn-base new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/helgrind/tests/.svn/text-base/hg03_inherit.stdout.exp.svn-base diff --git a/helgrind/tests/.svn/text-base/hg03_inherit.vgtest.svn-base b/helgrind/tests/.svn/text-base/hg03_inherit.vgtest.svn-base new file mode 100644 index 0000000..548a489 --- /dev/null +++ b/helgrind/tests/.svn/text-base/hg03_inherit.vgtest.svn-base @@ -0,0 +1,2 @@ +prog: hg03_inherit +vgopts: --read-var-info=yes diff --git a/helgrind/tests/.svn/text-base/hg04_race.c.svn-base b/helgrind/tests/.svn/text-base/hg04_race.c.svn-base new file mode 100644 index 0000000..111195b --- /dev/null +++ b/helgrind/tests/.svn/text-base/hg04_race.c.svn-base @@ -0,0 +1,27 @@ +/* A simple race */ + +#include <pthread.h> +#include <unistd.h> + +static int shared; + +static void *th(void *v) +{ + shared++; + + return 0; +} + +int main() +{ + pthread_t a, b; + + pthread_create(&a, NULL, th, NULL); + sleep(1); /* force ordering */ + pthread_create(&b, NULL, th, NULL); + + pthread_join(a, NULL); + pthread_join(b, NULL); + + return 0; +} diff --git a/helgrind/tests/.svn/text-base/hg04_race.stderr.exp.svn-base b/helgrind/tests/.svn/text-base/hg04_race.stderr.exp.svn-base new file mode 100644 index 0000000..9996006 --- /dev/null +++ b/helgrind/tests/.svn/text-base/hg04_race.stderr.exp.svn-base @@ -0,0 +1,34 @@ + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (hg04_race.c:21) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (hg04_race.c:19) + +Possible data race during read of size 4 at 0x........ by thread #x + at 0x........: th (hg04_race.c:10) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: th (hg04_race.c:10) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + Location 0x........ is 0 bytes inside local var "shared" + declared at hg04_race.c:6, in frame #x of thread x + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: th (hg04_race.c:10) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: th (hg04_race.c:10) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + Location 0x........ is 0 bytes inside local var "shared" + declared at hg04_race.c:6, in frame #x of thread x + +ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 0 from 0) diff --git a/helgrind/tests/.svn/text-base/hg04_race.stdout.exp.svn-base b/helgrind/tests/.svn/text-base/hg04_race.stdout.exp.svn-base new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/helgrind/tests/.svn/text-base/hg04_race.stdout.exp.svn-base diff --git a/helgrind/tests/.svn/text-base/hg04_race.vgtest.svn-base b/helgrind/tests/.svn/text-base/hg04_race.vgtest.svn-base new file mode 100644 index 0000000..42ee396 --- /dev/null +++ b/helgrind/tests/.svn/text-base/hg04_race.vgtest.svn-base @@ -0,0 +1,2 @@ +prog: hg04_race +vgopts: --read-var-info=yes diff --git a/helgrind/tests/.svn/text-base/hg05_race2.c.svn-base b/helgrind/tests/.svn/text-base/hg05_race2.c.svn-base new file mode 100644 index 0000000..de01f2c --- /dev/null +++ b/helgrind/tests/.svn/text-base/hg05_race2.c.svn-base @@ -0,0 +1,35 @@ +/* A simple race - test symaddr */ + +#include <pthread.h> +#include <unistd.h> + +struct foo { + struct bar { + int plop[22]; + char biff; + } poot[11]; +}; + +static void *th(void *v) +{ + struct foo *f = (struct foo *)v; + + f->poot[5].plop[11]++; + + return 0; +} + +int main() +{ + struct foo foo; + pthread_t a, b; + + pthread_create(&a, NULL, th, &foo); + sleep(1); /* force ordering */ + pthread_create(&b, NULL, th, &foo); + + pthread_join(a, NULL); + pthread_join(b, NULL); + + return 0; +} diff --git a/helgrind/tests/.svn/text-base/hg05_race2.stderr.exp.svn-base b/helgrind/tests/.svn/text-base/hg05_race2.stderr.exp.svn-base new file mode 100644 index 0000000..067a194 --- /dev/null +++ b/helgrind/tests/.svn/text-base/hg05_race2.stderr.exp.svn-base @@ -0,0 +1,34 @@ + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (hg05_race2.c:29) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (hg05_race2.c:27) + +Possible data race during read of size 4 at 0x........ by thread #x + at 0x........: th (hg05_race2.c:17) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: th (hg05_race2.c:17) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + Location 0x........ is 0 bytes inside foo.poot[5].plop[11], + declared at hg05_race2.c:24, in frame #x of thread x + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: th (hg05_race2.c:17) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: th (hg05_race2.c:17) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + Location 0x........ is 0 bytes inside foo.poot[5].plop[11], + declared at hg05_race2.c:24, in frame #x of thread x + +ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 0 from 0) diff --git a/helgrind/tests/.svn/text-base/hg05_race2.stdout.exp.svn-base b/helgrind/tests/.svn/text-base/hg05_race2.stdout.exp.svn-base new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/helgrind/tests/.svn/text-base/hg05_race2.stdout.exp.svn-base diff --git a/helgrind/tests/.svn/text-base/hg05_race2.vgtest.svn-base b/helgrind/tests/.svn/text-base/hg05_race2.vgtest.svn-base new file mode 100644 index 0000000..250a6eb --- /dev/null +++ b/helgrind/tests/.svn/text-base/hg05_race2.vgtest.svn-base @@ -0,0 +1,2 @@ +prog: hg05_race2 +vgopts: --read-var-info=yes diff --git a/helgrind/tests/.svn/text-base/hg06_readshared.c.svn-base b/helgrind/tests/.svn/text-base/hg06_readshared.c.svn-base new file mode 100644 index 0000000..3904b44 --- /dev/null +++ b/helgrind/tests/.svn/text-base/hg06_readshared.c.svn-base @@ -0,0 +1,33 @@ +/* All OK - test allowed read sharing */ + +#include <pthread.h> +#include <assert.h> + +static int shared; + +static void *t1(void *v) +{ + return (void *)(long)(shared + 44); +} + +static void *t2(void *v) +{ + return (void *)(long)(shared + 55); +} + +int main() +{ + pthread_t a, b; + + shared = 22; + + pthread_create(&a, NULL, t1, NULL); + pthread_create(&b, NULL, t2, NULL); + + pthread_join(a, NULL); + pthread_join(b, NULL); + + assert(shared == 22); + + return 0; +} diff --git a/helgrind/tests/.svn/text-base/hg06_readshared.stderr.exp.svn-base b/helgrind/tests/.svn/text-base/hg06_readshared.stderr.exp.svn-base new file mode 100644 index 0000000..d18786f --- /dev/null +++ b/helgrind/tests/.svn/text-base/hg06_readshared.stderr.exp.svn-base @@ -0,0 +1,3 @@ + + +ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) diff --git a/helgrind/tests/.svn/text-base/hg06_readshared.stdout.exp.svn-base b/helgrind/tests/.svn/text-base/hg06_readshared.stdout.exp.svn-base new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/helgrind/tests/.svn/text-base/hg06_readshared.stdout.exp.svn-base diff --git a/helgrind/tests/.svn/text-base/hg06_readshared.vgtest.svn-base b/helgrind/tests/.svn/text-base/hg06_readshared.vgtest.svn-base new file mode 100644 index 0000000..c5accee --- /dev/null +++ b/helgrind/tests/.svn/text-base/hg06_readshared.vgtest.svn-base @@ -0,0 +1 @@ +prog: hg06_readshared diff --git a/helgrind/tests/.svn/text-base/pth_barrier1.stderr.exp.svn-base b/helgrind/tests/.svn/text-base/pth_barrier1.stderr.exp.svn-base new file mode 100644 index 0000000..6df3a23 --- /dev/null +++ b/helgrind/tests/.svn/text-base/pth_barrier1.stderr.exp.svn-base @@ -0,0 +1,20 @@ +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: barriers_and_races (pth_barrier.c:84) + by 0x........: main (pth_barrier.c:107) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: barriers_and_races (pth_barrier.c:84) + by 0x........: main (pth_barrier.c:107) + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: threadfunc (pth_barrier.c:57) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: threadfunc (pth_barrier.c:57) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... diff --git a/helgrind/tests/.svn/text-base/pth_barrier1.stdout.exp.svn-base b/helgrind/tests/.svn/text-base/pth_barrier1.stdout.exp.svn-base new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/helgrind/tests/.svn/text-base/pth_barrier1.stdout.exp.svn-base diff --git a/helgrind/tests/.svn/text-base/pth_barrier1.vgtest.svn-base b/helgrind/tests/.svn/text-base/pth_barrier1.vgtest.svn-base new file mode 100644 index 0000000..7b0d62f --- /dev/null +++ b/helgrind/tests/.svn/text-base/pth_barrier1.vgtest.svn-base @@ -0,0 +1,4 @@ +prereq: test -e bar_trivial +prog: ../../drd/tests/pth_barrier +args: 2 1 1 +vgopts: -q diff --git a/helgrind/tests/.svn/text-base/pth_barrier2.stderr.exp.svn-base b/helgrind/tests/.svn/text-base/pth_barrier2.stderr.exp.svn-base new file mode 100644 index 0000000..84a2a0a --- /dev/null +++ b/helgrind/tests/.svn/text-base/pth_barrier2.stderr.exp.svn-base @@ -0,0 +1,299 @@ +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: barriers_and_races (pth_barrier.c:84) + by 0x........: main (pth_barrier.c:107) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: barriers_and_races (pth_barrier.c:84) + by 0x........: main (pth_barrier.c:107) + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: threadfunc (pth_barrier.c:57) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: threadfunc (pth_barrier.c:57) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: threadfunc (pth_barrier.c:57) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: threadfunc (pth_barrier.c:57) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: threadfunc (pth_barrier.c:57) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: threadfunc (pth_barrier.c:57) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: threadfunc (pth_barrier.c:57) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: threadfunc (pth_barrier.c:57) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: threadfunc (pth_barrier.c:57) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: threadfunc (pth_barrier.c:57) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: threadfunc (pth_barrier.c:57) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: threadfunc (pth_barrier.c:57) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: threadfunc (pth_barrier.c:57) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: threadfunc (pth_barrier.c:57) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: threadfunc (pth_barrier.c:57) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: threadfunc (pth_barrier.c:57) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: threadfunc (pth_barrier.c:57) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: threadfunc (pth_barrier.c:57) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: threadfunc (pth_barrier.c:57) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: threadfunc (pth_barrier.c:57) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: threadfunc (pth_barrier.c:57) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: threadfunc (pth_barrier.c:57) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: threadfunc (pth_barrier.c:57) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: threadfunc (pth_barrier.c:57) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: threadfunc (pth_barrier.c:57) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: threadfunc (pth_barrier.c:57) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: threadfunc (pth_barrier.c:57) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: threadfunc (pth_barrier.c:57) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: threadfunc (pth_barrier.c:57) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: threadfunc (pth_barrier.c:57) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: threadfunc (pth_barrier.c:57) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: threadfunc (pth_barrier.c:57) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: threadfunc (pth_barrier.c:57) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: threadfunc (pth_barrier.c:57) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: threadfunc (pth_barrier.c:57) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: threadfunc (pth_barrier.c:57) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: threadfunc (pth_barrier.c:57) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: threadfunc (pth_barrier.c:57) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: threadfunc (pth_barrier.c:57) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: threadfunc (pth_barrier.c:57) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: threadfunc (pth_barrier.c:57) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: threadfunc (pth_barrier.c:57) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: threadfunc (pth_barrier.c:57) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: threadfunc (pth_barrier.c:57) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: threadfunc (pth_barrier.c:57) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: threadfunc (pth_barrier.c:57) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: threadfunc (pth_barrier.c:57) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: threadfunc (pth_barrier.c:57) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: threadfunc (pth_barrier.c:57) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: threadfunc (pth_barrier.c:57) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: threadfunc (pth_barrier.c:57) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: threadfunc (pth_barrier.c:57) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: threadfunc (pth_barrier.c:57) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: threadfunc (pth_barrier.c:57) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: threadfunc (pth_barrier.c:57) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: threadfunc (pth_barrier.c:57) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: threadfunc (pth_barrier.c:57) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: threadfunc (pth_barrier.c:57) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: threadfunc (pth_barrier.c:57) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: threadfunc (pth_barrier.c:57) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: threadfunc (pth_barrier.c:57) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: threadfunc (pth_barrier.c:57) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: threadfunc (pth_barrier.c:57) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: threadfunc (pth_barrier.c:57) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... diff --git a/helgrind/tests/.svn/text-base/pth_barrier2.stdout.exp.svn-base b/helgrind/tests/.svn/text-base/pth_barrier2.stdout.exp.svn-base new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/helgrind/tests/.svn/text-base/pth_barrier2.stdout.exp.svn-base diff --git a/helgrind/tests/.svn/text-base/pth_barrier2.vgtest.svn-base b/helgrind/tests/.svn/text-base/pth_barrier2.vgtest.svn-base new file mode 100644 index 0000000..13036b3 --- /dev/null +++ b/helgrind/tests/.svn/text-base/pth_barrier2.vgtest.svn-base @@ -0,0 +1,4 @@ +prereq: test -e bar_trivial +prog: ../../drd/tests/pth_barrier +args: 2 32 1 +vgopts: -q --cmp-race-err-addrs=yes diff --git a/helgrind/tests/.svn/text-base/pth_barrier3.stderr.exp.svn-base b/helgrind/tests/.svn/text-base/pth_barrier3.stderr.exp.svn-base new file mode 100644 index 0000000..6df3a23 --- /dev/null +++ b/helgrind/tests/.svn/text-base/pth_barrier3.stderr.exp.svn-base @@ -0,0 +1,20 @@ +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: barriers_and_races (pth_barrier.c:84) + by 0x........: main (pth_barrier.c:107) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: barriers_and_races (pth_barrier.c:84) + by 0x........: main (pth_barrier.c:107) + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: threadfunc (pth_barrier.c:57) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: threadfunc (pth_barrier.c:57) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... diff --git a/helgrind/tests/.svn/text-base/pth_barrier3.stdout.exp.svn-base b/helgrind/tests/.svn/text-base/pth_barrier3.stdout.exp.svn-base new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/helgrind/tests/.svn/text-base/pth_barrier3.stdout.exp.svn-base diff --git a/helgrind/tests/.svn/text-base/pth_barrier3.vgtest.svn-base b/helgrind/tests/.svn/text-base/pth_barrier3.vgtest.svn-base new file mode 100644 index 0000000..06ab6c3 --- /dev/null +++ b/helgrind/tests/.svn/text-base/pth_barrier3.vgtest.svn-base @@ -0,0 +1,4 @@ +prereq: test -e bar_trivial +prog: ../../drd/tests/pth_barrier +args: 32 1 1 +vgopts: -q diff --git a/helgrind/tests/.svn/text-base/rwlock_race.stderr.exp.svn-base b/helgrind/tests/.svn/text-base/rwlock_race.stderr.exp.svn-base new file mode 100644 index 0000000..e62847e --- /dev/null +++ b/helgrind/tests/.svn/text-base/rwlock_race.stderr.exp.svn-base @@ -0,0 +1,24 @@ + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (rwlock_race.c:48) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (rwlock_race.c:47) + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: thread_func (rwlock_race.c:29) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: thread_func (rwlock_race.c:29) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + Location 0x........ is 0 bytes inside local var "s_racy" + declared at rwlock_race.c:18, in frame #x of thread x +Result: 2 + +ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0) diff --git a/helgrind/tests/.svn/text-base/rwlock_race.stdout.exp.svn-base b/helgrind/tests/.svn/text-base/rwlock_race.stdout.exp.svn-base new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/helgrind/tests/.svn/text-base/rwlock_race.stdout.exp.svn-base diff --git a/helgrind/tests/.svn/text-base/rwlock_race.vgtest.svn-base b/helgrind/tests/.svn/text-base/rwlock_race.vgtest.svn-base new file mode 100644 index 0000000..00b462f --- /dev/null +++ b/helgrind/tests/.svn/text-base/rwlock_race.vgtest.svn-base @@ -0,0 +1,2 @@ +prog: ../../drd/tests/rwlock_race +vgopts: --read-var-info=yes diff --git a/helgrind/tests/.svn/text-base/rwlock_test.stderr.exp.svn-base b/helgrind/tests/.svn/text-base/rwlock_test.stderr.exp.svn-base new file mode 100644 index 0000000..a7089bb --- /dev/null +++ b/helgrind/tests/.svn/text-base/rwlock_test.stderr.exp.svn-base @@ -0,0 +1,4 @@ + +Finished. + +ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) diff --git a/helgrind/tests/.svn/text-base/rwlock_test.stdout.exp.svn-base b/helgrind/tests/.svn/text-base/rwlock_test.stdout.exp.svn-base new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/helgrind/tests/.svn/text-base/rwlock_test.stdout.exp.svn-base diff --git a/helgrind/tests/.svn/text-base/rwlock_test.vgtest.svn-base b/helgrind/tests/.svn/text-base/rwlock_test.vgtest.svn-base new file mode 100644 index 0000000..4257fc9 --- /dev/null +++ b/helgrind/tests/.svn/text-base/rwlock_test.vgtest.svn-base @@ -0,0 +1 @@ +prog: ../../drd/tests/rwlock_test diff --git a/helgrind/tests/.svn/text-base/tc01_simple_race.c.svn-base b/helgrind/tests/.svn/text-base/tc01_simple_race.c.svn-base new file mode 100644 index 0000000..abf37b5 --- /dev/null +++ b/helgrind/tests/.svn/text-base/tc01_simple_race.c.svn-base @@ -0,0 +1,36 @@ + +#include <pthread.h> +#include <stdio.h> +#include <stdlib.h> + +/* Simple test program, has a race. Parent and child both modify x + with no locking. */ + +int x = 0; + +void* child_fn ( void* arg ) +{ + /* Unprotected relative to parent */ + x++; + return NULL; +} + +int main ( void ) +{ + pthread_t child; + + if (pthread_create(&child, NULL, child_fn, NULL)) { + perror("pthread_create"); + exit(1); + } + + /* Unprotected relative to child */ + x++; + + if (pthread_join(child, NULL)) { + perror("pthread join"); + exit(1); + } + + return 0; +} diff --git a/helgrind/tests/.svn/text-base/tc01_simple_race.stderr.exp.svn-base b/helgrind/tests/.svn/text-base/tc01_simple_race.stderr.exp.svn-base new file mode 100644 index 0000000..1fc04fe --- /dev/null +++ b/helgrind/tests/.svn/text-base/tc01_simple_race.stderr.exp.svn-base @@ -0,0 +1,27 @@ + +Thread #x is the program's root thread + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc01_simple_race.c:22) + +Possible data race during read of size 4 at 0x........ by thread #x + at 0x........: main (tc01_simple_race.c:28) + This conflicts with a previous write of size 4 by thread #x + at 0x........: child_fn (tc01_simple_race.c:14) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + Location 0x........ is 0 bytes inside global var "x" + declared at tc01_simple_race.c:9 + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: main (tc01_simple_race.c:28) + This conflicts with a previous write of size 4 by thread #x + at 0x........: child_fn (tc01_simple_race.c:14) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + Location 0x........ is 0 bytes inside global var "x" + declared at tc01_simple_race.c:9 + +ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 0 from 0) diff --git a/helgrind/tests/.svn/text-base/tc01_simple_race.stdout.exp.svn-base b/helgrind/tests/.svn/text-base/tc01_simple_race.stdout.exp.svn-base new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/helgrind/tests/.svn/text-base/tc01_simple_race.stdout.exp.svn-base diff --git a/helgrind/tests/.svn/text-base/tc01_simple_race.vgtest.svn-base b/helgrind/tests/.svn/text-base/tc01_simple_race.vgtest.svn-base new file mode 100644 index 0000000..be686ab --- /dev/null +++ b/helgrind/tests/.svn/text-base/tc01_simple_race.vgtest.svn-base @@ -0,0 +1,2 @@ +prog: tc01_simple_race +vgopts: --read-var-info=yes diff --git a/helgrind/tests/.svn/text-base/tc02_simple_tls.c.svn-base b/helgrind/tests/.svn/text-base/tc02_simple_tls.c.svn-base new file mode 100644 index 0000000..a23b14c --- /dev/null +++ b/helgrind/tests/.svn/text-base/tc02_simple_tls.c.svn-base @@ -0,0 +1,39 @@ + +#include <pthread.h> +#include <stdio.h> +#include <stdlib.h> + +/* Simple test program, no race: parent only modified x after child + has modified it and then joined with the parent. Tests simple + thread lifetime segment handling. */ + +int x = 0; + +void* child_fn ( void* arg ) +{ + /* Unprotected relative to parent, but in child's segment only */ + x++; + return NULL; +} + +int main ( void ) +{ + pthread_t child; + + x++; /* happens in parent's segment */ + + if (pthread_create(&child, NULL, child_fn, NULL)) { + perror("pthread_create"); + exit(1); + } + + if (pthread_join(child, NULL)) { + perror("pthread join"); + exit(1); + } + + /* Now back in parent's segment */ + x++; + + return 0; +} diff --git a/helgrind/tests/.svn/text-base/tc02_simple_tls.stderr.exp.svn-base b/helgrind/tests/.svn/text-base/tc02_simple_tls.stderr.exp.svn-base new file mode 100644 index 0000000..d18786f --- /dev/null +++ b/helgrind/tests/.svn/text-base/tc02_simple_tls.stderr.exp.svn-base @@ -0,0 +1,3 @@ + + +ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) diff --git a/helgrind/tests/.svn/text-base/tc02_simple_tls.stdout.exp.svn-base b/helgrind/tests/.svn/text-base/tc02_simple_tls.stdout.exp.svn-base new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/helgrind/tests/.svn/text-base/tc02_simple_tls.stdout.exp.svn-base diff --git a/helgrind/tests/.svn/text-base/tc02_simple_tls.vgtest.svn-base b/helgrind/tests/.svn/text-base/tc02_simple_tls.vgtest.svn-base new file mode 100644 index 0000000..57db35c --- /dev/null +++ b/helgrind/tests/.svn/text-base/tc02_simple_tls.vgtest.svn-base @@ -0,0 +1 @@ +prog: tc02_simple_tls diff --git a/helgrind/tests/.svn/text-base/tc03_re_excl.c.svn-base b/helgrind/tests/.svn/text-base/tc03_re_excl.c.svn-base new file mode 100644 index 0000000..4f3ce51 --- /dev/null +++ b/helgrind/tests/.svn/text-base/tc03_re_excl.c.svn-base @@ -0,0 +1,44 @@ + +#include <pthread.h> +#include <stdio.h> +#include <stdlib.h> + +/* Simple test program, no race: parent only modifies x after child + has modified it and then joined with the parent. Tests simple + thread lifetime segment handling. */ + +/* A simple function to "use" a value, so that gcc can't + possibly optimise it into nothing. */ +static void use ( int x ) { + __asm__ __volatile__( "nop" : : "r"(x) : "cc","memory" ); +} + +static void* worker_thread ( void* argV ) +{ + int* arg = (int*)argV; + use(arg[5]); /* read access */ + return NULL; +} + +int main ( void ) +{ + pthread_t thread_id; + volatile int* x = malloc(10 * sizeof(int)); + x[5] = 1; + /* x[5] is Excl(parent) */ + + pthread_create(&thread_id, 0, worker_thread, (void*)x); + + use(x[5]); /* read access */ + + /* Just before the threads join, x[5] is ShR (read by both parent + and child) */ + pthread_join(thread_id, 0); + /* x[5] is Excl(parent), because only parent and child accessed it + and child has merged to parent. So now it's ok for parent to + access it without locking. */ + + x[5] = 0; /* write access */ + + return x[5]; +} diff --git a/helgrind/tests/.svn/text-base/tc03_re_excl.stderr.exp.svn-base b/helgrind/tests/.svn/text-base/tc03_re_excl.stderr.exp.svn-base new file mode 100644 index 0000000..d18786f --- /dev/null +++ b/helgrind/tests/.svn/text-base/tc03_re_excl.stderr.exp.svn-base @@ -0,0 +1,3 @@ + + +ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) diff --git a/helgrind/tests/.svn/text-base/tc03_re_excl.stdout.exp.svn-base b/helgrind/tests/.svn/text-base/tc03_re_excl.stdout.exp.svn-base new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/helgrind/tests/.svn/text-base/tc03_re_excl.stdout.exp.svn-base diff --git a/helgrind/tests/.svn/text-base/tc03_re_excl.vgtest.svn-base b/helgrind/tests/.svn/text-base/tc03_re_excl.vgtest.svn-base new file mode 100644 index 0000000..e12924a --- /dev/null +++ b/helgrind/tests/.svn/text-base/tc03_re_excl.vgtest.svn-base @@ -0,0 +1 @@ +prog: tc03_re_excl diff --git a/helgrind/tests/.svn/text-base/tc04_free_lock.c.svn-base b/helgrind/tests/.svn/text-base/tc04_free_lock.c.svn-base new file mode 100644 index 0000000..c1ffa25 --- /dev/null +++ b/helgrind/tests/.svn/text-base/tc04_free_lock.c.svn-base @@ -0,0 +1,50 @@ + +#include <pthread.h> +#include <stdio.h> +#include <stdlib.h> +#include <assert.h> + +/* Delete memory that has a held lock and see what happens. */ + +typedef struct { int stuff[2000]; + pthread_mutex_t lock; int morestuff[2000]; } XX; + +void bar ( void ); +void foo ( void ); + +int main ( void ) +{ + XX* xx = malloc(sizeof(XX)); + assert(xx); + + pthread_mutex_init( &xx->lock, NULL ); + + pthread_mutex_lock( &xx->lock ); + + free(xx); + + bar(); + foo(); + bar(); + + return 0; +} + +/* Try the same, on the stack */ +void bar ( void ) +{ + pthread_mutex_t mx = PTHREAD_MUTEX_INITIALIZER; + // pthread_mutex_init( &mx, NULL ); + pthread_mutex_lock( &mx ); + /* now just abandon mx */ +} + +/* and again ... */ +void foo ( void ) +{ + pthread_mutex_t mx; + pthread_mutex_init( &mx, NULL ); + pthread_mutex_lock( &mx ); + /* now just abandon mx */ +} + diff --git a/helgrind/tests/.svn/text-base/tc04_free_lock.stderr.exp.svn-base b/helgrind/tests/.svn/text-base/tc04_free_lock.stderr.exp.svn-base new file mode 100644 index 0000000..11a0329 --- /dev/null +++ b/helgrind/tests/.svn/text-base/tc04_free_lock.stderr.exp.svn-base @@ -0,0 +1,7 @@ + +Thread #x is the program's root thread + +Thread #x: Exiting thread still holds 2 locks + ... + +ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0) diff --git a/helgrind/tests/.svn/text-base/tc04_free_lock.stdout.exp.svn-base b/helgrind/tests/.svn/text-base/tc04_free_lock.stdout.exp.svn-base new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/helgrind/tests/.svn/text-base/tc04_free_lock.stdout.exp.svn-base diff --git a/helgrind/tests/.svn/text-base/tc04_free_lock.vgtest.svn-base b/helgrind/tests/.svn/text-base/tc04_free_lock.vgtest.svn-base new file mode 100644 index 0000000..27d28bf --- /dev/null +++ b/helgrind/tests/.svn/text-base/tc04_free_lock.vgtest.svn-base @@ -0,0 +1 @@ +prog: tc04_free_lock diff --git a/helgrind/tests/.svn/text-base/tc05_simple_race.c.svn-base b/helgrind/tests/.svn/text-base/tc05_simple_race.c.svn-base new file mode 100644 index 0000000..287c12c --- /dev/null +++ b/helgrind/tests/.svn/text-base/tc05_simple_race.c.svn-base @@ -0,0 +1,44 @@ + +#include <pthread.h> +#include <stdio.h> +#include <stdlib.h> + +/* Simple test program, has a race. Parent and child both modify y + with no locking. This is the program shown in Fig 2 of the + original Eraser paper by Savage et al. */ + +int y = 0, v = 0; +pthread_mutex_t mu = PTHREAD_MUTEX_INITIALIZER; + +void* child_fn ( void* arg ) +{ + /* "Thread 2" in the paper */ + pthread_mutex_lock( &mu ); + v = v + 1; + pthread_mutex_unlock( &mu ); + y = y + 1; + return NULL; +} + +int main ( void ) +{ + pthread_t child; + + if (pthread_create(&child, NULL, child_fn, NULL)) { + perror("pthread_create"); + exit(1); + } + + /* "Thread 1" in the paper */ + y = y + 1; + pthread_mutex_lock( &mu ); + v = v + 1; + pthread_mutex_unlock( &mu ); + + if (pthread_join(child, NULL)) { + perror("pthread join"); + exit(1); + } + + return 0; +} diff --git a/helgrind/tests/.svn/text-base/tc05_simple_race.stderr.exp.svn-base b/helgrind/tests/.svn/text-base/tc05_simple_race.stderr.exp.svn-base new file mode 100644 index 0000000..f90f6b2 --- /dev/null +++ b/helgrind/tests/.svn/text-base/tc05_simple_race.stderr.exp.svn-base @@ -0,0 +1,27 @@ + +Thread #x is the program's root thread + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc05_simple_race.c:27) + +Possible data race during read of size 4 at 0x........ by thread #x + at 0x........: main (tc05_simple_race.c:33) + This conflicts with a previous write of size 4 by thread #x + at 0x........: child_fn (tc05_simple_race.c:19) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + Location 0x........ is 0 bytes inside global var "y" + declared at tc05_simple_race.c:10 + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: main (tc05_simple_race.c:33) + This conflicts with a previous write of size 4 by thread #x + at 0x........: child_fn (tc05_simple_race.c:19) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + Location 0x........ is 0 bytes inside global var "y" + declared at tc05_simple_race.c:10 + +ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 0 from 0) diff --git a/helgrind/tests/.svn/text-base/tc05_simple_race.stdout.exp.svn-base b/helgrind/tests/.svn/text-base/tc05_simple_race.stdout.exp.svn-base new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/helgrind/tests/.svn/text-base/tc05_simple_race.stdout.exp.svn-base diff --git a/helgrind/tests/.svn/text-base/tc05_simple_race.vgtest.svn-base b/helgrind/tests/.svn/text-base/tc05_simple_race.vgtest.svn-base new file mode 100644 index 0000000..0d6800a --- /dev/null +++ b/helgrind/tests/.svn/text-base/tc05_simple_race.vgtest.svn-base @@ -0,0 +1,2 @@ +prog: tc05_simple_race +vgopts: --read-var-info=yes diff --git a/helgrind/tests/.svn/text-base/tc06_two_races.c.svn-base b/helgrind/tests/.svn/text-base/tc06_two_races.c.svn-base new file mode 100644 index 0000000..4eaf9dd --- /dev/null +++ b/helgrind/tests/.svn/text-base/tc06_two_races.c.svn-base @@ -0,0 +1,43 @@ + +#include <pthread.h> +#include <stdio.h> +#include <stdlib.h> + +/* Simple test program, has two races. A happens-before detector can only + ever detect one of them, though. XXX: apparently not so; Drd and H 3.4 detect both. */ + +int unprot1 = 0, unprot2 = 0, prot = 0; +pthread_mutex_t mu = PTHREAD_MUTEX_INITIALIZER; + +void* child_fn ( void* arg ) +{ + unprot1 ++; + pthread_mutex_lock( &mu ); + prot ++; + pthread_mutex_unlock( &mu ); + unprot2 ++; + return NULL; +} + +int main ( void ) +{ + pthread_t child; + + if (pthread_create(&child, NULL, child_fn, NULL)) { + perror("pthread_create"); + exit(1); + } + + unprot1 ++; + pthread_mutex_lock( &mu ); + prot ++; + pthread_mutex_unlock( &mu ); + unprot2 ++; + + if (pthread_join(child, NULL)) { + perror("pthread join"); + exit(1); + } + + return 0; +} diff --git a/helgrind/tests/.svn/text-base/tc06_two_races.stderr.exp.svn-base b/helgrind/tests/.svn/text-base/tc06_two_races.stderr.exp.svn-base new file mode 100644 index 0000000..c49d364 --- /dev/null +++ b/helgrind/tests/.svn/text-base/tc06_two_races.stderr.exp.svn-base @@ -0,0 +1,45 @@ + +Thread #x is the program's root thread + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc06_two_races.c:26) + +Possible data race during read of size 4 at 0x........ by thread #x + at 0x........: main (tc06_two_races.c:31) + This conflicts with a previous write of size 4 by thread #x + at 0x........: child_fn (tc06_two_races.c:14) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + Location 0x........ is 0 bytes inside global var "unprot1" + declared at tc06_two_races.c:9 + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: main (tc06_two_races.c:31) + This conflicts with a previous write of size 4 by thread #x + at 0x........: child_fn (tc06_two_races.c:14) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + Location 0x........ is 0 bytes inside global var "unprot1" + declared at tc06_two_races.c:9 + +Possible data race during read of size 4 at 0x........ by thread #x + at 0x........: main (tc06_two_races.c:35) + This conflicts with a previous write of size 4 by thread #x + at 0x........: child_fn (tc06_two_races.c:18) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + Location 0x........ is 0 bytes inside global var "unprot2" + declared at tc06_two_races.c:9 + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: main (tc06_two_races.c:35) + This conflicts with a previous write of size 4 by thread #x + at 0x........: child_fn (tc06_two_races.c:18) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + Location 0x........ is 0 bytes inside global var "unprot2" + declared at tc06_two_races.c:9 + +ERROR SUMMARY: 4 errors from 4 contexts (suppressed: 0 from 0) diff --git a/helgrind/tests/.svn/text-base/tc06_two_races.stdout.exp.svn-base b/helgrind/tests/.svn/text-base/tc06_two_races.stdout.exp.svn-base new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/helgrind/tests/.svn/text-base/tc06_two_races.stdout.exp.svn-base diff --git a/helgrind/tests/.svn/text-base/tc06_two_races.vgtest.svn-base b/helgrind/tests/.svn/text-base/tc06_two_races.vgtest.svn-base new file mode 100644 index 0000000..28f9bdf --- /dev/null +++ b/helgrind/tests/.svn/text-base/tc06_two_races.vgtest.svn-base @@ -0,0 +1,2 @@ +prog: tc06_two_races +vgopts: --read-var-info=yes diff --git a/helgrind/tests/.svn/text-base/tc07_hbl1.c.svn-base b/helgrind/tests/.svn/text-base/tc07_hbl1.c.svn-base new file mode 100644 index 0000000..12253aa --- /dev/null +++ b/helgrind/tests/.svn/text-base/tc07_hbl1.c.svn-base @@ -0,0 +1,77 @@ + +#include <pthread.h> +#include <stdio.h> +#include <stdlib.h> + +/* Simple test program, no race. Parent and child both modify x and + use the hardware bus lock. */ + +#undef PLAT_x86_linux +#undef PLAT_amd64_linux +#undef PLAT_ppc32_linux +#undef PLAT_ppc64_linux +#undef PLAT_ppc32_aix5 +#undef PLAT_ppc64_aix5 + +#if !defined(_AIX) && defined(__i386__) +# define PLAT_x86_linux 1 +#elif !defined(_AIX) && defined(__x86_64__) +# define PLAT_amd64_linux 1 +#elif !defined(_AIX) && defined(__powerpc__) && !defined(__powerpc64__) +# define PLAT_ppc32_linux 1 +#elif !defined(_AIX) && defined(__powerpc__) && defined(__powerpc64__) +# define PLAT_ppc64_linux 1 +#elif defined(_AIX) && defined(__64BIT__) +# define PLAT_ppc64_aix5 1 +#elif defined(_AIX) && !defined(__64BIT__) +# define PLAT_ppc32_aix5 1 +#endif + +#if defined(PLAT_amd64_linux) || defined(PLAT_x86_linux) +# define INC(_lval,_lqual) \ + __asm__ __volatile__ ( \ + "lock ; incl (%0)" : /*out*/ : /*in*/"r"(&(_lval)) : "memory", "cc" ) +#elif defined(PLAT_ppc32_linux) || defined(PLAT_ppc64_linux) \ + || defined(PLAT_ppc32_aix5) || defined(PLAT_ppc64_aix5) +# define INC(_lval,_lqual) \ + __asm__ __volatile__( \ + "L1xyzzy1" _lqual ":\n" \ + " lwarx 15,0,%0\n" \ + " addi 15,15,1\n" \ + " stwcx. 15,0,%0\n" \ + " bne- L1xyzzy1" _lqual \ + : /*out*/ : /*in*/ "b"(&(_lval)) \ + : /*trash*/ "r15", "cr0", "memory" \ + ) +#else +# error "Fix Me for this platform" +#endif + + +int x = 0; + +void* child_fn ( void* arg ) +{ + INC(x, "childfn"); + return NULL; +} + +int main ( void ) +{ + pthread_t child; + + if (pthread_create(&child, NULL, child_fn, NULL)) { + perror("pthread_create"); + exit(1); + } + + INC(x, "main"); + + if (pthread_join(child, NULL)) { + perror("pthread join"); + exit(1); + } + + printf("x = %d\n", x); + return 0; +} diff --git a/helgrind/tests/.svn/text-base/tc07_hbl1.stderr.exp.svn-base b/helgrind/tests/.svn/text-base/tc07_hbl1.stderr.exp.svn-base new file mode 100644 index 0000000..d18786f --- /dev/null +++ b/helgrind/tests/.svn/text-base/tc07_hbl1.stderr.exp.svn-base @@ -0,0 +1,3 @@ + + +ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) diff --git a/helgrind/tests/.svn/text-base/tc07_hbl1.stdout.exp.svn-base b/helgrind/tests/.svn/text-base/tc07_hbl1.stdout.exp.svn-base new file mode 100644 index 0000000..407de30 --- /dev/null +++ b/helgrind/tests/.svn/text-base/tc07_hbl1.stdout.exp.svn-base @@ -0,0 +1 @@ +x = 2 diff --git a/helgrind/tests/.svn/text-base/tc07_hbl1.vgtest.svn-base b/helgrind/tests/.svn/text-base/tc07_hbl1.vgtest.svn-base new file mode 100644 index 0000000..71c463f --- /dev/null +++ b/helgrind/tests/.svn/text-base/tc07_hbl1.vgtest.svn-base @@ -0,0 +1 @@ +prog: tc07_hbl1 diff --git a/helgrind/tests/.svn/text-base/tc08_hbl2.c.svn-base b/helgrind/tests/.svn/text-base/tc08_hbl2.c.svn-base new file mode 100644 index 0000000..d67435a --- /dev/null +++ b/helgrind/tests/.svn/text-base/tc08_hbl2.c.svn-base @@ -0,0 +1,117 @@ + +/* FIXME: this is basically a bad test as it is scheduling- + sensitive. Sometimes the output is: + + child: new value 6 + child: new value 10 + done, x = 10 + + and sometimes + + child: new value 10 + done, x = 10 +*/ + +#include <pthread.h> +#include <stdio.h> +#include <stdlib.h> +#include <unistd.h> + +/* Simple test program, no race. Parent writes atomically to a counter + whilst child reads it. When counter reaches a prearranged value, + child joins back to parent. Parent (writer) uses hardware bus lock; + child is only reading and so does not need to use a bus lock. */ + + +#undef PLAT_x86_linux +#undef PLAT_amd64_linux +#undef PLAT_ppc32_linux +#undef PLAT_ppc64_linux +#undef PLAT_ppc32_aix5 +#undef PLAT_ppc64_aix5 + +#if !defined(_AIX) && defined(__i386__) +# define PLAT_x86_linux 1 +#elif !defined(_AIX) && defined(__x86_64__) +# define PLAT_amd64_linux 1 +#elif !defined(_AIX) && defined(__powerpc__) && !defined(__powerpc64__) +# define PLAT_ppc32_linux 1 +#elif !defined(_AIX) && defined(__powerpc__) && defined(__powerpc64__) +# define PLAT_ppc64_linux 1 +#elif defined(_AIX) && defined(__64BIT__) +# define PLAT_ppc64_aix5 1 +#elif defined(_AIX) && !defined(__64BIT__) +# define PLAT_ppc32_aix5 1 +#endif + +#if defined(PLAT_amd64_linux) || defined(PLAT_x86_linux) +# define INC(_lval,_lqual) \ + __asm__ __volatile__ ( \ + "lock ; incl (%0)" : /*out*/ : /*in*/"r"(&(_lval)) : "memory", "cc" ) +#elif defined(PLAT_ppc32_linux) || defined(PLAT_ppc64_linux) \ + || defined(PLAT_ppc32_aix5) || defined(PLAT_ppc64_aix5) +# define INC(_lval,_lqual) \ + __asm__ __volatile__( \ + "L1xyzzy1" _lqual ":\n" \ + " lwarx 15,0,%0\n" \ + " addi 15,15,1\n" \ + " stwcx. 15,0,%0\n" \ + " bne- L1xyzzy1" _lqual \ + : /*out*/ : /*in*/ "b"(&(_lval)) \ + : /*trash*/ "r15", "cr0", "memory" \ + ) +#else +# error "Fix Me for this platform" +#endif + + + +#define LIMIT 10 + +volatile int x = 0; + +void* child_fn ( void* arg ) +{ + int q = 0; + int oldx = 0; + int ctr = 0; + while (1) { + q = (x >= LIMIT); + if (x != oldx) { + oldx = x; + printf("child: new value %d\n", oldx); + fflush(stdout); + } + if (q) break; + /* Make sure the parent doesn't starve. Seems to be a problem + on very slow machines. */ + ctr++; + if (ctr == 2000000) sleep(1); + } + return NULL; +} + +int main ( void ) +{ + pthread_t child; + int i; + + if (pthread_create(&child, NULL, child_fn, NULL)) { + perror("pthread_create"); + exit(1); + } + + for (i = 0; i < LIMIT; i++) { + INC(x, "main"); + if (i == 5) sleep(1); /* make sure child doesn't starve */ + } + + if (pthread_join(child, NULL)) { + perror("pthread join"); + exit(1); + } + + printf("done, x = %d\n", x); + + return 0; +} diff --git a/helgrind/tests/.svn/text-base/tc08_hbl2.stderr.exp.svn-base b/helgrind/tests/.svn/text-base/tc08_hbl2.stderr.exp.svn-base new file mode 100644 index 0000000..d18786f --- /dev/null +++ b/helgrind/tests/.svn/text-base/tc08_hbl2.stderr.exp.svn-base @@ -0,0 +1,3 @@ + + +ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) diff --git a/helgrind/tests/.svn/text-base/tc08_hbl2.stdout.exp.svn-base b/helgrind/tests/.svn/text-base/tc08_hbl2.stdout.exp.svn-base new file mode 100644 index 0000000..ce39ad5 --- /dev/null +++ b/helgrind/tests/.svn/text-base/tc08_hbl2.stdout.exp.svn-base @@ -0,0 +1,3 @@ +child: new value 6 +child: new value 10 +done, x = 10 diff --git a/helgrind/tests/.svn/text-base/tc08_hbl2.vgtest.svn-base b/helgrind/tests/.svn/text-base/tc08_hbl2.vgtest.svn-base new file mode 100644 index 0000000..6d0a2cb --- /dev/null +++ b/helgrind/tests/.svn/text-base/tc08_hbl2.vgtest.svn-base @@ -0,0 +1 @@ +prog: tc08_hbl2 diff --git a/helgrind/tests/.svn/text-base/tc09_bad_unlock.c.svn-base b/helgrind/tests/.svn/text-base/tc09_bad_unlock.c.svn-base new file mode 100644 index 0000000..238ce9b --- /dev/null +++ b/helgrind/tests/.svn/text-base/tc09_bad_unlock.c.svn-base @@ -0,0 +1,52 @@ + +/* Check that an error is reported for various kinds of bogus + pthread_mutex_unlock calls. */ + +#include <pthread.h> +#include <stdio.h> +#include <stdlib.h> + +void* child_fn ( void* arg ) +{ + pthread_mutex_unlock( (pthread_mutex_t*)arg ); /* ERROR */ + return NULL; +} + +void nearly_main ( void ) +{ + pthread_t child; + pthread_mutex_t mx1, mx2; + int bogus[100], i; + /* fill bogus with values which will cause glibc's pth_mx_unlock to fail */ + for (i = 0; i < 100; i++) bogus[i] = 0xFFFFFFFF; + /* Unlocking a lock that is already unlocked */ + pthread_mutex_init( &mx1, NULL ); + pthread_mutex_lock( &mx1 ); + pthread_mutex_unlock( &mx1 ); + + pthread_mutex_unlock( &mx1 ); /* ERROR */ + + /* Unlocking a lock that is held by a different thread */ + + pthread_mutex_init( &mx2, NULL ); + pthread_mutex_lock( &mx2 ); + // start child and get it to unlock this lock + + pthread_create( &child, NULL, child_fn, (void*)&mx2 ); + /* child runs and attempts to unlock our lock. Error + is reported in child_fn. */ + pthread_join(child, NULL ); + + /* Unlocking a totally bogus lock. */ + pthread_mutex_unlock( (pthread_mutex_t*) &bogus[50] ); /* ERROR */ + + /* Now we get a freeing-locked-lock error, since the stack + frame is removed whilst mx2 is still locked. */ +} + +int main ( void ) +{ + nearly_main(); fprintf(stderr, "---------------------\n" ); + nearly_main(); + return 0; +} diff --git a/helgrind/tests/.svn/text-base/tc09_bad_unlock.stderr.exp-glibc23-amd64.svn-base b/helgrind/tests/.svn/text-base/tc09_bad_unlock.stderr.exp-glibc23-amd64.svn-base new file mode 100644 index 0000000..d78d98a --- /dev/null +++ b/helgrind/tests/.svn/text-base/tc09_bad_unlock.stderr.exp-glibc23-amd64.svn-base @@ -0,0 +1,80 @@ + +Thread #x is the program's root thread + +Thread #x unlocked a not-locked lock at 0x........ + at 0x........: pthread_mutex_unlock (hg_intercepts.c:...) + by 0x........: nearly_main (tc09_bad_unlock.c:27) + by 0x........: main (tc09_bad_unlock.c:49) + Lock at 0x........ was first observed + at 0x........: pthread_mutex_init (hg_intercepts.c:...) + by 0x........: nearly_main (tc09_bad_unlock.c:23) + by 0x........: main (tc09_bad_unlock.c:49) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: nearly_main (tc09_bad_unlock.c:35) + by 0x........: main (tc09_bad_unlock.c:49) + +Thread #x unlocked lock at 0x........ currently held by thread #x + at 0x........: pthread_mutex_unlock (hg_intercepts.c:...) + by 0x........: child_fn (tc09_bad_unlock.c:11) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + Lock at 0x........ was first observed + at 0x........: pthread_mutex_init (hg_intercepts.c:...) + by 0x........: nearly_main (tc09_bad_unlock.c:31) + by 0x........: main (tc09_bad_unlock.c:49) + +Thread #x unlocked an invalid lock at 0x........ + at 0x........: pthread_mutex_unlock (hg_intercepts.c:...) + by 0x........: nearly_main (tc09_bad_unlock.c:41) + by 0x........: main (tc09_bad_unlock.c:49) + +Thread #x deallocated location 0x........ containing a locked lock + at 0x........: nearly_main (tc09_bad_unlock.c:45) + by 0x........: main (tc09_bad_unlock.c:49) + Lock at 0x........ was first observed + at 0x........: pthread_mutex_init (hg_intercepts.c:...) + by 0x........: nearly_main (tc09_bad_unlock.c:31) + by 0x........: main (tc09_bad_unlock.c:49) + +Thread #x unlocked a not-locked lock at 0x........ + at 0x........: pthread_mutex_unlock (hg_intercepts.c:...) + by 0x........: nearly_main (tc09_bad_unlock.c:27) + by 0x........: main (tc09_bad_unlock.c:50) + Lock at 0x........ was first observed + at 0x........: pthread_mutex_init (hg_intercepts.c:...) + by 0x........: nearly_main (tc09_bad_unlock.c:23) + by 0x........: main (tc09_bad_unlock.c:50) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: nearly_main (tc09_bad_unlock.c:35) + by 0x........: main (tc09_bad_unlock.c:50) + +Thread #x unlocked lock at 0x........ currently held by thread #x + at 0x........: pthread_mutex_unlock (hg_intercepts.c:...) + by 0x........: child_fn (tc09_bad_unlock.c:11) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + Lock at 0x........ was first observed + at 0x........: pthread_mutex_init (hg_intercepts.c:...) + by 0x........: nearly_main (tc09_bad_unlock.c:31) + by 0x........: main (tc09_bad_unlock.c:50) + +Thread #x unlocked an invalid lock at 0x........ + at 0x........: pthread_mutex_unlock (hg_intercepts.c:...) + by 0x........: nearly_main (tc09_bad_unlock.c:41) + by 0x........: main (tc09_bad_unlock.c:50) + +Thread #x deallocated location 0x........ containing a locked lock + at 0x........: nearly_main (tc09_bad_unlock.c:45) + by 0x........: main (tc09_bad_unlock.c:50) + Lock at 0x........ was first observed + at 0x........: pthread_mutex_init (hg_intercepts.c:...) + by 0x........: nearly_main (tc09_bad_unlock.c:31) + by 0x........: main (tc09_bad_unlock.c:50) + +ERROR SUMMARY: 8 errors from 8 contexts (suppressed: 0 from 0) diff --git a/helgrind/tests/.svn/text-base/tc09_bad_unlock.stderr.exp-glibc25-amd64.svn-base b/helgrind/tests/.svn/text-base/tc09_bad_unlock.stderr.exp-glibc25-amd64.svn-base new file mode 100644 index 0000000..51ff990 --- /dev/null +++ b/helgrind/tests/.svn/text-base/tc09_bad_unlock.stderr.exp-glibc25-amd64.svn-base @@ -0,0 +1,90 @@ + +Thread #x is the program's root thread + +Thread #x unlocked a not-locked lock at 0x........ + at 0x........: pthread_mutex_unlock (hg_intercepts.c:...) + by 0x........: nearly_main (tc09_bad_unlock.c:27) + by 0x........: main (tc09_bad_unlock.c:49) + Lock at 0x........ was first observed + at 0x........: pthread_mutex_init (hg_intercepts.c:...) + by 0x........: nearly_main (tc09_bad_unlock.c:23) + by 0x........: main (tc09_bad_unlock.c:49) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: nearly_main (tc09_bad_unlock.c:35) + by 0x........: main (tc09_bad_unlock.c:49) + +Thread #x unlocked lock at 0x........ currently held by thread #x + at 0x........: pthread_mutex_unlock (hg_intercepts.c:...) + by 0x........: child_fn (tc09_bad_unlock.c:11) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + Lock at 0x........ was first observed + at 0x........: pthread_mutex_init (hg_intercepts.c:...) + by 0x........: nearly_main (tc09_bad_unlock.c:31) + by 0x........: main (tc09_bad_unlock.c:49) + +Thread #x unlocked an invalid lock at 0x........ + at 0x........: pthread_mutex_unlock (hg_intercepts.c:...) + by 0x........: nearly_main (tc09_bad_unlock.c:41) + by 0x........: main (tc09_bad_unlock.c:49) + +Thread #x's call to pthread_mutex_unlock failed + with error code 22 (EINVAL: Invalid argument) + at 0x........: pthread_mutex_unlock (hg_intercepts.c:...) + by 0x........: nearly_main (tc09_bad_unlock.c:41) + by 0x........: main (tc09_bad_unlock.c:49) +--------------------- + +Thread #x unlocked a not-locked lock at 0x........ + at 0x........: pthread_mutex_unlock (hg_intercepts.c:...) + by 0x........: nearly_main (tc09_bad_unlock.c:27) + by 0x........: main (tc09_bad_unlock.c:50) + Lock at 0x........ was first observed + at 0x........: pthread_mutex_init (hg_intercepts.c:...) + by 0x........: nearly_main (tc09_bad_unlock.c:23) + by 0x........: main (tc09_bad_unlock.c:49) + +Thread #x: Attempt to re-lock a non-recursive lock I already hold + at 0x........: pthread_mutex_lock (hg_intercepts.c:...) + by 0x........: nearly_main (tc09_bad_unlock.c:32) + by 0x........: main (tc09_bad_unlock.c:50) + +Thread #x: Bug in libpthread: recursive write lock granted on mutex/wrlock which does not support recursion + at 0x........: pthread_mutex_lock (hg_intercepts.c:...) + by 0x........: nearly_main (tc09_bad_unlock.c:32) + by 0x........: main (tc09_bad_unlock.c:50) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: nearly_main (tc09_bad_unlock.c:35) + by 0x........: main (tc09_bad_unlock.c:50) + +Thread #x unlocked lock at 0x........ currently held by thread #x + at 0x........: pthread_mutex_unlock (hg_intercepts.c:...) + by 0x........: child_fn (tc09_bad_unlock.c:11) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + Lock at 0x........ was first observed + at 0x........: pthread_mutex_init (hg_intercepts.c:...) + by 0x........: nearly_main (tc09_bad_unlock.c:31) + by 0x........: main (tc09_bad_unlock.c:49) + +Thread #x unlocked an invalid lock at 0x........ + at 0x........: pthread_mutex_unlock (hg_intercepts.c:...) + by 0x........: nearly_main (tc09_bad_unlock.c:41) + by 0x........: main (tc09_bad_unlock.c:50) + +Thread #x's call to pthread_mutex_unlock failed + with error code 22 (EINVAL: Invalid argument) + at 0x........: pthread_mutex_unlock (hg_intercepts.c:...) + by 0x........: nearly_main (tc09_bad_unlock.c:41) + by 0x........: main (tc09_bad_unlock.c:50) + +Thread #x: Exiting thread still holds 1 lock + ... + +ERROR SUMMARY: 11 errors from 11 contexts (suppressed: 0 from 0) diff --git a/helgrind/tests/.svn/text-base/tc09_bad_unlock.stderr.exp-glibc25-x86.svn-base b/helgrind/tests/.svn/text-base/tc09_bad_unlock.stderr.exp-glibc25-x86.svn-base new file mode 100644 index 0000000..1e53aa6 --- /dev/null +++ b/helgrind/tests/.svn/text-base/tc09_bad_unlock.stderr.exp-glibc25-x86.svn-base @@ -0,0 +1,92 @@ + +Thread #x is the program's root thread + +Thread #x unlocked a not-locked lock at 0x........ + at 0x........: pthread_mutex_unlock (hg_intercepts.c:...) + by 0x........: nearly_main (tc09_bad_unlock.c:27) + by 0x........: main (tc09_bad_unlock.c:49) + Lock at 0x........ was first observed + at 0x........: pthread_mutex_init (hg_intercepts.c:...) + by 0x........: nearly_main (tc09_bad_unlock.c:23) + by 0x........: main (tc09_bad_unlock.c:49) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: nearly_main (tc09_bad_unlock.c:35) + by 0x........: main (tc09_bad_unlock.c:49) + +Thread #x unlocked lock at 0x........ currently held by thread #x + at 0x........: pthread_mutex_unlock (hg_intercepts.c:...) + by 0x........: child_fn (tc09_bad_unlock.c:11) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + Lock at 0x........ was first observed + at 0x........: pthread_mutex_init (hg_intercepts.c:...) + by 0x........: nearly_main (tc09_bad_unlock.c:31) + by 0x........: main (tc09_bad_unlock.c:49) + +Thread #x unlocked an invalid lock at 0x........ + at 0x........: pthread_mutex_unlock (hg_intercepts.c:...) + by 0x........: nearly_main (tc09_bad_unlock.c:41) + by 0x........: main (tc09_bad_unlock.c:49) + +Thread #x's call to pthread_mutex_unlock failed + with error code 22 (EINVAL: Invalid argument) + at 0x........: pthread_mutex_unlock (hg_intercepts.c:...) + by 0x........: nearly_main (tc09_bad_unlock.c:41) + by 0x........: main (tc09_bad_unlock.c:49) + +Thread #x deallocated location 0x........ containing a locked lock + at 0x........: nearly_main (tc09_bad_unlock.c:45) + by 0x........: main (tc09_bad_unlock.c:49) + Lock at 0x........ was first observed + at 0x........: pthread_mutex_init (hg_intercepts.c:...) + by 0x........: nearly_main (tc09_bad_unlock.c:31) + by 0x........: main (tc09_bad_unlock.c:49) + +Thread #x unlocked a not-locked lock at 0x........ + at 0x........: pthread_mutex_unlock (hg_intercepts.c:...) + by 0x........: nearly_main (tc09_bad_unlock.c:27) + by 0x........: main (tc09_bad_unlock.c:50) + Lock at 0x........ was first observed + at 0x........: pthread_mutex_init (hg_intercepts.c:...) + by 0x........: nearly_main (tc09_bad_unlock.c:23) + by 0x........: main (tc09_bad_unlock.c:50) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: nearly_main (tc09_bad_unlock.c:35) + by 0x........: main (tc09_bad_unlock.c:50) + +Thread #x unlocked lock at 0x........ currently held by thread #x + at 0x........: pthread_mutex_unlock (hg_intercepts.c:...) + by 0x........: child_fn (tc09_bad_unlock.c:11) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + Lock at 0x........ was first observed + at 0x........: pthread_mutex_init (hg_intercepts.c:...) + by 0x........: nearly_main (tc09_bad_unlock.c:31) + by 0x........: main (tc09_bad_unlock.c:50) + +Thread #x unlocked an invalid lock at 0x........ + at 0x........: pthread_mutex_unlock (hg_intercepts.c:...) + by 0x........: nearly_main (tc09_bad_unlock.c:41) + by 0x........: main (tc09_bad_unlock.c:50) + +Thread #x's call to pthread_mutex_unlock failed + with error code 22 (EINVAL: Invalid argument) + at 0x........: pthread_mutex_unlock (hg_intercepts.c:...) + by 0x........: nearly_main (tc09_bad_unlock.c:41) + by 0x........: main (tc09_bad_unlock.c:50) + +Thread #x deallocated location 0x........ containing a locked lock + at 0x........: nearly_main (tc09_bad_unlock.c:45) + by 0x........: main (tc09_bad_unlock.c:50) + Lock at 0x........ was first observed + at 0x........: pthread_mutex_init (hg_intercepts.c:...) + by 0x........: nearly_main (tc09_bad_unlock.c:31) + by 0x........: main (tc09_bad_unlock.c:50) + +ERROR SUMMARY: 10 errors from 10 contexts (suppressed: 0 from 0) diff --git a/helgrind/tests/.svn/text-base/tc09_bad_unlock.stdout.exp.svn-base b/helgrind/tests/.svn/text-base/tc09_bad_unlock.stdout.exp.svn-base new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/helgrind/tests/.svn/text-base/tc09_bad_unlock.stdout.exp.svn-base diff --git a/helgrind/tests/.svn/text-base/tc09_bad_unlock.vgtest.svn-base b/helgrind/tests/.svn/text-base/tc09_bad_unlock.vgtest.svn-base new file mode 100644 index 0000000..d09a702 --- /dev/null +++ b/helgrind/tests/.svn/text-base/tc09_bad_unlock.vgtest.svn-base @@ -0,0 +1 @@ +prog: tc09_bad_unlock diff --git a/helgrind/tests/.svn/text-base/tc10_rec_lock.c.svn-base b/helgrind/tests/.svn/text-base/tc10_rec_lock.c.svn-base new file mode 100644 index 0000000..648305c --- /dev/null +++ b/helgrind/tests/.svn/text-base/tc10_rec_lock.c.svn-base @@ -0,0 +1,49 @@ + +/* Do simple things with a recursive mutex. */ + +/* Needed for older glibcs (2.3 and older, at least) who don't + otherwise "know" about pthread_rwlock_anything or about + PTHREAD_MUTEX_RECURSIVE (amongst things). */ +#define _GNU_SOURCE 1 + +#include <stdio.h> +#include <stdlib.h> +#include <assert.h> +#include <pthread.h> + +void nearly_main ( void ) +{ + pthread_mutex_t mx1; + pthread_mutexattr_t attr; + int r; + + r = pthread_mutexattr_init( &attr ); + assert(r==0); + r = pthread_mutexattr_settype( &attr, PTHREAD_MUTEX_RECURSIVE ); + assert(r==0); + r = pthread_mutex_init( &mx1, &attr ); + assert(r==0); + + fprintf(stderr, "before lock #1\n"); + r = pthread_mutex_lock( &mx1 ); assert(r == 0); + fprintf(stderr, "before lock #2\n"); + r = pthread_mutex_lock( &mx1 ); assert(r == 0); + fprintf(stderr, "before lock #3\n"); + r = pthread_mutex_lock( &mx1 ); assert(r == 0); + + fprintf(stderr, "before unlock #1\n"); + r = pthread_mutex_unlock( &mx1 ); assert(r == 0); + fprintf(stderr, "before unlock #2\n"); + r = pthread_mutex_unlock( &mx1 ); assert(r == 0); + fprintf(stderr, "before unlock #3\n"); + r = pthread_mutex_unlock( &mx1 ); assert(r == 0); + + fprintf(stderr, "before unlock #4\n"); + r = pthread_mutex_unlock( &mx1 ); /* FAILS: assert(r == 0); */ +} + +int main ( void ) +{ + nearly_main(); + return 0; +} diff --git a/helgrind/tests/.svn/text-base/tc10_rec_lock.stderr.exp.svn-base b/helgrind/tests/.svn/text-base/tc10_rec_lock.stderr.exp.svn-base new file mode 100644 index 0000000..7e65ba7 --- /dev/null +++ b/helgrind/tests/.svn/text-base/tc10_rec_lock.stderr.exp.svn-base @@ -0,0 +1,26 @@ + +before lock #1 +before lock #2 +before lock #3 +before unlock #1 +before unlock #2 +before unlock #3 +before unlock #4 +Thread #x is the program's root thread + +Thread #x unlocked a not-locked lock at 0x........ + at 0x........: pthread_mutex_unlock (hg_intercepts.c:...) + by 0x........: nearly_main (tc10_rec_lock.c:42) + by 0x........: main (tc10_rec_lock.c:47) + Lock at 0x........ was first observed + at 0x........: pthread_mutex_init (hg_intercepts.c:...) + by 0x........: nearly_main (tc10_rec_lock.c:24) + by 0x........: main (tc10_rec_lock.c:47) + +Thread #x's call to pthread_mutex_unlock failed + with error code 1 (EPERM: Operation not permitted) + at 0x........: pthread_mutex_unlock (hg_intercepts.c:...) + by 0x........: nearly_main (tc10_rec_lock.c:42) + by 0x........: main (tc10_rec_lock.c:47) + +ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 0 from 0) diff --git a/helgrind/tests/.svn/text-base/tc10_rec_lock.stdout.exp.svn-base b/helgrind/tests/.svn/text-base/tc10_rec_lock.stdout.exp.svn-base new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/helgrind/tests/.svn/text-base/tc10_rec_lock.stdout.exp.svn-base diff --git a/helgrind/tests/.svn/text-base/tc10_rec_lock.vgtest.svn-base b/helgrind/tests/.svn/text-base/tc10_rec_lock.vgtest.svn-base new file mode 100644 index 0000000..bfd0f89 --- /dev/null +++ b/helgrind/tests/.svn/text-base/tc10_rec_lock.vgtest.svn-base @@ -0,0 +1 @@ +prog: tc10_rec_lock diff --git a/helgrind/tests/.svn/text-base/tc11_XCHG.c.svn-base b/helgrind/tests/.svn/text-base/tc11_XCHG.c.svn-base new file mode 100644 index 0000000..22c6baf --- /dev/null +++ b/helgrind/tests/.svn/text-base/tc11_XCHG.c.svn-base @@ -0,0 +1,112 @@ + +#include "config.h" +#include <pthread.h> +#include <stdio.h> +#include <stdlib.h> +#include <assert.h> + +/* Simple test program, no race. Parent and child both modify x and + use the hardware bus lock (implicitly, since XCHG r,m on x86/amd64 + does not require an explicit LOCK prefix.). */ + +#undef PLAT_x86_linux +#undef PLAT_amd64_linux +#undef PLAT_ppc32_linux +#undef PLAT_ppc64_linux +#undef PLAT_ppc32_aix5 +#undef PLAT_ppc64_aix5 + +#if !defined(_AIX) && defined(__i386__) +# define PLAT_x86_linux 1 +#elif !defined(_AIX) && defined(__x86_64__) +# define PLAT_amd64_linux 1 +#elif !defined(_AIX) && defined(__powerpc__) && !defined(__powerpc64__) +# define PLAT_ppc32_linux 1 +#elif !defined(_AIX) && defined(__powerpc__) && defined(__powerpc64__) +# define PLAT_ppc64_linux 1 +#elif defined(_AIX) && defined(__64BIT__) +# define PLAT_ppc64_aix5 1 +#elif defined(_AIX) && !defined(__64BIT__) +# define PLAT_ppc32_aix5 1 +#endif + + +#if defined(PLAT_amd64_linux) || defined(PLAT_x86_linux) +# define XCHG_M_R(_addr,_lval) \ + __asm__ __volatile__( \ + "xchgl %0, %1" \ + : /*out*/ "+r"(_lval) \ + : /*in*/ "m"(_addr) \ + : "memory", "cc" \ + ) +# define XCHG_M_R_with_redundant_LOCK(_addr,_lval) \ + __asm__ __volatile__( \ + "lock xchgl %0, %1" \ + : /*out*/ "+r"(_lval) \ + : /*in*/ "m"(_addr) \ + : "memory", "cc" \ + ) + +#elif defined(PLAT_ppc32_linux) || defined(PLAT_ppc64_linux) \ + || defined(PLAT_ppc32_aix5) || defined(PLAT_ppc64_aix5) +# if defined(HAVE_BUILTIN_ATOMIC) +# define XCHG_M_R(_addr,_lval) \ + do { \ + int tmp; \ + while ((tmp = *(int*)(& _addr)), \ + ! __sync_bool_compare_and_swap((int*)&_addr, tmp, _lval)) \ + ; \ + _lval = tmp; \ + } while (0) +# else +# warning "XCHG_M_R() implementation is missing. Either" \ + "provide one or use a newer gcc version." +# define XCHG_M_R(_addr,_lval) \ + do { int tmp = *(int*)(& _addr); \ + *(int*)(& _addr) = (_lval); \ + _lval = tmp; \ + } while (0) +# endif +# define XCHG_M_R_with_redundant_LOCK(_addr,_lval) \ + XCHG_M_R(_addr,_lval) + +#else +# error "Unsupported architecture" + +#endif + +int x = 0; + +void* child_fn ( void* arg ) +{ + int v = 12345; + XCHG_M_R_with_redundant_LOCK(x, v); + assert(v == 0 || v == 6789); + return NULL; +} + +int main ( void ) +{ + int v = 6789; + pthread_t child; + + if (pthread_create(&child, NULL, child_fn, NULL)) { + perror("pthread_create"); + exit(1); + } + + XCHG_M_R(x, v); + assert(v == 0 || v == 12345); + + if (pthread_join(child, NULL)) { + perror("pthread join"); + exit(1); + } + + if (v == 0 || v == 12345) + printf("success\n"); + else + printf("failure\n"); + + return v; +} diff --git a/helgrind/tests/.svn/text-base/tc11_XCHG.stderr.exp.svn-base b/helgrind/tests/.svn/text-base/tc11_XCHG.stderr.exp.svn-base new file mode 100644 index 0000000..d18786f --- /dev/null +++ b/helgrind/tests/.svn/text-base/tc11_XCHG.stderr.exp.svn-base @@ -0,0 +1,3 @@ + + +ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) diff --git a/helgrind/tests/.svn/text-base/tc11_XCHG.stdout.exp.svn-base b/helgrind/tests/.svn/text-base/tc11_XCHG.stdout.exp.svn-base new file mode 100644 index 0000000..2e9ba47 --- /dev/null +++ b/helgrind/tests/.svn/text-base/tc11_XCHG.stdout.exp.svn-base @@ -0,0 +1 @@ +success diff --git a/helgrind/tests/.svn/text-base/tc11_XCHG.vgtest.svn-base b/helgrind/tests/.svn/text-base/tc11_XCHG.vgtest.svn-base new file mode 100644 index 0000000..342199b --- /dev/null +++ b/helgrind/tests/.svn/text-base/tc11_XCHG.vgtest.svn-base @@ -0,0 +1 @@ +prog: tc11_XCHG diff --git a/helgrind/tests/.svn/text-base/tc12_rwl_trivial.c.svn-base b/helgrind/tests/.svn/text-base/tc12_rwl_trivial.c.svn-base new file mode 100644 index 0000000..9dc8e84 --- /dev/null +++ b/helgrind/tests/.svn/text-base/tc12_rwl_trivial.c.svn-base @@ -0,0 +1,34 @@ + +/* Needed for older glibcs (2.3 and older, at least) who don't + otherwise "know" about pthread_rwlock_anything or about + PTHREAD_MUTEX_RECURSIVE (amongst things). */ +#define _GNU_SOURCE 1 + +#include <stdio.h> +#include <pthread.h> +#include <assert.h> + +/* Do trivial stuff with a reader-writer lock. */ + +int main ( void ) +{ + int r; + pthread_rwlock_t rwl; + + r = pthread_rwlock_init( &rwl, NULL ); assert(r == 0); + + r = pthread_rwlock_wrlock( &rwl ); assert(r == 0); + r = pthread_rwlock_unlock( &rwl ); assert(r == 0); + + r = pthread_rwlock_rdlock( &rwl ); assert(r == 0); + r = pthread_rwlock_rdlock( &rwl ); assert(r == 0); + r = pthread_rwlock_unlock( &rwl ); assert(r == 0); + r = pthread_rwlock_unlock( &rwl ); assert(r == 0); + + /* this should fail - lock is unowned now */ + r = pthread_rwlock_unlock( &rwl ); assert(r == 0); + + r = pthread_rwlock_destroy( &rwl ); assert(r == 0); + + return 0; +} diff --git a/helgrind/tests/.svn/text-base/tc12_rwl_trivial.stderr.exp.svn-base b/helgrind/tests/.svn/text-base/tc12_rwl_trivial.stderr.exp.svn-base new file mode 100644 index 0000000..5d4f383 --- /dev/null +++ b/helgrind/tests/.svn/text-base/tc12_rwl_trivial.stderr.exp.svn-base @@ -0,0 +1,11 @@ + +Thread #x is the program's root thread + +Thread #x unlocked a not-locked lock at 0x........ + at 0x........: pthread_rwlock_unlock (hg_intercepts.c:...) + by 0x........: main (tc12_rwl_trivial.c:29) + Lock at 0x........ was first observed + at 0x........: pthread_rwlock_init (hg_intercepts.c:...) + by 0x........: main (tc12_rwl_trivial.c:18) + +ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0) diff --git a/helgrind/tests/.svn/text-base/tc12_rwl_trivial.stdout.exp.svn-base b/helgrind/tests/.svn/text-base/tc12_rwl_trivial.stdout.exp.svn-base new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/helgrind/tests/.svn/text-base/tc12_rwl_trivial.stdout.exp.svn-base diff --git a/helgrind/tests/.svn/text-base/tc12_rwl_trivial.vgtest.svn-base b/helgrind/tests/.svn/text-base/tc12_rwl_trivial.vgtest.svn-base new file mode 100644 index 0000000..fdcd644 --- /dev/null +++ b/helgrind/tests/.svn/text-base/tc12_rwl_trivial.vgtest.svn-base @@ -0,0 +1 @@ +prog: tc12_rwl_trivial diff --git a/helgrind/tests/.svn/text-base/tc13_laog1.c.svn-base b/helgrind/tests/.svn/text-base/tc13_laog1.c.svn-base new file mode 100644 index 0000000..e42ca98 --- /dev/null +++ b/helgrind/tests/.svn/text-base/tc13_laog1.c.svn-base @@ -0,0 +1,33 @@ + +#include <pthread.h> +#include <stdio.h> +#include <stdlib.h> +#include <assert.h> + +/* The simplest possible test that triggers a lock order acquisition + error. */ + +int main ( void ) +{ + int r; + pthread_mutex_t mx1, mx2; + r = pthread_mutex_init( &mx1, NULL ); assert(r==0); + r = pthread_mutex_init( &mx2, NULL ); assert(r==0); + + r = pthread_mutex_lock( &mx1 ); assert(r==0); + r = pthread_mutex_lock( &mx2 ); assert(r==0); + + r = pthread_mutex_unlock( &mx1 ); assert(r==0); + r = pthread_mutex_unlock( &mx2 ); assert(r==0); + + r = pthread_mutex_lock( &mx2 ); assert(r==0); /* error */ + r = pthread_mutex_lock( &mx1 ); assert(r==0); + + r = pthread_mutex_unlock( &mx1 ); assert(r==0); + r = pthread_mutex_unlock( &mx2 ); assert(r==0); + + r = pthread_mutex_destroy( &mx1 ); + r = pthread_mutex_destroy( &mx2 ); + + return 0; +} diff --git a/helgrind/tests/.svn/text-base/tc13_laog1.stderr.exp.svn-base b/helgrind/tests/.svn/text-base/tc13_laog1.stderr.exp.svn-base new file mode 100644 index 0000000..643aef9 --- /dev/null +++ b/helgrind/tests/.svn/text-base/tc13_laog1.stderr.exp.svn-base @@ -0,0 +1,14 @@ + +Thread #x is the program's root thread + +Thread #x: lock order "0x........ before 0x........" violated + at 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........: pthread_mutex_lock (hg_intercepts.c:...) + by 0x........: main (tc13_laog1.c:17) + followed by a later acquisition of lock at 0x........ + at 0x........: pthread_mutex_lock (hg_intercepts.c:...) + by 0x........: main (tc13_laog1.c:18) + +ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0) diff --git a/helgrind/tests/.svn/text-base/tc13_laog1.stdout.exp.svn-base b/helgrind/tests/.svn/text-base/tc13_laog1.stdout.exp.svn-base new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/helgrind/tests/.svn/text-base/tc13_laog1.stdout.exp.svn-base diff --git a/helgrind/tests/.svn/text-base/tc13_laog1.vgtest.svn-base b/helgrind/tests/.svn/text-base/tc13_laog1.vgtest.svn-base new file mode 100644 index 0000000..9fa71cd --- /dev/null +++ b/helgrind/tests/.svn/text-base/tc13_laog1.vgtest.svn-base @@ -0,0 +1 @@ +prog: tc13_laog1 diff --git a/helgrind/tests/.svn/text-base/tc14_laog_dinphils.c.svn-base b/helgrind/tests/.svn/text-base/tc14_laog_dinphils.c.svn-base new file mode 100644 index 0000000..c5af8c1 --- /dev/null +++ b/helgrind/tests/.svn/text-base/tc14_laog_dinphils.c.svn-base @@ -0,0 +1,42 @@ + +#include <pthread.h> +#include <stdlib.h> +#include <unistd.h> + +/* Naive dining philosophers with inconsistent lock acquisition + ordering. */ + +static pthread_t phil[5]; +static pthread_mutex_t chop[5]; + +void* dine ( void* arg ) +{ + int i; + long left = (long)arg; + long right = (left + 1) % 5; + for (i = 0; i < 1000/*arbitrary*/; i++) { + pthread_mutex_lock(&chop[left]); + pthread_mutex_lock(&chop[right]); + /* eating */ + pthread_mutex_unlock(&chop[left]); + pthread_mutex_unlock(&chop[right]); + } + return NULL; +} + +int main ( void ) +{ + long i; + for (i = 0; i < 5; i++) + pthread_mutex_init( &chop[i], NULL); + + for (i = 0; i < 5; i++) + pthread_create(&phil[i], NULL, dine, (void*)i ); + + sleep(1); + + for (i = 0; i < 5; i++) + pthread_join(phil[i], NULL); + + return 0; +} diff --git a/helgrind/tests/.svn/text-base/tc14_laog_dinphils.stderr.exp.svn-base b/helgrind/tests/.svn/text-base/tc14_laog_dinphils.stderr.exp.svn-base new file mode 100644 index 0000000..f2e710f --- /dev/null +++ b/helgrind/tests/.svn/text-base/tc14_laog_dinphils.stderr.exp.svn-base @@ -0,0 +1,13 @@ + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc14_laog_dinphils.c:34) + +Thread #x: lock order "0x........ before 0x........" violated + at 0x........: pthread_mutex_lock (hg_intercepts.c:...) + by 0x........: dine (tc14_laog_dinphils.c:19) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +ERROR SUMMARY: 1000 errors from 1 contexts (suppressed: 0 from 0) diff --git a/helgrind/tests/.svn/text-base/tc14_laog_dinphils.stdout.exp.svn-base b/helgrind/tests/.svn/text-base/tc14_laog_dinphils.stdout.exp.svn-base new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/helgrind/tests/.svn/text-base/tc14_laog_dinphils.stdout.exp.svn-base diff --git a/helgrind/tests/.svn/text-base/tc14_laog_dinphils.vgtest.svn-base b/helgrind/tests/.svn/text-base/tc14_laog_dinphils.vgtest.svn-base new file mode 100644 index 0000000..5871b73 --- /dev/null +++ b/helgrind/tests/.svn/text-base/tc14_laog_dinphils.vgtest.svn-base @@ -0,0 +1 @@ +prog: tc14_laog_dinphils diff --git a/helgrind/tests/.svn/text-base/tc15_laog_lockdel.c.svn-base b/helgrind/tests/.svn/text-base/tc15_laog_lockdel.c.svn-base new file mode 100644 index 0000000..68668b1 --- /dev/null +++ b/helgrind/tests/.svn/text-base/tc15_laog_lockdel.c.svn-base @@ -0,0 +1,77 @@ + +#include <pthread.h> +#include <stdio.h> +#include <stdlib.h> +#include <assert.h> + +/* Test that locks, having entered the lock acquisition tracking + machinery, are forgotten by it when the client does + pthread_{mutex,rwlock}_destroy. 2008-Nov-10: see comments below. */ + +int main ( void ) +{ + int r; + pthread_mutex_t *mx1, *mx2; + + mx1 = malloc(sizeof(pthread_mutex_t)); + mx2 = malloc(sizeof(pthread_mutex_t)); + + assert(mx1); + assert(mx2); + + r = pthread_mutex_init( mx1, NULL ); assert(r==0); + r = pthread_mutex_init( mx2, NULL ); assert(r==0); + + /* Establish order 1 -> 2 */ + fprintf(stderr, "Establish order 1 -> 2\n"); + r = pthread_mutex_lock( mx1 ); assert(r==0); + r = pthread_mutex_lock( mx2 ); assert(r==0); + + r = pthread_mutex_unlock( mx1 ); assert(r==0); + r = pthread_mutex_unlock( mx2 ); assert(r==0); + + /* Try order 2 -> 1. This gives an error. */ + fprintf(stderr, "Try order 2 -> 1. This gives an error.\n"); + r = pthread_mutex_lock( mx2 ); assert(r==0); /* error */ + r = pthread_mutex_lock( mx1 ); assert(r==0); + + r = pthread_mutex_unlock( mx1 ); assert(r==0); + r = pthread_mutex_unlock( mx2 ); assert(r==0); + + /* De-initialise 2 and re-initialise it. This gives it a new + identity, so a second locking sequence 2 -> 1 should now be OK. */ + fprintf(stderr, + "Free 2 and re-allocate it. This gives it a new identity,\n"); + fprintf(stderr, "so a second locking sequence 2 -> 1 should now be OK.\n"); + pthread_mutex_destroy( mx2 ); + + + + r = pthread_mutex_init( mx2, NULL ); assert(r==0); + + r = pthread_mutex_lock( mx2 ); assert(r==0); + r = pthread_mutex_lock( mx1 ); assert(r==0); /* no error */ + + r = pthread_mutex_unlock( mx1 ); assert(r==0); + r = pthread_mutex_unlock( mx2 ); assert(r==0); + + /* done */ + + fprintf(stderr, "done\n"); + r = pthread_mutex_destroy( mx1 ); + r = pthread_mutex_destroy( mx2 ); + + free( mx1 ); + free( mx2 ); + + return 0; +} + +/* 2008-Nov-10: I believe this test is flawed and requires further + investigation. I don't think it really tests what it claims to + test. In particular, it still gives the right results if + "pthread_mutex_destroy( mx2 );" at line 46 is commented out. In + other words, laog somehow forgets about mx2 so that 2->1 lock + sequence at lines 52/3 does not produce a complaint, EVEN WHEN the + preceding "pthread_mutex_destroy( mx2 );" is not observed. I don't + know why this is, but it seems highly suspicious to me. */ diff --git a/helgrind/tests/.svn/text-base/tc15_laog_lockdel.stderr.exp.svn-base b/helgrind/tests/.svn/text-base/tc15_laog_lockdel.stderr.exp.svn-base new file mode 100644 index 0000000..cf7fce9 --- /dev/null +++ b/helgrind/tests/.svn/text-base/tc15_laog_lockdel.stderr.exp.svn-base @@ -0,0 +1,19 @@ + +Establish order 1 -> 2 +Try order 2 -> 1. This gives an error. +Thread #x is the program's root thread + +Thread #x: lock order "0x........ before 0x........" violated + at 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........: 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........: pthread_mutex_lock (hg_intercepts.c:...) + by 0x........: main (tc15_laog_lockdel.c:28) +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) diff --git a/helgrind/tests/.svn/text-base/tc15_laog_lockdel.stdout.exp.svn-base b/helgrind/tests/.svn/text-base/tc15_laog_lockdel.stdout.exp.svn-base new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/helgrind/tests/.svn/text-base/tc15_laog_lockdel.stdout.exp.svn-base diff --git a/helgrind/tests/.svn/text-base/tc15_laog_lockdel.vgtest.svn-base b/helgrind/tests/.svn/text-base/tc15_laog_lockdel.vgtest.svn-base new file mode 100644 index 0000000..bd7a2ec --- /dev/null +++ b/helgrind/tests/.svn/text-base/tc15_laog_lockdel.vgtest.svn-base @@ -0,0 +1 @@ +prog: tc15_laog_lockdel diff --git a/helgrind/tests/.svn/text-base/tc16_byterace.c.svn-base b/helgrind/tests/.svn/text-base/tc16_byterace.c.svn-base new file mode 100644 index 0000000..70a9101 --- /dev/null +++ b/helgrind/tests/.svn/text-base/tc16_byterace.c.svn-base @@ -0,0 +1,42 @@ +#include <pthread.h> +#include <stdio.h> +#include <stdlib.h> + +/* Simple demonstration of lockset tracking at byte granularity. */ + +char bytes[10]; + +void* child_fn ( void* arg ) +{ + int i; + for (i = 0; i < 5; i++) + bytes[2*i + 0] ++; /* child accesses: 0 2 4 6 8 */ + return NULL; +} + +int main ( void ) +{ + int i; + pthread_t child; + + if (pthread_create(&child, NULL, child_fn, NULL)) { + perror("pthread_create"); + exit(1); + } + + /* Unprotected relative to child, but harmless, since different + bytes accessed */ + for (i = 0; i < 5; i++) + bytes[2*i + 1] ++; /* accesses: 1 3 5 7 9 */ + + /* Unprotected relative to child, but harmful; same bytes */ + for (i = 0; i < 3; i++) + bytes[3*i + 1] ++; /* accesses: 1 4(race!) 7 */ + + if (pthread_join(child, NULL)) { + perror("pthread join"); + exit(1); + } + + return 0; +} diff --git a/helgrind/tests/.svn/text-base/tc16_byterace.stderr.exp.svn-base b/helgrind/tests/.svn/text-base/tc16_byterace.stderr.exp.svn-base new file mode 100644 index 0000000..95d0011 --- /dev/null +++ b/helgrind/tests/.svn/text-base/tc16_byterace.stderr.exp.svn-base @@ -0,0 +1,27 @@ + +Thread #x is the program's root thread + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc16_byterace.c:22) + +Possible data race during read of size 1 at 0x........ by thread #x + at 0x........: main (tc16_byterace.c:34) + This conflicts with a previous write of size 1 by thread #x + at 0x........: child_fn (tc16_byterace.c:13) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + Location 0x........ is 0 bytes inside bytes[4], + a global variable declared at tc16_byterace.c:7 + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: main (tc16_byterace.c:34) + This conflicts with a previous write of size 1 by thread #x + at 0x........: child_fn (tc16_byterace.c:13) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + Location 0x........ is 0 bytes inside bytes[4], + a global variable declared at tc16_byterace.c:7 + +ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 0 from 0) diff --git a/helgrind/tests/.svn/text-base/tc16_byterace.stdout.exp.svn-base b/helgrind/tests/.svn/text-base/tc16_byterace.stdout.exp.svn-base new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/helgrind/tests/.svn/text-base/tc16_byterace.stdout.exp.svn-base diff --git a/helgrind/tests/.svn/text-base/tc16_byterace.vgtest.svn-base b/helgrind/tests/.svn/text-base/tc16_byterace.vgtest.svn-base new file mode 100644 index 0000000..0b424a4 --- /dev/null +++ b/helgrind/tests/.svn/text-base/tc16_byterace.vgtest.svn-base @@ -0,0 +1,2 @@ +prog: tc16_byterace +vgopts: --read-var-info=yes diff --git a/helgrind/tests/.svn/text-base/tc17_sembar.c.svn-base b/helgrind/tests/.svn/text-base/tc17_sembar.c.svn-base new file mode 100644 index 0000000..cc91f5e --- /dev/null +++ b/helgrind/tests/.svn/text-base/tc17_sembar.c.svn-base @@ -0,0 +1,213 @@ + +#include <stdio.h> +#include <stdlib.h> +#include <assert.h> +#include <pthread.h> +#include <semaphore.h> + +/* This is really a test of semaphore handling + (sem_{init,destroy,post,wait}). Using semaphores a barrier + function is created. Helgrind-3.3 (p.k.a Thrcheck) does understand + the barrier semantics implied by the barrier, as pieced together + from happens-before relationships obtained from the component + semaphores. However, it does falsely report one race. Ah well. + Helgrind-3.4 is pure h-b and so reports no races (yay!). */ + +/* This code is derived from + gcc-4.3-20071012/libgomp/config/posix/bar.c, which is + + Copyright (C) 2005 Free Software Foundation, Inc. + Contributed by Richard Henderson <rth@redhat.com>. + + and available under version 2.1 or later of the GNU Lesser General + Public License. + + Relative to the libgomp sources, the gomp_barrier_t type here has + an extra semaphore field, xxx. This is not functionally useful, + but it is used to create enough extra inter-thread dependencies + that the barrier-like behaviour of gomp_barrier_t is evident to + Thrcheck. There is no other purpose for the .xxx field. */ + +typedef struct +{ + pthread_mutex_t mutex1; + pthread_mutex_t mutex2; + sem_t sem1; + sem_t sem2; + unsigned total; + unsigned arrived; + sem_t xxx; +} gomp_barrier_t; + +typedef long bool; + +void +gomp_barrier_init (gomp_barrier_t *bar, unsigned count) +{ + pthread_mutex_init (&bar->mutex1, NULL); + pthread_mutex_init (&bar->mutex2, NULL); + sem_init (&bar->sem1, 0, 0); + sem_init (&bar->sem2, 0, 0); + sem_init (&bar->xxx, 0, 0); + bar->total = count; + bar->arrived = 0; +} + +void +gomp_barrier_destroy (gomp_barrier_t *bar) +{ + /* Before destroying, make sure all threads have left the barrier. */ + pthread_mutex_lock (&bar->mutex1); + pthread_mutex_unlock (&bar->mutex1); + + pthread_mutex_destroy (&bar->mutex1); + pthread_mutex_destroy (&bar->mutex2); + sem_destroy (&bar->sem1); + sem_destroy (&bar->sem2); + sem_destroy(&bar->xxx); +} + +void +gomp_barrier_reinit (gomp_barrier_t *bar, unsigned count) +{ + pthread_mutex_lock (&bar->mutex1); + bar->total = count; + pthread_mutex_unlock (&bar->mutex1); +} + +void +gomp_barrier_wait (gomp_barrier_t *bar) +{ + unsigned int n; + pthread_mutex_lock (&bar->mutex1); + + ++bar->arrived; + + if (bar->arrived == bar->total) + { + bar->arrived--; + n = bar->arrived; + if (n > 0) + { + { unsigned int i; + for (i = 0; i < n; i++) + sem_wait(&bar->xxx); // acquire an obvious dependency from + // all other threads arriving at the barrier + } + // 1 up n times, 2 down once + // now let all the other threads past the barrier, giving them + // an obvious dependency with this thread. + do + sem_post (&bar->sem1); // 1 up + while (--n != 0); + // and wait till the last thread has left + sem_wait (&bar->sem2); // 2 down + } + pthread_mutex_unlock (&bar->mutex1); + /* «Résultats professionnels!» First we made this thread have an + obvious (Thrcheck-visible) dependency on all other threads + calling gomp_barrier_wait. Then, we released them all again, + so they all have a (visible) dependency on this thread. + Transitively, the result is that all threads leaving the + barrier have a a Thrcheck-visible dependency on all threads + arriving at the barrier. As required. */ + } + else + { + pthread_mutex_unlock (&bar->mutex1); + sem_post(&bar->xxx); + // first N-1 threads wind up waiting here + sem_wait (&bar->sem1); // 1 down + + pthread_mutex_lock (&bar->mutex2); + n = --bar->arrived; /* XXX see below */ + pthread_mutex_unlock (&bar->mutex2); + + if (n == 0) + sem_post (&bar->sem2); // 2 up + } +} + + +/* re XXX, thrcheck reports a race at this point. It doesn't + understand that bar->arrived is protected by mutex1 whilst threads + are arriving at the barrier and by mutex2 whilst they are leaving, + but not consistently by either of them. Oh well. */ + +static gomp_barrier_t bar; + +/* What's with the volatile here? It stops gcc compiling + "if (myid == 4) { unprotected = 99; }" and + "if (myid == 3) { unprotected = 88; }" into a conditional + load followed by a store. The cmov/store sequence reads and + writes memory in all threads and cause Thrcheck to (correctly) + report a race, the underlying cause of which is that gcc is + generating non threadsafe code. + + (The lack of) thread safe code generation by gcc is currently a + hot topic. See the following discussions: + http://gcc.gnu.org/ml/gcc/2007-10/msg00266.html + http://lkml.org/lkml/2007/10/24/673 + and this is interesting background: + www.hpl.hp.com/techreports/2004/HPL-2004-209.pdf +*/ +static volatile long unprotected = 0; + +void* child ( void* argV ) +{ + long myid = (long)argV; + // assert(myid >= 2 && myid <= 5); + + /* First, we all wait to get to this point. */ + gomp_barrier_wait( &bar ); + + /* Now, thread #4 writes to 'unprotected' and so becomes its + owner. */ + if (myid == 4) { + unprotected = 99; + } + + /* Now we all wait again. */ + gomp_barrier_wait( &bar ); + + /* This time, thread #3 writes to 'unprotected'. If all goes well, + Thrcheck sees the dependency through the barrier back to thread + #4 before it, and so thread #3 becomes the exclusive owner of + 'unprotected'. */ + if (myid == 3) { + unprotected = 88; + } + + /* And just to be on the safe side ... */ + gomp_barrier_wait( &bar ); + return NULL; +} + + +int main (int argc, char *argv[]) +{ + long i; int res; + pthread_t thr[4]; + fprintf(stderr, "starting\n"); + + gomp_barrier_init( &bar, 4 ); + + for (i = 0; i < 4; i++) { + res = pthread_create( &thr[i], NULL, child, (void*)(i+2) ); + assert(!res); + } + + for (i = 0; i < 4; i++) { + res = pthread_join( thr[i], NULL ); + assert(!res); + } + + gomp_barrier_destroy( &bar ); + + /* And finally here, the root thread can get exclusive ownership + back from thread #4, because #4 has exited by this point and so + we have a dependency edge back to the write it did. */ + fprintf(stderr, "done, result is %ld, should be 88\n", unprotected); + + return 0; +} diff --git a/helgrind/tests/.svn/text-base/tc17_sembar.stderr.exp.svn-base b/helgrind/tests/.svn/text-base/tc17_sembar.stderr.exp.svn-base new file mode 100644 index 0000000..b3f318e --- /dev/null +++ b/helgrind/tests/.svn/text-base/tc17_sembar.stderr.exp.svn-base @@ -0,0 +1,5 @@ + +starting +done, result is 88, should be 88 + +ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) diff --git a/helgrind/tests/.svn/text-base/tc17_sembar.stdout.exp.svn-base b/helgrind/tests/.svn/text-base/tc17_sembar.stdout.exp.svn-base new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/helgrind/tests/.svn/text-base/tc17_sembar.stdout.exp.svn-base diff --git a/helgrind/tests/.svn/text-base/tc17_sembar.vgtest.svn-base b/helgrind/tests/.svn/text-base/tc17_sembar.vgtest.svn-base new file mode 100644 index 0000000..643ed8a --- /dev/null +++ b/helgrind/tests/.svn/text-base/tc17_sembar.vgtest.svn-base @@ -0,0 +1 @@ +prog: tc17_sembar diff --git a/helgrind/tests/.svn/text-base/tc18_semabuse.c.svn-base b/helgrind/tests/.svn/text-base/tc18_semabuse.c.svn-base new file mode 100644 index 0000000..40c068b --- /dev/null +++ b/helgrind/tests/.svn/text-base/tc18_semabuse.c.svn-base @@ -0,0 +1,57 @@ + +/* Do stupid things with semaphores, and check that Thrcheck doesn't + fall over and does report errors appropriately. If nothing else + this just checks that the relevant functions are getting + intercepted. */ + +/* This is pretty lame, because making the sem_ functions fail is + difficult. Not sure it's really worth having. */ +#include <unistd.h> +#include <stdio.h> +#include <stdlib.h> +#include <assert.h> +#include <pthread.h> +#include <semaphore.h> +#include <string.h> +void start_watchdog ( void ); +int main ( void ) +{ + int r; + sem_t s1; + start_watchdog(); + /* Do sem_init with huge initial count */ + r= sem_init(&s1, 0, ~0); + + /* initialise properly */ + r= sem_init(&s1, 0, 0); + + /* in glibc, sem_destroy is a no-op; making it fail is + impossible. */ + + /* Do 'wait' on a bogus semaphore. This should fail, but on glibc + it succeeds. */ + memset(&s1, 0x55, sizeof(s1)); + r= sem_wait(&s1); /* assert(r != 0); */ + + /* this only fails with glibc 2.7 and later. */ + r= sem_post(&s1); + + sem_destroy(&s1); + + return 0; +} + +void* watchdog ( void* v ) +{ + sleep(10); + fprintf(stderr, "watchdog timer expired - not a good sign\n"); + exit(0); +} + +void start_watchdog ( void ) +{ + pthread_t t; + int r; + r= pthread_create(&t, NULL, watchdog, NULL); + assert(!r); +} diff --git a/helgrind/tests/.svn/text-base/tc18_semabuse.stderr.exp-glibc25-amd64.svn-base b/helgrind/tests/.svn/text-base/tc18_semabuse.stderr.exp-glibc25-amd64.svn-base new file mode 100644 index 0000000..c2077ed --- /dev/null +++ b/helgrind/tests/.svn/text-base/tc18_semabuse.stderr.exp-glibc25-amd64.svn-base @@ -0,0 +1,14 @@ + +Thread #x is the program's root thread + +Thread #x's call to sem_init failed + with error code 22 (EINVAL: Invalid argument) + at 0x........: sem_init@* (hg_intercepts.c:...) + by 0x........: main (tc18_semabuse.c:23) + +Thread #x: Bug in libpthread: sem_wait succeeded on semaphore without prior sem_post + at 0x........: sem_wait_WRK (hg_intercepts.c:...) + by 0x........: sem_wait (hg_intercepts.c:...) + by 0x........: main (tc18_semabuse.c:34) + +ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 0 from 0) diff --git a/helgrind/tests/.svn/text-base/tc18_semabuse.stderr.exp-glibc28-amd64.svn-base b/helgrind/tests/.svn/text-base/tc18_semabuse.stderr.exp-glibc28-amd64.svn-base new file mode 100644 index 0000000..ac8baaa --- /dev/null +++ b/helgrind/tests/.svn/text-base/tc18_semabuse.stderr.exp-glibc28-amd64.svn-base @@ -0,0 +1,20 @@ + +Thread #x is the program's root thread + +Thread #x's call to sem_init failed + with error code 22 (EINVAL: Invalid argument) + at 0x........: sem_init@* (hg_intercepts.c:...) + by 0x........: main (tc18_semabuse.c:23) + +Thread #x: Bug in libpthread: sem_wait succeeded on semaphore without prior sem_post + at 0x........: sem_wait_WRK (hg_intercepts.c:...) + by 0x........: sem_wait (hg_intercepts.c:...) + by 0x........: main (tc18_semabuse.c:34) + +Thread #x's call to sem_post failed + with error code 22 (EINVAL: Invalid argument) + at 0x........: sem_post_WRK (hg_intercepts.c:...) + by 0x........: sem_post (hg_intercepts.c:...) + by 0x........: main (tc18_semabuse.c:37) + +ERROR SUMMARY: 3 errors from 3 contexts (suppressed: 0 from 0) diff --git a/helgrind/tests/.svn/text-base/tc18_semabuse.stdout.exp.svn-base b/helgrind/tests/.svn/text-base/tc18_semabuse.stdout.exp.svn-base new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/helgrind/tests/.svn/text-base/tc18_semabuse.stdout.exp.svn-base diff --git a/helgrind/tests/.svn/text-base/tc18_semabuse.vgtest.svn-base b/helgrind/tests/.svn/text-base/tc18_semabuse.vgtest.svn-base new file mode 100644 index 0000000..fe4d22b --- /dev/null +++ b/helgrind/tests/.svn/text-base/tc18_semabuse.vgtest.svn-base @@ -0,0 +1 @@ +prog: tc18_semabuse diff --git a/helgrind/tests/.svn/text-base/tc19_shadowmem.c.svn-base b/helgrind/tests/.svn/text-base/tc19_shadowmem.c.svn-base new file mode 100644 index 0000000..ec05061 --- /dev/null +++ b/helgrind/tests/.svn/text-base/tc19_shadowmem.c.svn-base @@ -0,0 +1,2291 @@ + +#include <pthread.h> +#include <assert.h> +#include <stdlib.h> +#include <stdio.h> + +#include "helgrind/helgrind.h" + +typedef + struct { + void* (*child)(void*); + char* arr; + int firstoff; + int lastoff; + int skipoff; + } + Info; + +pthread_mutex_t mx; + +void* child8 ( void* infoV ) +{ + int r, i, firstoff, lastoff, skipoff; + char* arr; + Info* info = (Info*)infoV; + firstoff = info->firstoff; + lastoff = info->lastoff; + skipoff = info->skipoff; + arr = info->arr; + assert( sizeof(char) == 1 ); + assert( info->child == &child8 ); + { char* ptr = (char*)&arr[skipoff]; + *ptr = 0; } + for (i = firstoff; i <= lastoff; i += 1) { + char* ptr = (char*)&arr[i]; + if (i != skipoff) { + r= pthread_mutex_lock( &mx ); assert(!r); + *ptr = 0; + r= pthread_mutex_unlock( &mx ); assert(!r); + } + } + return NULL; +} + +void* child16 ( void* infoV ) +{ + int r, i, firstoff, lastoff, skipoff; + char* arr; + Info* info = (Info*)infoV; + firstoff = info->firstoff; + lastoff = info->lastoff; + skipoff = info->skipoff; + arr = info->arr; + assert( sizeof(short) == 2 ); + assert( info->child == &child16 ); + { short* ptr = (short*)&arr[skipoff]; + *ptr = 0; } + for (i = firstoff; i <= lastoff; i += 2) { + short* ptr = (short*)&arr[i]; + if (i != skipoff) { + r= pthread_mutex_lock( &mx ); assert(!r); + *ptr = 0; + r= pthread_mutex_unlock( &mx ); assert(!r); + } + } + return NULL; +} + +void* child32 ( void* infoV ) +{ + int r, i, firstoff, lastoff, skipoff; + char* arr; + Info* info = (Info*)infoV; + firstoff = info->firstoff; + lastoff = info->lastoff; + skipoff = info->skipoff; + arr = info->arr; + assert( sizeof(int) == 4 ); + assert( info->child == &child32 ); + { int* ptr = (int*)&arr[skipoff]; + *ptr = 0; } + for (i = firstoff; i <= lastoff; i += 4) { + int* ptr = (int*)&arr[i]; + if (i != skipoff) { + r= pthread_mutex_lock( &mx ); assert(!r); + *ptr = 0; + r= pthread_mutex_unlock( &mx ); assert(!r); + } + } + return NULL; +} + +void* child64 ( void* infoV ) +{ + int r, i, firstoff, lastoff, skipoff; + char* arr; + Info* info = (Info*)infoV; + firstoff = info->firstoff; + lastoff = info->lastoff; + skipoff = info->skipoff; + arr = info->arr; + assert( sizeof(double) == 8 ); + assert( info->child == &child64 ); + { double* ptr = (double*)&arr[skipoff]; + *ptr = 0.0; } + for (i = firstoff; i <= lastoff; i += 8) { + double* ptr = (double*)&arr[i]; + if (i != skipoff) { + r= pthread_mutex_lock( &mx ); assert(!r); + *ptr = 0.0; + r= pthread_mutex_unlock( &mx ); assert(!r); + } + } + return NULL; +} + + +void* steer ( void* infoV ); + +#define MAXXX 100 /* re 100: should cover at least 2 cycles +of length 1 << N_LINE_BITS */ +/* This is all a bit subtle. First, after every inner loop over the + data, we have to VALGRIND_TC_CLEAN_MEMORY it to get it back to a + decent starting state. Because info.arr is 8-aligned (is asserted + for), the address range painter will paint at top level granularity + (8-byte), which means we are guaranteed to see any errors from the + next iteration at the maximum granularity that their alignment + allows. + + Also, the pthread_joins cause the shadow mem cache to be flushed + each iteration. Given that all trees are pulled up to 64-bit by + the abovementioned VALGRIND_TC_CLEAN_MEMORY, I think this + irrelevant. +*/ + +int main ( void ) +{ + pthread_t t1, t2; + Info info; + int off; + + pthread_mutex_init( &mx, NULL ); + + info.arr = malloc(MAXXX); + assert(info.arr); + + /* ensure array is 8-aligned. this is important, as per comment + above. */ + assert(0 == (7 & (unsigned long)info.arr)); + +#if 1 + /* Test 8 bit granularity */ + + fprintf(stderr, "\n"); + fprintf(stderr, + "===========================================================\n"); + fprintf(stderr, + "=== 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 ===\n"); + fprintf(stderr, + "===========================================================\n"); + fprintf(stderr, "\n"); + for (off = 0; off < MAXXX-1; off++) { + + info.firstoff = off & 0; + info.lastoff = MAXXX - 1; + info.skipoff = off; + info.child = child8; + + fprintf(stderr, "---------- char gran, %d .. %d, skip %d ----------\n", + info.firstoff, info.lastoff, info.skipoff ); + + pthread_create( &t1, NULL, steer, (void*)&info ); + pthread_create( &t2, NULL, steer, (void*)&info ); + + pthread_join( t1, NULL ); + pthread_join( t2, NULL ); + + VALGRIND_HG_CLEAN_MEMORY(&info.arr[0], MAXXX); + + } +#endif +#if 1 + /* Test 16 bit granularity */ + + fprintf(stderr, "\n"); + fprintf(stderr, + "==========================================================\n"); + fprintf(stderr, + "=== 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 ===\n"); + fprintf(stderr, + "==========================================================\n"); + fprintf(stderr, "\n"); + for (off = 0; off < MAXXX-2; off++) { + + info.firstoff = off & 1; + info.lastoff = MAXXX - 2; + info.skipoff = off; + info.child = child16; + + fprintf(stderr, "---------- short gran, %d .. %d, skip %d ----------\n", + info.firstoff, info.lastoff, info.skipoff ); + + pthread_create( &t1, NULL, steer, (void*)&info ); + pthread_create( &t2, NULL, steer, (void*)&info ); + + pthread_join( t1, NULL ); + pthread_join( t2, NULL ); + + VALGRIND_HG_CLEAN_MEMORY(&info.arr[0], MAXXX); + + } +#endif +#if 1 + /* Test 32 bit granularity */ + + fprintf(stderr, "\n"); + fprintf(stderr, + "==========================================================\n"); + fprintf(stderr, + "=== 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 ===\n"); + fprintf(stderr, + "==========================================================\n"); + fprintf(stderr, "\n"); + for (off = 0; off < MAXXX-4; off++) { + + info.firstoff = off & 3; + info.lastoff = MAXXX - 4; + info.skipoff = off; + info.child = child32; + + fprintf(stderr, "---------- int gran, %d .. %d, skip %d ----------\n", + info.firstoff, info.lastoff, info.skipoff ); + + pthread_create( &t1, NULL, steer, (void*)&info ); + pthread_create( &t2, NULL, steer, (void*)&info ); + + pthread_join( t1, NULL ); + pthread_join( t2, NULL ); + + VALGRIND_HG_CLEAN_MEMORY(&info.arr[0], MAXXX); + + } +#endif +#if 1 + /* Test 64 bit granularity */ + + fprintf(stderr, "\n"); + fprintf(stderr, + "==========================================================\n"); + fprintf(stderr, + "=== 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 ===\n"); + fprintf(stderr, + "==========================================================\n"); + fprintf(stderr, "\n"); + for (off = 0; off < MAXXX-8; off++) { + + info.firstoff = off & 7; + info.lastoff = MAXXX - 8; + info.skipoff = off; + info.child = child64; + + fprintf(stderr, "---------- double gran, %d .. %d, skip %d ----------\n", + info.firstoff, info.lastoff, info.skipoff ); + + pthread_create( &t1, NULL, steer, (void*)&info ); + pthread_create( &t2, NULL, steer, (void*)&info ); + + pthread_join( t1, NULL ); + pthread_join( t2, NULL ); + + VALGRIND_HG_CLEAN_MEMORY(&info.arr[0], MAXXX); + + } +#endif + free(info.arr); + + return 0; +} + +void* steer ( void* infoV ) +{ + Info* info = (Info*)infoV; + int wot = info->skipoff; + void*(*fn)(void*) = info->child; + if (wot >= 500) goto halfway; + + __asm__ __volatile__(""); + if (wot == 0) return fn(info); + __asm__ __volatile__(""); + if (wot == 1) return fn(info); + __asm__ __volatile__(""); + if (wot == 2) return fn(info); + __asm__ __volatile__(""); + if (wot == 3) return fn(info); + __asm__ __volatile__(""); + if (wot == 4) return fn(info); + __asm__ __volatile__(""); + if (wot == 5) return fn(info); + __asm__ __volatile__(""); + if (wot == 6) return fn(info); + __asm__ __volatile__(""); + if (wot == 7) return fn(info); + __asm__ __volatile__(""); + if (wot == 8) return fn(info); + __asm__ __volatile__(""); + if (wot == 9) return fn(info); + __asm__ __volatile__(""); + if (wot == 10) return fn(info); + __asm__ __volatile__(""); + if (wot == 11) return fn(info); + __asm__ __volatile__(""); + if (wot == 12) return fn(info); + __asm__ __volatile__(""); + if (wot == 13) return fn(info); + __asm__ __volatile__(""); + if (wot == 14) return fn(info); + __asm__ __volatile__(""); + if (wot == 15) return fn(info); + __asm__ __volatile__(""); + if (wot == 16) return fn(info); + __asm__ __volatile__(""); + if (wot == 17) return fn(info); + __asm__ __volatile__(""); + if (wot == 18) return fn(info); + __asm__ __volatile__(""); + if (wot == 19) return fn(info); + __asm__ __volatile__(""); + if (wot == 20) return fn(info); + __asm__ __volatile__(""); + if (wot == 21) return fn(info); + __asm__ __volatile__(""); + if (wot == 22) return fn(info); + __asm__ __volatile__(""); + if (wot == 23) return fn(info); + __asm__ __volatile__(""); + if (wot == 24) return fn(info); + __asm__ __volatile__(""); + if (wot == 25) return fn(info); + __asm__ __volatile__(""); + if (wot == 26) return fn(info); + __asm__ __volatile__(""); + if (wot == 27) return fn(info); + __asm__ __volatile__(""); + if (wot == 28) return fn(info); + __asm__ __volatile__(""); + if (wot == 29) return fn(info); + __asm__ __volatile__(""); + if (wot == 30) return fn(info); + __asm__ __volatile__(""); + if (wot == 31) return fn(info); + __asm__ __volatile__(""); + if (wot == 32) return fn(info); + __asm__ __volatile__(""); + if (wot == 33) return fn(info); + __asm__ __volatile__(""); + if (wot == 34) return fn(info); + __asm__ __volatile__(""); + if (wot == 35) return fn(info); + __asm__ __volatile__(""); + if (wot == 36) return fn(info); + __asm__ __volatile__(""); + if (wot == 37) return fn(info); + __asm__ __volatile__(""); + if (wot == 38) return fn(info); + __asm__ __volatile__(""); + if (wot == 39) return fn(info); + __asm__ __volatile__(""); + if (wot == 40) return fn(info); + __asm__ __volatile__(""); + if (wot == 41) return fn(info); + __asm__ __volatile__(""); + if (wot == 42) return fn(info); + __asm__ __volatile__(""); + if (wot == 43) return fn(info); + __asm__ __volatile__(""); + if (wot == 44) return fn(info); + __asm__ __volatile__(""); + if (wot == 45) return fn(info); + __asm__ __volatile__(""); + if (wot == 46) return fn(info); + __asm__ __volatile__(""); + if (wot == 47) return fn(info); + __asm__ __volatile__(""); + if (wot == 48) return fn(info); + __asm__ __volatile__(""); + if (wot == 49) return fn(info); + __asm__ __volatile__(""); + if (wot == 50) return fn(info); + __asm__ __volatile__(""); + if (wot == 51) return fn(info); + __asm__ __volatile__(""); + if (wot == 52) return fn(info); + __asm__ __volatile__(""); + if (wot == 53) return fn(info); + __asm__ __volatile__(""); + if (wot == 54) return fn(info); + __asm__ __volatile__(""); + if (wot == 55) return fn(info); + __asm__ __volatile__(""); + if (wot == 56) return fn(info); + __asm__ __volatile__(""); + if (wot == 57) return fn(info); + __asm__ __volatile__(""); + if (wot == 58) return fn(info); + __asm__ __volatile__(""); + if (wot == 59) return fn(info); + __asm__ __volatile__(""); + if (wot == 60) return fn(info); + __asm__ __volatile__(""); + if (wot == 61) return fn(info); + __asm__ __volatile__(""); + if (wot == 62) return fn(info); + __asm__ __volatile__(""); + if (wot == 63) return fn(info); + __asm__ __volatile__(""); + if (wot == 64) return fn(info); + __asm__ __volatile__(""); + if (wot == 65) return fn(info); + __asm__ __volatile__(""); + if (wot == 66) return fn(info); + __asm__ __volatile__(""); + if (wot == 67) return fn(info); + __asm__ __volatile__(""); + if (wot == 68) return fn(info); + __asm__ __volatile__(""); + if (wot == 69) return fn(info); + __asm__ __volatile__(""); + if (wot == 70) return fn(info); + __asm__ __volatile__(""); + if (wot == 71) return fn(info); + __asm__ __volatile__(""); + if (wot == 72) return fn(info); + __asm__ __volatile__(""); + if (wot == 73) return fn(info); + __asm__ __volatile__(""); + if (wot == 74) return fn(info); + __asm__ __volatile__(""); + if (wot == 75) return fn(info); + __asm__ __volatile__(""); + if (wot == 76) return fn(info); + __asm__ __volatile__(""); + if (wot == 77) return fn(info); + __asm__ __volatile__(""); + if (wot == 78) return fn(info); + __asm__ __volatile__(""); + if (wot == 79) return fn(info); + __asm__ __volatile__(""); + if (wot == 80) return fn(info); + __asm__ __volatile__(""); + if (wot == 81) return fn(info); + __asm__ __volatile__(""); + if (wot == 82) return fn(info); + __asm__ __volatile__(""); + if (wot == 83) return fn(info); + __asm__ __volatile__(""); + if (wot == 84) return fn(info); + __asm__ __volatile__(""); + if (wot == 85) return fn(info); + __asm__ __volatile__(""); + if (wot == 86) return fn(info); + __asm__ __volatile__(""); + if (wot == 87) return fn(info); + __asm__ __volatile__(""); + if (wot == 88) return fn(info); + __asm__ __volatile__(""); + if (wot == 89) return fn(info); + __asm__ __volatile__(""); + if (wot == 90) return fn(info); + __asm__ __volatile__(""); + if (wot == 91) return fn(info); + __asm__ __volatile__(""); + if (wot == 92) return fn(info); + __asm__ __volatile__(""); + if (wot == 93) return fn(info); + __asm__ __volatile__(""); + if (wot == 94) return fn(info); + __asm__ __volatile__(""); + if (wot == 95) return fn(info); + __asm__ __volatile__(""); + if (wot == 96) return fn(info); + __asm__ __volatile__(""); + if (wot == 97) return fn(info); + __asm__ __volatile__(""); + if (wot == 98) return fn(info); + __asm__ __volatile__(""); + if (wot == 99) return fn(info); + __asm__ __volatile__(""); + if (wot == 100) return fn(info); + __asm__ __volatile__(""); + if (wot == 101) return fn(info); + __asm__ __volatile__(""); + if (wot == 102) return fn(info); + __asm__ __volatile__(""); + if (wot == 103) return fn(info); + __asm__ __volatile__(""); + if (wot == 104) return fn(info); + __asm__ __volatile__(""); + if (wot == 105) return fn(info); + __asm__ __volatile__(""); + if (wot == 106) return fn(info); + __asm__ __volatile__(""); + if (wot == 107) return fn(info); + __asm__ __volatile__(""); + if (wot == 108) return fn(info); + __asm__ __volatile__(""); + if (wot == 109) return fn(info); + __asm__ __volatile__(""); + if (wot == 110) return fn(info); + __asm__ __volatile__(""); + if (wot == 111) return fn(info); + __asm__ __volatile__(""); + if (wot == 112) return fn(info); + __asm__ __volatile__(""); + if (wot == 113) return fn(info); + __asm__ __volatile__(""); + if (wot == 114) return fn(info); + __asm__ __volatile__(""); + if (wot == 115) return fn(info); + __asm__ __volatile__(""); + if (wot == 116) return fn(info); + __asm__ __volatile__(""); + if (wot == 117) return fn(info); + __asm__ __volatile__(""); + if (wot == 118) return fn(info); + __asm__ __volatile__(""); + if (wot == 119) return fn(info); + __asm__ __volatile__(""); + if (wot == 120) return fn(info); + __asm__ __volatile__(""); + if (wot == 121) return fn(info); + __asm__ __volatile__(""); + if (wot == 122) return fn(info); + __asm__ __volatile__(""); + if (wot == 123) return fn(info); + __asm__ __volatile__(""); + if (wot == 124) return fn(info); + __asm__ __volatile__(""); + if (wot == 125) return fn(info); + __asm__ __volatile__(""); + if (wot == 126) return fn(info); + __asm__ __volatile__(""); + if (wot == 127) return fn(info); + __asm__ __volatile__(""); + if (wot == 128) return fn(info); + __asm__ __volatile__(""); + if (wot == 129) return fn(info); + __asm__ __volatile__(""); + if (wot == 130) return fn(info); + __asm__ __volatile__(""); + if (wot == 131) return fn(info); + __asm__ __volatile__(""); + if (wot == 132) return fn(info); + __asm__ __volatile__(""); + if (wot == 133) return fn(info); + __asm__ __volatile__(""); + if (wot == 134) return fn(info); + __asm__ __volatile__(""); + if (wot == 135) return fn(info); + __asm__ __volatile__(""); + if (wot == 136) return fn(info); + __asm__ __volatile__(""); + if (wot == 137) return fn(info); + __asm__ __volatile__(""); + if (wot == 138) return fn(info); + __asm__ __volatile__(""); + if (wot == 139) return fn(info); + __asm__ __volatile__(""); + if (wot == 140) return fn(info); + __asm__ __volatile__(""); + if (wot == 141) return fn(info); + __asm__ __volatile__(""); + if (wot == 142) return fn(info); + __asm__ __volatile__(""); + if (wot == 143) return fn(info); + __asm__ __volatile__(""); + if (wot == 144) return fn(info); + __asm__ __volatile__(""); + if (wot == 145) return fn(info); + __asm__ __volatile__(""); + if (wot == 146) return fn(info); + __asm__ __volatile__(""); + if (wot == 147) return fn(info); + __asm__ __volatile__(""); + if (wot == 148) return fn(info); + __asm__ __volatile__(""); + if (wot == 149) return fn(info); + __asm__ __volatile__(""); + if (wot == 150) return fn(info); + __asm__ __volatile__(""); + if (wot == 151) return fn(info); + __asm__ __volatile__(""); + if (wot == 152) return fn(info); + __asm__ __volatile__(""); + if (wot == 153) return fn(info); + __asm__ __volatile__(""); + if (wot == 154) return fn(info); + __asm__ __volatile__(""); + if (wot == 155) return fn(info); + __asm__ __volatile__(""); + if (wot == 156) return fn(info); + __asm__ __volatile__(""); + if (wot == 157) return fn(info); + __asm__ __volatile__(""); + if (wot == 158) return fn(info); + __asm__ __volatile__(""); + if (wot == 159) return fn(info); + __asm__ __volatile__(""); + if (wot == 160) return fn(info); + __asm__ __volatile__(""); + if (wot == 161) return fn(info); + __asm__ __volatile__(""); + if (wot == 162) return fn(info); + __asm__ __volatile__(""); + if (wot == 163) return fn(info); + __asm__ __volatile__(""); + if (wot == 164) return fn(info); + __asm__ __volatile__(""); + if (wot == 165) return fn(info); + __asm__ __volatile__(""); + if (wot == 166) return fn(info); + __asm__ __volatile__(""); + if (wot == 167) return fn(info); + __asm__ __volatile__(""); + if (wot == 168) return fn(info); + __asm__ __volatile__(""); + if (wot == 169) return fn(info); + __asm__ __volatile__(""); + if (wot == 170) return fn(info); + __asm__ __volatile__(""); + if (wot == 171) return fn(info); + __asm__ __volatile__(""); + if (wot == 172) return fn(info); + __asm__ __volatile__(""); + if (wot == 173) return fn(info); + __asm__ __volatile__(""); + if (wot == 174) return fn(info); + __asm__ __volatile__(""); + if (wot == 175) return fn(info); + __asm__ __volatile__(""); + if (wot == 176) return fn(info); + __asm__ __volatile__(""); + if (wot == 177) return fn(info); + __asm__ __volatile__(""); + if (wot == 178) return fn(info); + __asm__ __volatile__(""); + if (wot == 179) return fn(info); + __asm__ __volatile__(""); + if (wot == 180) return fn(info); + __asm__ __volatile__(""); + if (wot == 181) return fn(info); + __asm__ __volatile__(""); + if (wot == 182) return fn(info); + __asm__ __volatile__(""); + if (wot == 183) return fn(info); + __asm__ __volatile__(""); + if (wot == 184) return fn(info); + __asm__ __volatile__(""); + if (wot == 185) return fn(info); + __asm__ __volatile__(""); + if (wot == 186) return fn(info); + __asm__ __volatile__(""); + if (wot == 187) return fn(info); + __asm__ __volatile__(""); + if (wot == 188) return fn(info); + __asm__ __volatile__(""); + if (wot == 189) return fn(info); + __asm__ __volatile__(""); + if (wot == 190) return fn(info); + __asm__ __volatile__(""); + if (wot == 191) return fn(info); + __asm__ __volatile__(""); + if (wot == 192) return fn(info); + __asm__ __volatile__(""); + if (wot == 193) return fn(info); + __asm__ __volatile__(""); + if (wot == 194) return fn(info); + __asm__ __volatile__(""); + if (wot == 195) return fn(info); + __asm__ __volatile__(""); + if (wot == 196) return fn(info); + __asm__ __volatile__(""); + if (wot == 197) return fn(info); + __asm__ __volatile__(""); + if (wot == 198) return fn(info); + __asm__ __volatile__(""); + if (wot == 199) return fn(info); + __asm__ __volatile__(""); + if (wot == 200) return fn(info); + __asm__ __volatile__(""); + if (wot == 201) return fn(info); + __asm__ __volatile__(""); + if (wot == 202) return fn(info); + __asm__ __volatile__(""); + if (wot == 203) return fn(info); + __asm__ __volatile__(""); + if (wot == 204) return fn(info); + __asm__ __volatile__(""); + if (wot == 205) return fn(info); + __asm__ __volatile__(""); + if (wot == 206) return fn(info); + __asm__ __volatile__(""); + if (wot == 207) return fn(info); + __asm__ __volatile__(""); + if (wot == 208) return fn(info); + __asm__ __volatile__(""); + if (wot == 209) return fn(info); + __asm__ __volatile__(""); + if (wot == 210) return fn(info); + __asm__ __volatile__(""); + if (wot == 211) return fn(info); + __asm__ __volatile__(""); + if (wot == 212) return fn(info); + __asm__ __volatile__(""); + if (wot == 213) return fn(info); + __asm__ __volatile__(""); + if (wot == 214) return fn(info); + __asm__ __volatile__(""); + if (wot == 215) return fn(info); + __asm__ __volatile__(""); + if (wot == 216) return fn(info); + __asm__ __volatile__(""); + if (wot == 217) return fn(info); + __asm__ __volatile__(""); + if (wot == 218) return fn(info); + __asm__ __volatile__(""); + if (wot == 219) return fn(info); + __asm__ __volatile__(""); + if (wot == 220) return fn(info); + __asm__ __volatile__(""); + if (wot == 221) return fn(info); + __asm__ __volatile__(""); + if (wot == 222) return fn(info); + __asm__ __volatile__(""); + if (wot == 223) return fn(info); + __asm__ __volatile__(""); + if (wot == 224) return fn(info); + __asm__ __volatile__(""); + if (wot == 225) return fn(info); + __asm__ __volatile__(""); + if (wot == 226) return fn(info); + __asm__ __volatile__(""); + if (wot == 227) return fn(info); + __asm__ __volatile__(""); + if (wot == 228) return fn(info); + __asm__ __volatile__(""); + if (wot == 229) return fn(info); + __asm__ __volatile__(""); + if (wot == 230) return fn(info); + __asm__ __volatile__(""); + if (wot == 231) return fn(info); + __asm__ __volatile__(""); + if (wot == 232) return fn(info); + __asm__ __volatile__(""); + if (wot == 233) return fn(info); + __asm__ __volatile__(""); + if (wot == 234) return fn(info); + __asm__ __volatile__(""); + if (wot == 235) return fn(info); + __asm__ __volatile__(""); + if (wot == 236) return fn(info); + __asm__ __volatile__(""); + if (wot == 237) return fn(info); + __asm__ __volatile__(""); + if (wot == 238) return fn(info); + __asm__ __volatile__(""); + if (wot == 239) return fn(info); + __asm__ __volatile__(""); + if (wot == 240) return fn(info); + __asm__ __volatile__(""); + if (wot == 241) return fn(info); + __asm__ __volatile__(""); + if (wot == 242) return fn(info); + __asm__ __volatile__(""); + if (wot == 243) return fn(info); + __asm__ __volatile__(""); + if (wot == 244) return fn(info); + __asm__ __volatile__(""); + if (wot == 245) return fn(info); + __asm__ __volatile__(""); + if (wot == 246) return fn(info); + __asm__ __volatile__(""); + if (wot == 247) return fn(info); + __asm__ __volatile__(""); + if (wot == 248) return fn(info); + __asm__ __volatile__(""); + if (wot == 249) return fn(info); + __asm__ __volatile__(""); + if (wot == 250) return fn(info); + __asm__ __volatile__(""); + if (wot == 251) return fn(info); + __asm__ __volatile__(""); + if (wot == 252) return fn(info); + __asm__ __volatile__(""); + if (wot == 253) return fn(info); + __asm__ __volatile__(""); + if (wot == 254) return fn(info); + __asm__ __volatile__(""); + if (wot == 255) return fn(info); + __asm__ __volatile__(""); + if (wot == 256) return fn(info); + __asm__ __volatile__(""); + if (wot == 257) return fn(info); + __asm__ __volatile__(""); + if (wot == 258) return fn(info); + __asm__ __volatile__(""); + if (wot == 259) return fn(info); + __asm__ __volatile__(""); + if (wot == 260) return fn(info); + __asm__ __volatile__(""); + if (wot == 261) return fn(info); + __asm__ __volatile__(""); + if (wot == 262) return fn(info); + __asm__ __volatile__(""); + if (wot == 263) return fn(info); + __asm__ __volatile__(""); + if (wot == 264) return fn(info); + __asm__ __volatile__(""); + if (wot == 265) return fn(info); + __asm__ __volatile__(""); + if (wot == 266) return fn(info); + __asm__ __volatile__(""); + if (wot == 267) return fn(info); + __asm__ __volatile__(""); + if (wot == 268) return fn(info); + __asm__ __volatile__(""); + if (wot == 269) return fn(info); + __asm__ __volatile__(""); + if (wot == 270) return fn(info); + __asm__ __volatile__(""); + if (wot == 271) return fn(info); + __asm__ __volatile__(""); + if (wot == 272) return fn(info); + __asm__ __volatile__(""); + if (wot == 273) return fn(info); + __asm__ __volatile__(""); + if (wot == 274) return fn(info); + __asm__ __volatile__(""); + if (wot == 275) return fn(info); + __asm__ __volatile__(""); + if (wot == 276) return fn(info); + __asm__ __volatile__(""); + if (wot == 277) return fn(info); + __asm__ __volatile__(""); + if (wot == 278) return fn(info); + __asm__ __volatile__(""); + if (wot == 279) return fn(info); + __asm__ __volatile__(""); + if (wot == 280) return fn(info); + __asm__ __volatile__(""); + if (wot == 281) return fn(info); + __asm__ __volatile__(""); + if (wot == 282) return fn(info); + __asm__ __volatile__(""); + if (wot == 283) return fn(info); + __asm__ __volatile__(""); + if (wot == 284) return fn(info); + __asm__ __volatile__(""); + if (wot == 285) return fn(info); + __asm__ __volatile__(""); + if (wot == 286) return fn(info); + __asm__ __volatile__(""); + if (wot == 287) return fn(info); + __asm__ __volatile__(""); + if (wot == 288) return fn(info); + __asm__ __volatile__(""); + if (wot == 289) return fn(info); + __asm__ __volatile__(""); + if (wot == 290) return fn(info); + __asm__ __volatile__(""); + if (wot == 291) return fn(info); + __asm__ __volatile__(""); + if (wot == 292) return fn(info); + __asm__ __volatile__(""); + if (wot == 293) return fn(info); + __asm__ __volatile__(""); + if (wot == 294) return fn(info); + __asm__ __volatile__(""); + if (wot == 295) return fn(info); + __asm__ __volatile__(""); + if (wot == 296) return fn(info); + __asm__ __volatile__(""); + if (wot == 297) return fn(info); + __asm__ __volatile__(""); + if (wot == 298) return fn(info); + __asm__ __volatile__(""); + if (wot == 299) return fn(info); + __asm__ __volatile__(""); + if (wot == 300) return fn(info); + __asm__ __volatile__(""); + if (wot == 301) return fn(info); + __asm__ __volatile__(""); + if (wot == 302) return fn(info); + __asm__ __volatile__(""); + if (wot == 303) return fn(info); + __asm__ __volatile__(""); + if (wot == 304) return fn(info); + __asm__ __volatile__(""); + if (wot == 305) return fn(info); + __asm__ __volatile__(""); + if (wot == 306) return fn(info); + __asm__ __volatile__(""); + if (wot == 307) return fn(info); + __asm__ __volatile__(""); + if (wot == 308) return fn(info); + __asm__ __volatile__(""); + if (wot == 309) return fn(info); + __asm__ __volatile__(""); + if (wot == 310) return fn(info); + __asm__ __volatile__(""); + if (wot == 311) return fn(info); + __asm__ __volatile__(""); + if (wot == 312) return fn(info); + __asm__ __volatile__(""); + if (wot == 313) return fn(info); + __asm__ __volatile__(""); + if (wot == 314) return fn(info); + __asm__ __volatile__(""); + if (wot == 315) return fn(info); + __asm__ __volatile__(""); + if (wot == 316) return fn(info); + __asm__ __volatile__(""); + if (wot == 317) return fn(info); + __asm__ __volatile__(""); + if (wot == 318) return fn(info); + __asm__ __volatile__(""); + if (wot == 319) return fn(info); + __asm__ __volatile__(""); + if (wot == 320) return fn(info); + __asm__ __volatile__(""); + if (wot == 321) return fn(info); + __asm__ __volatile__(""); + if (wot == 322) return fn(info); + __asm__ __volatile__(""); + if (wot == 323) return fn(info); + __asm__ __volatile__(""); + if (wot == 324) return fn(info); + __asm__ __volatile__(""); + if (wot == 325) return fn(info); + __asm__ __volatile__(""); + if (wot == 326) return fn(info); + __asm__ __volatile__(""); + if (wot == 327) return fn(info); + __asm__ __volatile__(""); + if (wot == 328) return fn(info); + __asm__ __volatile__(""); + if (wot == 329) return fn(info); + __asm__ __volatile__(""); + if (wot == 330) return fn(info); + __asm__ __volatile__(""); + if (wot == 331) return fn(info); + __asm__ __volatile__(""); + if (wot == 332) return fn(info); + __asm__ __volatile__(""); + if (wot == 333) return fn(info); + __asm__ __volatile__(""); + if (wot == 334) return fn(info); + __asm__ __volatile__(""); + if (wot == 335) return fn(info); + __asm__ __volatile__(""); + if (wot == 336) return fn(info); + __asm__ __volatile__(""); + if (wot == 337) return fn(info); + __asm__ __volatile__(""); + if (wot == 338) return fn(info); + __asm__ __volatile__(""); + if (wot == 339) return fn(info); + __asm__ __volatile__(""); + if (wot == 340) return fn(info); + __asm__ __volatile__(""); + if (wot == 341) return fn(info); + __asm__ __volatile__(""); + if (wot == 342) return fn(info); + __asm__ __volatile__(""); + if (wot == 343) return fn(info); + __asm__ __volatile__(""); + if (wot == 344) return fn(info); + __asm__ __volatile__(""); + if (wot == 345) return fn(info); + __asm__ __volatile__(""); + if (wot == 346) return fn(info); + __asm__ __volatile__(""); + if (wot == 347) return fn(info); + __asm__ __volatile__(""); + if (wot == 348) return fn(info); + __asm__ __volatile__(""); + if (wot == 349) return fn(info); + __asm__ __volatile__(""); + if (wot == 350) return fn(info); + __asm__ __volatile__(""); + if (wot == 351) return fn(info); + __asm__ __volatile__(""); + if (wot == 352) return fn(info); + __asm__ __volatile__(""); + if (wot == 353) return fn(info); + __asm__ __volatile__(""); + if (wot == 354) return fn(info); + __asm__ __volatile__(""); + if (wot == 355) return fn(info); + __asm__ __volatile__(""); + if (wot == 356) return fn(info); + __asm__ __volatile__(""); + if (wot == 357) return fn(info); + __asm__ __volatile__(""); + if (wot == 358) return fn(info); + __asm__ __volatile__(""); + if (wot == 359) return fn(info); + __asm__ __volatile__(""); + if (wot == 360) return fn(info); + __asm__ __volatile__(""); + if (wot == 361) return fn(info); + __asm__ __volatile__(""); + if (wot == 362) return fn(info); + __asm__ __volatile__(""); + if (wot == 363) return fn(info); + __asm__ __volatile__(""); + if (wot == 364) return fn(info); + __asm__ __volatile__(""); + if (wot == 365) return fn(info); + __asm__ __volatile__(""); + if (wot == 366) return fn(info); + __asm__ __volatile__(""); + if (wot == 367) return fn(info); + __asm__ __volatile__(""); + if (wot == 368) return fn(info); + __asm__ __volatile__(""); + if (wot == 369) return fn(info); + __asm__ __volatile__(""); + if (wot == 370) return fn(info); + __asm__ __volatile__(""); + if (wot == 371) return fn(info); + __asm__ __volatile__(""); + if (wot == 372) return fn(info); + __asm__ __volatile__(""); + if (wot == 373) return fn(info); + __asm__ __volatile__(""); + if (wot == 374) return fn(info); + __asm__ __volatile__(""); + if (wot == 375) return fn(info); + __asm__ __volatile__(""); + if (wot == 376) return fn(info); + __asm__ __volatile__(""); + if (wot == 377) return fn(info); + __asm__ __volatile__(""); + if (wot == 378) return fn(info); + __asm__ __volatile__(""); + if (wot == 379) return fn(info); + __asm__ __volatile__(""); + if (wot == 380) return fn(info); + __asm__ __volatile__(""); + if (wot == 381) return fn(info); + __asm__ __volatile__(""); + if (wot == 382) return fn(info); + __asm__ __volatile__(""); + if (wot == 383) return fn(info); + __asm__ __volatile__(""); + if (wot == 384) return fn(info); + __asm__ __volatile__(""); + if (wot == 385) return fn(info); + __asm__ __volatile__(""); + if (wot == 386) return fn(info); + __asm__ __volatile__(""); + if (wot == 387) return fn(info); + __asm__ __volatile__(""); + if (wot == 388) return fn(info); + __asm__ __volatile__(""); + if (wot == 389) return fn(info); + __asm__ __volatile__(""); + if (wot == 390) return fn(info); + __asm__ __volatile__(""); + if (wot == 391) return fn(info); + __asm__ __volatile__(""); + if (wot == 392) return fn(info); + __asm__ __volatile__(""); + if (wot == 393) return fn(info); + __asm__ __volatile__(""); + if (wot == 394) return fn(info); + __asm__ __volatile__(""); + if (wot == 395) return fn(info); + __asm__ __volatile__(""); + if (wot == 396) return fn(info); + __asm__ __volatile__(""); + if (wot == 397) return fn(info); + __asm__ __volatile__(""); + if (wot == 398) return fn(info); + __asm__ __volatile__(""); + if (wot == 399) return fn(info); + __asm__ __volatile__(""); + if (wot == 400) return fn(info); + __asm__ __volatile__(""); + if (wot == 401) return fn(info); + __asm__ __volatile__(""); + if (wot == 402) return fn(info); + __asm__ __volatile__(""); + if (wot == 403) return fn(info); + __asm__ __volatile__(""); + if (wot == 404) return fn(info); + __asm__ __volatile__(""); + if (wot == 405) return fn(info); + __asm__ __volatile__(""); + if (wot == 406) return fn(info); + __asm__ __volatile__(""); + if (wot == 407) return fn(info); + __asm__ __volatile__(""); + if (wot == 408) return fn(info); + __asm__ __volatile__(""); + if (wot == 409) return fn(info); + __asm__ __volatile__(""); + if (wot == 410) return fn(info); + __asm__ __volatile__(""); + if (wot == 411) return fn(info); + __asm__ __volatile__(""); + if (wot == 412) return fn(info); + __asm__ __volatile__(""); + if (wot == 413) return fn(info); + __asm__ __volatile__(""); + if (wot == 414) return fn(info); + __asm__ __volatile__(""); + if (wot == 415) return fn(info); + __asm__ __volatile__(""); + if (wot == 416) return fn(info); + __asm__ __volatile__(""); + if (wot == 417) return fn(info); + __asm__ __volatile__(""); + if (wot == 418) return fn(info); + __asm__ __volatile__(""); + if (wot == 419) return fn(info); + __asm__ __volatile__(""); + if (wot == 420) return fn(info); + __asm__ __volatile__(""); + if (wot == 421) return fn(info); + __asm__ __volatile__(""); + if (wot == 422) return fn(info); + __asm__ __volatile__(""); + if (wot == 423) return fn(info); + __asm__ __volatile__(""); + if (wot == 424) return fn(info); + __asm__ __volatile__(""); + if (wot == 425) return fn(info); + __asm__ __volatile__(""); + if (wot == 426) return fn(info); + __asm__ __volatile__(""); + if (wot == 427) return fn(info); + __asm__ __volatile__(""); + if (wot == 428) return fn(info); + __asm__ __volatile__(""); + if (wot == 429) return fn(info); + __asm__ __volatile__(""); + if (wot == 430) return fn(info); + __asm__ __volatile__(""); + if (wot == 431) return fn(info); + __asm__ __volatile__(""); + if (wot == 432) return fn(info); + __asm__ __volatile__(""); + if (wot == 433) return fn(info); + __asm__ __volatile__(""); + if (wot == 434) return fn(info); + __asm__ __volatile__(""); + if (wot == 435) return fn(info); + __asm__ __volatile__(""); + if (wot == 436) return fn(info); + __asm__ __volatile__(""); + if (wot == 437) return fn(info); + __asm__ __volatile__(""); + if (wot == 438) return fn(info); + __asm__ __volatile__(""); + if (wot == 439) return fn(info); + __asm__ __volatile__(""); + if (wot == 440) return fn(info); + __asm__ __volatile__(""); + if (wot == 441) return fn(info); + __asm__ __volatile__(""); + if (wot == 442) return fn(info); + __asm__ __volatile__(""); + if (wot == 443) return fn(info); + __asm__ __volatile__(""); + if (wot == 444) return fn(info); + __asm__ __volatile__(""); + if (wot == 445) return fn(info); + __asm__ __volatile__(""); + if (wot == 446) return fn(info); + __asm__ __volatile__(""); + if (wot == 447) return fn(info); + __asm__ __volatile__(""); + if (wot == 448) return fn(info); + __asm__ __volatile__(""); + if (wot == 449) return fn(info); + __asm__ __volatile__(""); + if (wot == 450) return fn(info); + __asm__ __volatile__(""); + if (wot == 451) return fn(info); + __asm__ __volatile__(""); + if (wot == 452) return fn(info); + __asm__ __volatile__(""); + if (wot == 453) return fn(info); + __asm__ __volatile__(""); + if (wot == 454) return fn(info); + __asm__ __volatile__(""); + if (wot == 455) return fn(info); + __asm__ __volatile__(""); + if (wot == 456) return fn(info); + __asm__ __volatile__(""); + if (wot == 457) return fn(info); + __asm__ __volatile__(""); + if (wot == 458) return fn(info); + __asm__ __volatile__(""); + if (wot == 459) return fn(info); + __asm__ __volatile__(""); + if (wot == 460) return fn(info); + __asm__ __volatile__(""); + if (wot == 461) return fn(info); + __asm__ __volatile__(""); + if (wot == 462) return fn(info); + __asm__ __volatile__(""); + if (wot == 463) return fn(info); + __asm__ __volatile__(""); + if (wot == 464) return fn(info); + __asm__ __volatile__(""); + if (wot == 465) return fn(info); + __asm__ __volatile__(""); + if (wot == 466) return fn(info); + __asm__ __volatile__(""); + if (wot == 467) return fn(info); + __asm__ __volatile__(""); + if (wot == 468) return fn(info); + __asm__ __volatile__(""); + if (wot == 469) return fn(info); + __asm__ __volatile__(""); + if (wot == 470) return fn(info); + __asm__ __volatile__(""); + if (wot == 471) return fn(info); + __asm__ __volatile__(""); + if (wot == 472) return fn(info); + __asm__ __volatile__(""); + if (wot == 473) return fn(info); + __asm__ __volatile__(""); + if (wot == 474) return fn(info); + __asm__ __volatile__(""); + if (wot == 475) return fn(info); + __asm__ __volatile__(""); + if (wot == 476) return fn(info); + __asm__ __volatile__(""); + if (wot == 477) return fn(info); + __asm__ __volatile__(""); + if (wot == 478) return fn(info); + __asm__ __volatile__(""); + if (wot == 479) return fn(info); + __asm__ __volatile__(""); + if (wot == 480) return fn(info); + __asm__ __volatile__(""); + if (wot == 481) return fn(info); + __asm__ __volatile__(""); + if (wot == 482) return fn(info); + __asm__ __volatile__(""); + if (wot == 483) return fn(info); + __asm__ __volatile__(""); + if (wot == 484) return fn(info); + __asm__ __volatile__(""); + if (wot == 485) return fn(info); + __asm__ __volatile__(""); + if (wot == 486) return fn(info); + __asm__ __volatile__(""); + if (wot == 487) return fn(info); + __asm__ __volatile__(""); + if (wot == 488) return fn(info); + __asm__ __volatile__(""); + if (wot == 489) return fn(info); + __asm__ __volatile__(""); + if (wot == 490) return fn(info); + __asm__ __volatile__(""); + if (wot == 491) return fn(info); + __asm__ __volatile__(""); + if (wot == 492) return fn(info); + __asm__ __volatile__(""); + if (wot == 493) return fn(info); + __asm__ __volatile__(""); + if (wot == 494) return fn(info); + __asm__ __volatile__(""); + if (wot == 495) return fn(info); + __asm__ __volatile__(""); + if (wot == 496) return fn(info); + __asm__ __volatile__(""); + if (wot == 497) return fn(info); + __asm__ __volatile__(""); + if (wot == 498) return fn(info); + __asm__ __volatile__(""); + if (wot == 499) return fn(info); + __asm__ __volatile__(""); + halfway: + if (wot == 500) return fn(info); + __asm__ __volatile__(""); + if (wot == 501) return fn(info); + __asm__ __volatile__(""); + if (wot == 502) return fn(info); + __asm__ __volatile__(""); + if (wot == 503) return fn(info); + __asm__ __volatile__(""); + if (wot == 504) return fn(info); + __asm__ __volatile__(""); + if (wot == 505) return fn(info); + __asm__ __volatile__(""); + if (wot == 506) return fn(info); + __asm__ __volatile__(""); + if (wot == 507) return fn(info); + __asm__ __volatile__(""); + if (wot == 508) return fn(info); + __asm__ __volatile__(""); + if (wot == 509) return fn(info); + __asm__ __volatile__(""); + if (wot == 510) return fn(info); + __asm__ __volatile__(""); + if (wot == 511) return fn(info); + __asm__ __volatile__(""); + if (wot == 512) return fn(info); + __asm__ __volatile__(""); + if (wot == 513) return fn(info); + __asm__ __volatile__(""); + if (wot == 514) return fn(info); + __asm__ __volatile__(""); + if (wot == 515) return fn(info); + __asm__ __volatile__(""); + if (wot == 516) return fn(info); + __asm__ __volatile__(""); + if (wot == 517) return fn(info); + __asm__ __volatile__(""); + if (wot == 518) return fn(info); + __asm__ __volatile__(""); + if (wot == 519) return fn(info); + __asm__ __volatile__(""); + if (wot == 520) return fn(info); + __asm__ __volatile__(""); + if (wot == 521) return fn(info); + __asm__ __volatile__(""); + if (wot == 522) return fn(info); + __asm__ __volatile__(""); + if (wot == 523) return fn(info); + __asm__ __volatile__(""); + if (wot == 524) return fn(info); + __asm__ __volatile__(""); + if (wot == 525) return fn(info); + __asm__ __volatile__(""); + if (wot == 526) return fn(info); + __asm__ __volatile__(""); + if (wot == 527) return fn(info); + __asm__ __volatile__(""); + if (wot == 528) return fn(info); + __asm__ __volatile__(""); + if (wot == 529) return fn(info); + __asm__ __volatile__(""); + if (wot == 530) return fn(info); + __asm__ __volatile__(""); + if (wot == 531) return fn(info); + __asm__ __volatile__(""); + if (wot == 532) return fn(info); + __asm__ __volatile__(""); + if (wot == 533) return fn(info); + __asm__ __volatile__(""); + if (wot == 534) return fn(info); + __asm__ __volatile__(""); + if (wot == 535) return fn(info); + __asm__ __volatile__(""); + if (wot == 536) return fn(info); + __asm__ __volatile__(""); + if (wot == 537) return fn(info); + __asm__ __volatile__(""); + if (wot == 538) return fn(info); + __asm__ __volatile__(""); + if (wot == 539) return fn(info); + __asm__ __volatile__(""); + if (wot == 540) return fn(info); + __asm__ __volatile__(""); + if (wot == 541) return fn(info); + __asm__ __volatile__(""); + if (wot == 542) return fn(info); + __asm__ __volatile__(""); + if (wot == 543) return fn(info); + __asm__ __volatile__(""); + if (wot == 544) return fn(info); + __asm__ __volatile__(""); + if (wot == 545) return fn(info); + __asm__ __volatile__(""); + if (wot == 546) return fn(info); + __asm__ __volatile__(""); + if (wot == 547) return fn(info); + __asm__ __volatile__(""); + if (wot == 548) return fn(info); + __asm__ __volatile__(""); + if (wot == 549) return fn(info); + __asm__ __volatile__(""); + if (wot == 550) return fn(info); + __asm__ __volatile__(""); + if (wot == 551) return fn(info); + __asm__ __volatile__(""); + if (wot == 552) return fn(info); + __asm__ __volatile__(""); + if (wot == 553) return fn(info); + __asm__ __volatile__(""); + if (wot == 554) return fn(info); + __asm__ __volatile__(""); + if (wot == 555) return fn(info); + __asm__ __volatile__(""); + if (wot == 556) return fn(info); + __asm__ __volatile__(""); + if (wot == 557) return fn(info); + __asm__ __volatile__(""); + if (wot == 558) return fn(info); + __asm__ __volatile__(""); + if (wot == 559) return fn(info); + __asm__ __volatile__(""); + if (wot == 560) return fn(info); + __asm__ __volatile__(""); + if (wot == 561) return fn(info); + __asm__ __volatile__(""); + if (wot == 562) return fn(info); + __asm__ __volatile__(""); + if (wot == 563) return fn(info); + __asm__ __volatile__(""); + if (wot == 564) return fn(info); + __asm__ __volatile__(""); + if (wot == 565) return fn(info); + __asm__ __volatile__(""); + if (wot == 566) return fn(info); + __asm__ __volatile__(""); + if (wot == 567) return fn(info); + __asm__ __volatile__(""); + if (wot == 568) return fn(info); + __asm__ __volatile__(""); + if (wot == 569) return fn(info); + __asm__ __volatile__(""); + if (wot == 570) return fn(info); + __asm__ __volatile__(""); + if (wot == 571) return fn(info); + __asm__ __volatile__(""); + if (wot == 572) return fn(info); + __asm__ __volatile__(""); + if (wot == 573) return fn(info); + __asm__ __volatile__(""); + if (wot == 574) return fn(info); + __asm__ __volatile__(""); + if (wot == 575) return fn(info); + __asm__ __volatile__(""); + if (wot == 576) return fn(info); + __asm__ __volatile__(""); + if (wot == 577) return fn(info); + __asm__ __volatile__(""); + if (wot == 578) return fn(info); + __asm__ __volatile__(""); + if (wot == 579) return fn(info); + __asm__ __volatile__(""); + if (wot == 580) return fn(info); + __asm__ __volatile__(""); + if (wot == 581) return fn(info); + __asm__ __volatile__(""); + if (wot == 582) return fn(info); + __asm__ __volatile__(""); + if (wot == 583) return fn(info); + __asm__ __volatile__(""); + if (wot == 584) return fn(info); + __asm__ __volatile__(""); + if (wot == 585) return fn(info); + __asm__ __volatile__(""); + if (wot == 586) return fn(info); + __asm__ __volatile__(""); + if (wot == 587) return fn(info); + __asm__ __volatile__(""); + if (wot == 588) return fn(info); + __asm__ __volatile__(""); + if (wot == 589) return fn(info); + __asm__ __volatile__(""); + if (wot == 590) return fn(info); + __asm__ __volatile__(""); + if (wot == 591) return fn(info); + __asm__ __volatile__(""); + if (wot == 592) return fn(info); + __asm__ __volatile__(""); + if (wot == 593) return fn(info); + __asm__ __volatile__(""); + if (wot == 594) return fn(info); + __asm__ __volatile__(""); + if (wot == 595) return fn(info); + __asm__ __volatile__(""); + if (wot == 596) return fn(info); + __asm__ __volatile__(""); + if (wot == 597) return fn(info); + __asm__ __volatile__(""); + if (wot == 598) return fn(info); + __asm__ __volatile__(""); + if (wot == 599) return fn(info); + __asm__ __volatile__(""); + if (wot == 600) return fn(info); + __asm__ __volatile__(""); + if (wot == 601) return fn(info); + __asm__ __volatile__(""); + if (wot == 602) return fn(info); + __asm__ __volatile__(""); + if (wot == 603) return fn(info); + __asm__ __volatile__(""); + if (wot == 604) return fn(info); + __asm__ __volatile__(""); + if (wot == 605) return fn(info); + __asm__ __volatile__(""); + if (wot == 606) return fn(info); + __asm__ __volatile__(""); + if (wot == 607) return fn(info); + __asm__ __volatile__(""); + if (wot == 608) return fn(info); + __asm__ __volatile__(""); + if (wot == 609) return fn(info); + __asm__ __volatile__(""); + if (wot == 610) return fn(info); + __asm__ __volatile__(""); + if (wot == 611) return fn(info); + __asm__ __volatile__(""); + if (wot == 612) return fn(info); + __asm__ __volatile__(""); + if (wot == 613) return fn(info); + __asm__ __volatile__(""); + if (wot == 614) return fn(info); + __asm__ __volatile__(""); + if (wot == 615) return fn(info); + __asm__ __volatile__(""); + if (wot == 616) return fn(info); + __asm__ __volatile__(""); + if (wot == 617) return fn(info); + __asm__ __volatile__(""); + if (wot == 618) return fn(info); + __asm__ __volatile__(""); + if (wot == 619) return fn(info); + __asm__ __volatile__(""); + if (wot == 620) return fn(info); + __asm__ __volatile__(""); + if (wot == 621) return fn(info); + __asm__ __volatile__(""); + if (wot == 622) return fn(info); + __asm__ __volatile__(""); + if (wot == 623) return fn(info); + __asm__ __volatile__(""); + if (wot == 624) return fn(info); + __asm__ __volatile__(""); + if (wot == 625) return fn(info); + __asm__ __volatile__(""); + if (wot == 626) return fn(info); + __asm__ __volatile__(""); + if (wot == 627) return fn(info); + __asm__ __volatile__(""); + if (wot == 628) return fn(info); + __asm__ __volatile__(""); + if (wot == 629) return fn(info); + __asm__ __volatile__(""); + if (wot == 630) return fn(info); + __asm__ __volatile__(""); + if (wot == 631) return fn(info); + __asm__ __volatile__(""); + if (wot == 632) return fn(info); + __asm__ __volatile__(""); + if (wot == 633) return fn(info); + __asm__ __volatile__(""); + if (wot == 634) return fn(info); + __asm__ __volatile__(""); + if (wot == 635) return fn(info); + __asm__ __volatile__(""); + if (wot == 636) return fn(info); + __asm__ __volatile__(""); + if (wot == 637) return fn(info); + __asm__ __volatile__(""); + if (wot == 638) return fn(info); + __asm__ __volatile__(""); + if (wot == 639) return fn(info); + __asm__ __volatile__(""); + if (wot == 640) return fn(info); + __asm__ __volatile__(""); + if (wot == 641) return fn(info); + __asm__ __volatile__(""); + if (wot == 642) return fn(info); + __asm__ __volatile__(""); + if (wot == 643) return fn(info); + __asm__ __volatile__(""); + if (wot == 644) return fn(info); + __asm__ __volatile__(""); + if (wot == 645) return fn(info); + __asm__ __volatile__(""); + if (wot == 646) return fn(info); + __asm__ __volatile__(""); + if (wot == 647) return fn(info); + __asm__ __volatile__(""); + if (wot == 648) return fn(info); + __asm__ __volatile__(""); + if (wot == 649) return fn(info); + __asm__ __volatile__(""); + if (wot == 650) return fn(info); + __asm__ __volatile__(""); + if (wot == 651) return fn(info); + __asm__ __volatile__(""); + if (wot == 652) return fn(info); + __asm__ __volatile__(""); + if (wot == 653) return fn(info); + __asm__ __volatile__(""); + if (wot == 654) return fn(info); + __asm__ __volatile__(""); + if (wot == 655) return fn(info); + __asm__ __volatile__(""); + if (wot == 656) return fn(info); + __asm__ __volatile__(""); + if (wot == 657) return fn(info); + __asm__ __volatile__(""); + if (wot == 658) return fn(info); + __asm__ __volatile__(""); + if (wot == 659) return fn(info); + __asm__ __volatile__(""); + if (wot == 660) return fn(info); + __asm__ __volatile__(""); + if (wot == 661) return fn(info); + __asm__ __volatile__(""); + if (wot == 662) return fn(info); + __asm__ __volatile__(""); + if (wot == 663) return fn(info); + __asm__ __volatile__(""); + if (wot == 664) return fn(info); + __asm__ __volatile__(""); + if (wot == 665) return fn(info); + __asm__ __volatile__(""); + if (wot == 666) return fn(info); + __asm__ __volatile__(""); + if (wot == 667) return fn(info); + __asm__ __volatile__(""); + if (wot == 668) return fn(info); + __asm__ __volatile__(""); + if (wot == 669) return fn(info); + __asm__ __volatile__(""); + if (wot == 670) return fn(info); + __asm__ __volatile__(""); + if (wot == 671) return fn(info); + __asm__ __volatile__(""); + if (wot == 672) return fn(info); + __asm__ __volatile__(""); + if (wot == 673) return fn(info); + __asm__ __volatile__(""); + if (wot == 674) return fn(info); + __asm__ __volatile__(""); + if (wot == 675) return fn(info); + __asm__ __volatile__(""); + if (wot == 676) return fn(info); + __asm__ __volatile__(""); + if (wot == 677) return fn(info); + __asm__ __volatile__(""); + if (wot == 678) return fn(info); + __asm__ __volatile__(""); + if (wot == 679) return fn(info); + __asm__ __volatile__(""); + if (wot == 680) return fn(info); + __asm__ __volatile__(""); + if (wot == 681) return fn(info); + __asm__ __volatile__(""); + if (wot == 682) return fn(info); + __asm__ __volatile__(""); + if (wot == 683) return fn(info); + __asm__ __volatile__(""); + if (wot == 684) return fn(info); + __asm__ __volatile__(""); + if (wot == 685) return fn(info); + __asm__ __volatile__(""); + if (wot == 686) return fn(info); + __asm__ __volatile__(""); + if (wot == 687) return fn(info); + __asm__ __volatile__(""); + if (wot == 688) return fn(info); + __asm__ __volatile__(""); + if (wot == 689) return fn(info); + __asm__ __volatile__(""); + if (wot == 690) return fn(info); + __asm__ __volatile__(""); + if (wot == 691) return fn(info); + __asm__ __volatile__(""); + if (wot == 692) return fn(info); + __asm__ __volatile__(""); + if (wot == 693) return fn(info); + __asm__ __volatile__(""); + if (wot == 694) return fn(info); + __asm__ __volatile__(""); + if (wot == 695) return fn(info); + __asm__ __volatile__(""); + if (wot == 696) return fn(info); + __asm__ __volatile__(""); + if (wot == 697) return fn(info); + __asm__ __volatile__(""); + if (wot == 698) return fn(info); + __asm__ __volatile__(""); + if (wot == 699) return fn(info); + __asm__ __volatile__(""); + if (wot == 700) return fn(info); + __asm__ __volatile__(""); + if (wot == 701) return fn(info); + __asm__ __volatile__(""); + if (wot == 702) return fn(info); + __asm__ __volatile__(""); + if (wot == 703) return fn(info); + __asm__ __volatile__(""); + if (wot == 704) return fn(info); + __asm__ __volatile__(""); + if (wot == 705) return fn(info); + __asm__ __volatile__(""); + if (wot == 706) return fn(info); + __asm__ __volatile__(""); + if (wot == 707) return fn(info); + __asm__ __volatile__(""); + if (wot == 708) return fn(info); + __asm__ __volatile__(""); + if (wot == 709) return fn(info); + __asm__ __volatile__(""); + if (wot == 710) return fn(info); + __asm__ __volatile__(""); + if (wot == 711) return fn(info); + __asm__ __volatile__(""); + if (wot == 712) return fn(info); + __asm__ __volatile__(""); + if (wot == 713) return fn(info); + __asm__ __volatile__(""); + if (wot == 714) return fn(info); + __asm__ __volatile__(""); + if (wot == 715) return fn(info); + __asm__ __volatile__(""); + if (wot == 716) return fn(info); + __asm__ __volatile__(""); + if (wot == 717) return fn(info); + __asm__ __volatile__(""); + if (wot == 718) return fn(info); + __asm__ __volatile__(""); + if (wot == 719) return fn(info); + __asm__ __volatile__(""); + if (wot == 720) return fn(info); + __asm__ __volatile__(""); + if (wot == 721) return fn(info); + __asm__ __volatile__(""); + if (wot == 722) return fn(info); + __asm__ __volatile__(""); + if (wot == 723) return fn(info); + __asm__ __volatile__(""); + if (wot == 724) return fn(info); + __asm__ __volatile__(""); + if (wot == 725) return fn(info); + __asm__ __volatile__(""); + if (wot == 726) return fn(info); + __asm__ __volatile__(""); + if (wot == 727) return fn(info); + __asm__ __volatile__(""); + if (wot == 728) return fn(info); + __asm__ __volatile__(""); + if (wot == 729) return fn(info); + __asm__ __volatile__(""); + if (wot == 730) return fn(info); + __asm__ __volatile__(""); + if (wot == 731) return fn(info); + __asm__ __volatile__(""); + if (wot == 732) return fn(info); + __asm__ __volatile__(""); + if (wot == 733) return fn(info); + __asm__ __volatile__(""); + if (wot == 734) return fn(info); + __asm__ __volatile__(""); + if (wot == 735) return fn(info); + __asm__ __volatile__(""); + if (wot == 736) return fn(info); + __asm__ __volatile__(""); + if (wot == 737) return fn(info); + __asm__ __volatile__(""); + if (wot == 738) return fn(info); + __asm__ __volatile__(""); + if (wot == 739) return fn(info); + __asm__ __volatile__(""); + if (wot == 740) return fn(info); + __asm__ __volatile__(""); + if (wot == 741) return fn(info); + __asm__ __volatile__(""); + if (wot == 742) return fn(info); + __asm__ __volatile__(""); + if (wot == 743) return fn(info); + __asm__ __volatile__(""); + if (wot == 744) return fn(info); + __asm__ __volatile__(""); + if (wot == 745) return fn(info); + __asm__ __volatile__(""); + if (wot == 746) return fn(info); + __asm__ __volatile__(""); + if (wot == 747) return fn(info); + __asm__ __volatile__(""); + if (wot == 748) return fn(info); + __asm__ __volatile__(""); + if (wot == 749) return fn(info); + __asm__ __volatile__(""); + if (wot == 750) return fn(info); + __asm__ __volatile__(""); + if (wot == 751) return fn(info); + __asm__ __volatile__(""); + if (wot == 752) return fn(info); + __asm__ __volatile__(""); + if (wot == 753) return fn(info); + __asm__ __volatile__(""); + if (wot == 754) return fn(info); + __asm__ __volatile__(""); + if (wot == 755) return fn(info); + __asm__ __volatile__(""); + if (wot == 756) return fn(info); + __asm__ __volatile__(""); + if (wot == 757) return fn(info); + __asm__ __volatile__(""); + if (wot == 758) return fn(info); + __asm__ __volatile__(""); + if (wot == 759) return fn(info); + __asm__ __volatile__(""); + if (wot == 760) return fn(info); + __asm__ __volatile__(""); + if (wot == 761) return fn(info); + __asm__ __volatile__(""); + if (wot == 762) return fn(info); + __asm__ __volatile__(""); + if (wot == 763) return fn(info); + __asm__ __volatile__(""); + if (wot == 764) return fn(info); + __asm__ __volatile__(""); + if (wot == 765) return fn(info); + __asm__ __volatile__(""); + if (wot == 766) return fn(info); + __asm__ __volatile__(""); + if (wot == 767) return fn(info); + __asm__ __volatile__(""); + if (wot == 768) return fn(info); + __asm__ __volatile__(""); + if (wot == 769) return fn(info); + __asm__ __volatile__(""); + if (wot == 770) return fn(info); + __asm__ __volatile__(""); + if (wot == 771) return fn(info); + __asm__ __volatile__(""); + if (wot == 772) return fn(info); + __asm__ __volatile__(""); + if (wot == 773) return fn(info); + __asm__ __volatile__(""); + if (wot == 774) return fn(info); + __asm__ __volatile__(""); + if (wot == 775) return fn(info); + __asm__ __volatile__(""); + if (wot == 776) return fn(info); + __asm__ __volatile__(""); + if (wot == 777) return fn(info); + __asm__ __volatile__(""); + if (wot == 778) return fn(info); + __asm__ __volatile__(""); + if (wot == 779) return fn(info); + __asm__ __volatile__(""); + if (wot == 780) return fn(info); + __asm__ __volatile__(""); + if (wot == 781) return fn(info); + __asm__ __volatile__(""); + if (wot == 782) return fn(info); + __asm__ __volatile__(""); + if (wot == 783) return fn(info); + __asm__ __volatile__(""); + if (wot == 784) return fn(info); + __asm__ __volatile__(""); + if (wot == 785) return fn(info); + __asm__ __volatile__(""); + if (wot == 786) return fn(info); + __asm__ __volatile__(""); + if (wot == 787) return fn(info); + __asm__ __volatile__(""); + if (wot == 788) return fn(info); + __asm__ __volatile__(""); + if (wot == 789) return fn(info); + __asm__ __volatile__(""); + if (wot == 790) return fn(info); + __asm__ __volatile__(""); + if (wot == 791) return fn(info); + __asm__ __volatile__(""); + if (wot == 792) return fn(info); + __asm__ __volatile__(""); + if (wot == 793) return fn(info); + __asm__ __volatile__(""); + if (wot == 794) return fn(info); + __asm__ __volatile__(""); + if (wot == 795) return fn(info); + __asm__ __volatile__(""); + if (wot == 796) return fn(info); + __asm__ __volatile__(""); + if (wot == 797) return fn(info); + __asm__ __volatile__(""); + if (wot == 798) return fn(info); + __asm__ __volatile__(""); + if (wot == 799) return fn(info); + __asm__ __volatile__(""); + if (wot == 800) return fn(info); + __asm__ __volatile__(""); + if (wot == 801) return fn(info); + __asm__ __volatile__(""); + if (wot == 802) return fn(info); + __asm__ __volatile__(""); + if (wot == 803) return fn(info); + __asm__ __volatile__(""); + if (wot == 804) return fn(info); + __asm__ __volatile__(""); + if (wot == 805) return fn(info); + __asm__ __volatile__(""); + if (wot == 806) return fn(info); + __asm__ __volatile__(""); + if (wot == 807) return fn(info); + __asm__ __volatile__(""); + if (wot == 808) return fn(info); + __asm__ __volatile__(""); + if (wot == 809) return fn(info); + __asm__ __volatile__(""); + if (wot == 810) return fn(info); + __asm__ __volatile__(""); + if (wot == 811) return fn(info); + __asm__ __volatile__(""); + if (wot == 812) return fn(info); + __asm__ __volatile__(""); + if (wot == 813) return fn(info); + __asm__ __volatile__(""); + if (wot == 814) return fn(info); + __asm__ __volatile__(""); + if (wot == 815) return fn(info); + __asm__ __volatile__(""); + if (wot == 816) return fn(info); + __asm__ __volatile__(""); + if (wot == 817) return fn(info); + __asm__ __volatile__(""); + if (wot == 818) return fn(info); + __asm__ __volatile__(""); + if (wot == 819) return fn(info); + __asm__ __volatile__(""); + if (wot == 820) return fn(info); + __asm__ __volatile__(""); + if (wot == 821) return fn(info); + __asm__ __volatile__(""); + if (wot == 822) return fn(info); + __asm__ __volatile__(""); + if (wot == 823) return fn(info); + __asm__ __volatile__(""); + if (wot == 824) return fn(info); + __asm__ __volatile__(""); + if (wot == 825) return fn(info); + __asm__ __volatile__(""); + if (wot == 826) return fn(info); + __asm__ __volatile__(""); + if (wot == 827) return fn(info); + __asm__ __volatile__(""); + if (wot == 828) return fn(info); + __asm__ __volatile__(""); + if (wot == 829) return fn(info); + __asm__ __volatile__(""); + if (wot == 830) return fn(info); + __asm__ __volatile__(""); + if (wot == 831) return fn(info); + __asm__ __volatile__(""); + if (wot == 832) return fn(info); + __asm__ __volatile__(""); + if (wot == 833) return fn(info); + __asm__ __volatile__(""); + if (wot == 834) return fn(info); + __asm__ __volatile__(""); + if (wot == 835) return fn(info); + __asm__ __volatile__(""); + if (wot == 836) return fn(info); + __asm__ __volatile__(""); + if (wot == 837) return fn(info); + __asm__ __volatile__(""); + if (wot == 838) return fn(info); + __asm__ __volatile__(""); + if (wot == 839) return fn(info); + __asm__ __volatile__(""); + if (wot == 840) return fn(info); + __asm__ __volatile__(""); + if (wot == 841) return fn(info); + __asm__ __volatile__(""); + if (wot == 842) return fn(info); + __asm__ __volatile__(""); + if (wot == 843) return fn(info); + __asm__ __volatile__(""); + if (wot == 844) return fn(info); + __asm__ __volatile__(""); + if (wot == 845) return fn(info); + __asm__ __volatile__(""); + if (wot == 846) return fn(info); + __asm__ __volatile__(""); + if (wot == 847) return fn(info); + __asm__ __volatile__(""); + if (wot == 848) return fn(info); + __asm__ __volatile__(""); + if (wot == 849) return fn(info); + __asm__ __volatile__(""); + if (wot == 850) return fn(info); + __asm__ __volatile__(""); + if (wot == 851) return fn(info); + __asm__ __volatile__(""); + if (wot == 852) return fn(info); + __asm__ __volatile__(""); + if (wot == 853) return fn(info); + __asm__ __volatile__(""); + if (wot == 854) return fn(info); + __asm__ __volatile__(""); + if (wot == 855) return fn(info); + __asm__ __volatile__(""); + if (wot == 856) return fn(info); + __asm__ __volatile__(""); + if (wot == 857) return fn(info); + __asm__ __volatile__(""); + if (wot == 858) return fn(info); + __asm__ __volatile__(""); + if (wot == 859) return fn(info); + __asm__ __volatile__(""); + if (wot == 860) return fn(info); + __asm__ __volatile__(""); + if (wot == 861) return fn(info); + __asm__ __volatile__(""); + if (wot == 862) return fn(info); + __asm__ __volatile__(""); + if (wot == 863) return fn(info); + __asm__ __volatile__(""); + if (wot == 864) return fn(info); + __asm__ __volatile__(""); + if (wot == 865) return fn(info); + __asm__ __volatile__(""); + if (wot == 866) return fn(info); + __asm__ __volatile__(""); + if (wot == 867) return fn(info); + __asm__ __volatile__(""); + if (wot == 868) return fn(info); + __asm__ __volatile__(""); + if (wot == 869) return fn(info); + __asm__ __volatile__(""); + if (wot == 870) return fn(info); + __asm__ __volatile__(""); + if (wot == 871) return fn(info); + __asm__ __volatile__(""); + if (wot == 872) return fn(info); + __asm__ __volatile__(""); + if (wot == 873) return fn(info); + __asm__ __volatile__(""); + if (wot == 874) return fn(info); + __asm__ __volatile__(""); + if (wot == 875) return fn(info); + __asm__ __volatile__(""); + if (wot == 876) return fn(info); + __asm__ __volatile__(""); + if (wot == 877) return fn(info); + __asm__ __volatile__(""); + if (wot == 878) return fn(info); + __asm__ __volatile__(""); + if (wot == 879) return fn(info); + __asm__ __volatile__(""); + if (wot == 880) return fn(info); + __asm__ __volatile__(""); + if (wot == 881) return fn(info); + __asm__ __volatile__(""); + if (wot == 882) return fn(info); + __asm__ __volatile__(""); + if (wot == 883) return fn(info); + __asm__ __volatile__(""); + if (wot == 884) return fn(info); + __asm__ __volatile__(""); + if (wot == 885) return fn(info); + __asm__ __volatile__(""); + if (wot == 886) return fn(info); + __asm__ __volatile__(""); + if (wot == 887) return fn(info); + __asm__ __volatile__(""); + if (wot == 888) return fn(info); + __asm__ __volatile__(""); + if (wot == 889) return fn(info); + __asm__ __volatile__(""); + if (wot == 890) return fn(info); + __asm__ __volatile__(""); + if (wot == 891) return fn(info); + __asm__ __volatile__(""); + if (wot == 892) return fn(info); + __asm__ __volatile__(""); + if (wot == 893) return fn(info); + __asm__ __volatile__(""); + if (wot == 894) return fn(info); + __asm__ __volatile__(""); + if (wot == 895) return fn(info); + __asm__ __volatile__(""); + if (wot == 896) return fn(info); + __asm__ __volatile__(""); + if (wot == 897) return fn(info); + __asm__ __volatile__(""); + if (wot == 898) return fn(info); + __asm__ __volatile__(""); + if (wot == 899) return fn(info); + __asm__ __volatile__(""); + if (wot == 900) return fn(info); + __asm__ __volatile__(""); + if (wot == 901) return fn(info); + __asm__ __volatile__(""); + if (wot == 902) return fn(info); + __asm__ __volatile__(""); + if (wot == 903) return fn(info); + __asm__ __volatile__(""); + if (wot == 904) return fn(info); + __asm__ __volatile__(""); + if (wot == 905) return fn(info); + __asm__ __volatile__(""); + if (wot == 906) return fn(info); + __asm__ __volatile__(""); + if (wot == 907) return fn(info); + __asm__ __volatile__(""); + if (wot == 908) return fn(info); + __asm__ __volatile__(""); + if (wot == 909) return fn(info); + __asm__ __volatile__(""); + if (wot == 910) return fn(info); + __asm__ __volatile__(""); + if (wot == 911) return fn(info); + __asm__ __volatile__(""); + if (wot == 912) return fn(info); + __asm__ __volatile__(""); + if (wot == 913) return fn(info); + __asm__ __volatile__(""); + if (wot == 914) return fn(info); + __asm__ __volatile__(""); + if (wot == 915) return fn(info); + __asm__ __volatile__(""); + if (wot == 916) return fn(info); + __asm__ __volatile__(""); + if (wot == 917) return fn(info); + __asm__ __volatile__(""); + if (wot == 918) return fn(info); + __asm__ __volatile__(""); + if (wot == 919) return fn(info); + __asm__ __volatile__(""); + if (wot == 920) return fn(info); + __asm__ __volatile__(""); + if (wot == 921) return fn(info); + __asm__ __volatile__(""); + if (wot == 922) return fn(info); + __asm__ __volatile__(""); + if (wot == 923) return fn(info); + __asm__ __volatile__(""); + if (wot == 924) return fn(info); + __asm__ __volatile__(""); + if (wot == 925) return fn(info); + __asm__ __volatile__(""); + if (wot == 926) return fn(info); + __asm__ __volatile__(""); + if (wot == 927) return fn(info); + __asm__ __volatile__(""); + if (wot == 928) return fn(info); + __asm__ __volatile__(""); + if (wot == 929) return fn(info); + __asm__ __volatile__(""); + if (wot == 930) return fn(info); + __asm__ __volatile__(""); + if (wot == 931) return fn(info); + __asm__ __volatile__(""); + if (wot == 932) return fn(info); + __asm__ __volatile__(""); + if (wot == 933) return fn(info); + __asm__ __volatile__(""); + if (wot == 934) return fn(info); + __asm__ __volatile__(""); + if (wot == 935) return fn(info); + __asm__ __volatile__(""); + if (wot == 936) return fn(info); + __asm__ __volatile__(""); + if (wot == 937) return fn(info); + __asm__ __volatile__(""); + if (wot == 938) return fn(info); + __asm__ __volatile__(""); + if (wot == 939) return fn(info); + __asm__ __volatile__(""); + if (wot == 940) return fn(info); + __asm__ __volatile__(""); + if (wot == 941) return fn(info); + __asm__ __volatile__(""); + if (wot == 942) return fn(info); + __asm__ __volatile__(""); + if (wot == 943) return fn(info); + __asm__ __volatile__(""); + if (wot == 944) return fn(info); + __asm__ __volatile__(""); + if (wot == 945) return fn(info); + __asm__ __volatile__(""); + if (wot == 946) return fn(info); + __asm__ __volatile__(""); + if (wot == 947) return fn(info); + __asm__ __volatile__(""); + if (wot == 948) return fn(info); + __asm__ __volatile__(""); + if (wot == 949) return fn(info); + __asm__ __volatile__(""); + if (wot == 950) return fn(info); + __asm__ __volatile__(""); + if (wot == 951) return fn(info); + __asm__ __volatile__(""); + if (wot == 952) return fn(info); + __asm__ __volatile__(""); + if (wot == 953) return fn(info); + __asm__ __volatile__(""); + if (wot == 954) return fn(info); + __asm__ __volatile__(""); + if (wot == 955) return fn(info); + __asm__ __volatile__(""); + if (wot == 956) return fn(info); + __asm__ __volatile__(""); + if (wot == 957) return fn(info); + __asm__ __volatile__(""); + if (wot == 958) return fn(info); + __asm__ __volatile__(""); + if (wot == 959) return fn(info); + __asm__ __volatile__(""); + if (wot == 960) return fn(info); + __asm__ __volatile__(""); + if (wot == 961) return fn(info); + __asm__ __volatile__(""); + if (wot == 962) return fn(info); + __asm__ __volatile__(""); + if (wot == 963) return fn(info); + __asm__ __volatile__(""); + if (wot == 964) return fn(info); + __asm__ __volatile__(""); + if (wot == 965) return fn(info); + __asm__ __volatile__(""); + if (wot == 966) return fn(info); + __asm__ __volatile__(""); + if (wot == 967) return fn(info); + __asm__ __volatile__(""); + if (wot == 968) return fn(info); + __asm__ __volatile__(""); + if (wot == 969) return fn(info); + __asm__ __volatile__(""); + if (wot == 970) return fn(info); + __asm__ __volatile__(""); + if (wot == 971) return fn(info); + __asm__ __volatile__(""); + if (wot == 972) return fn(info); + __asm__ __volatile__(""); + if (wot == 973) return fn(info); + __asm__ __volatile__(""); + if (wot == 974) return fn(info); + __asm__ __volatile__(""); + if (wot == 975) return fn(info); + __asm__ __volatile__(""); + if (wot == 976) return fn(info); + __asm__ __volatile__(""); + if (wot == 977) return fn(info); + __asm__ __volatile__(""); + if (wot == 978) return fn(info); + __asm__ __volatile__(""); + if (wot == 979) return fn(info); + __asm__ __volatile__(""); + if (wot == 980) return fn(info); + __asm__ __volatile__(""); + if (wot == 981) return fn(info); + __asm__ __volatile__(""); + if (wot == 982) return fn(info); + __asm__ __volatile__(""); + if (wot == 983) return fn(info); + __asm__ __volatile__(""); + if (wot == 984) return fn(info); + __asm__ __volatile__(""); + if (wot == 985) return fn(info); + __asm__ __volatile__(""); + if (wot == 986) return fn(info); + __asm__ __volatile__(""); + if (wot == 987) return fn(info); + __asm__ __volatile__(""); + if (wot == 988) return fn(info); + __asm__ __volatile__(""); + if (wot == 989) return fn(info); + __asm__ __volatile__(""); + if (wot == 990) return fn(info); + __asm__ __volatile__(""); + if (wot == 991) return fn(info); + __asm__ __volatile__(""); + if (wot == 992) return fn(info); + __asm__ __volatile__(""); + if (wot == 993) return fn(info); + __asm__ __volatile__(""); + if (wot == 994) return fn(info); + __asm__ __volatile__(""); + if (wot == 995) return fn(info); + __asm__ __volatile__(""); + if (wot == 996) return fn(info); + __asm__ __volatile__(""); + if (wot == 997) return fn(info); + __asm__ __volatile__(""); + if (wot == 998) return fn(info); + __asm__ __volatile__(""); + if (wot == 999) return fn(info); + __asm__ __volatile__(""); + assert(0); + return 0; /* keep gcc happy on AIX */ +} diff --git a/helgrind/tests/.svn/text-base/tc19_shadowmem.stderr.exp.svn-base b/helgrind/tests/.svn/text-base/tc19_shadowmem.stderr.exp.svn-base new file mode 100644 index 0000000..1e580d2 --- /dev/null +++ b/helgrind/tests/.svn/text-base/tc19_shadowmem.stderr.exp.svn-base @@ -0,0 +1,15304 @@ + + +=========================================================== +=== 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 === +=========================================================== + +---------- char gran, 0 .. 99, skip 0 ---------- +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:288) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:288) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 1 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:290) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:290) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 2 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:292) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:292) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 3 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:294) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:294) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 4 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:296) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:296) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 5 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:298) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:298) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 6 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:300) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:300) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 7 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:302) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:302) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 8 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:304) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:304) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 9 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:306) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:306) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 10 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:308) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:308) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 11 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:310) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:310) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 12 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:312) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:312) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 13 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:314) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:314) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 14 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:316) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:316) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 15 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:318) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:318) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 16 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:320) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:320) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 17 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:322) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:322) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 18 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:324) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:324) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 19 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:326) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:326) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 20 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:328) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:328) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 21 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:330) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:330) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 22 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:332) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:332) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 23 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:334) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:334) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 24 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:336) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:336) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 25 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:338) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:338) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 26 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:340) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:340) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 27 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:342) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:342) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 28 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:344) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:344) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 29 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:346) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:346) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 30 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:348) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:348) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 31 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:350) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:350) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 32 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:352) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:352) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 33 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:354) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:354) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 34 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:356) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:356) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 35 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:358) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:358) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 36 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:360) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:360) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 37 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:362) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:362) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 38 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:364) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:364) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 39 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:366) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:366) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 40 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:368) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:368) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 41 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:370) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:370) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 42 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:372) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:372) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 43 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:374) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:374) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 44 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:376) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:376) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 45 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:378) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:378) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 46 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:380) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:380) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 47 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:382) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:382) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 48 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:384) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:384) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 49 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:386) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:386) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 50 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:388) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:388) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 51 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:390) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:390) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 52 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:392) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:392) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 53 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:394) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:394) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 54 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:396) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:396) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 55 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:398) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:398) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 56 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:400) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:400) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 57 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:402) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:402) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 58 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:404) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:404) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 59 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:406) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:406) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 60 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:408) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:408) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 61 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:410) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:410) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 62 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:412) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:412) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 63 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:414) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:414) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 64 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:416) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:416) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 65 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:418) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:418) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 66 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:420) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:420) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 67 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:422) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:422) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 68 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:424) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:424) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 69 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:426) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:426) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 70 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:428) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:428) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 71 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:430) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:430) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 72 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:432) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:432) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 73 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:434) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:434) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 74 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:436) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:436) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 75 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:438) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:438) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 76 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:440) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:440) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 77 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:442) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:442) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 78 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:444) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:444) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 79 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:446) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:446) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 80 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:448) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:448) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 81 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:450) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:450) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 82 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:452) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:452) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 83 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:454) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:454) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 84 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:456) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:456) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 85 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:458) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:458) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 86 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:460) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:460) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 87 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:462) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:462) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 88 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:464) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:464) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 89 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:466) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:466) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 90 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:468) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:468) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 91 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:470) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:470) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 92 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:472) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:472) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 93 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:474) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:474) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 94 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:476) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:476) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 95 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:478) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:478) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 96 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:480) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:480) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 97 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:482) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:482) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 98 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:484) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:484) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +========================================================== +=== 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 === +========================================================== + +---------- short gran, 0 .. 98, skip 0 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:288) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:288) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +More than 100 errors detected. Subsequent errors +will still be recorded, but in less detail than before. +---------- short gran, 1 .. 98, skip 1 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:290) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:290) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:290) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:290) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 0 .. 98, skip 2 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:292) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:292) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 1 .. 98, skip 3 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:294) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:294) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:294) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:294) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 0 .. 98, skip 4 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:296) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:296) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 1 .. 98, skip 5 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:298) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:298) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:298) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:298) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 0 .. 98, skip 6 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:300) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:300) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 1 .. 98, skip 7 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:302) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:302) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:302) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:302) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 0 .. 98, skip 8 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:304) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:304) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 1 .. 98, skip 9 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:306) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:306) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:306) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:306) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 0 .. 98, skip 10 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:308) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:308) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 1 .. 98, skip 11 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:310) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:310) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:310) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:310) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 0 .. 98, skip 12 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:312) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:312) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 1 .. 98, skip 13 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:314) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:314) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:314) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:314) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 0 .. 98, skip 14 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:316) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:316) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 1 .. 98, skip 15 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:318) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:318) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:318) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:318) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 0 .. 98, skip 16 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:320) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:320) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 1 .. 98, skip 17 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:322) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:322) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:322) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:322) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 0 .. 98, skip 18 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:324) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:324) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 1 .. 98, skip 19 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:326) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:326) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:326) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:326) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 0 .. 98, skip 20 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:328) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:328) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 1 .. 98, skip 21 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:330) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:330) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:330) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:330) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 0 .. 98, skip 22 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:332) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:332) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 1 .. 98, skip 23 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:334) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:334) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:334) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:334) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 0 .. 98, skip 24 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:336) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:336) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 1 .. 98, skip 25 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:338) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:338) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:338) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:338) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 0 .. 98, skip 26 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:340) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:340) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 1 .. 98, skip 27 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:342) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:342) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:342) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:342) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 0 .. 98, skip 28 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:344) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:344) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 1 .. 98, skip 29 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:346) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:346) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:346) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:346) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 0 .. 98, skip 30 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:348) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:348) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 1 .. 98, skip 31 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:350) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:350) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:350) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:350) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 0 .. 98, skip 32 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:352) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:352) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 1 .. 98, skip 33 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:354) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:354) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:354) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:354) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 0 .. 98, skip 34 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:356) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:356) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 1 .. 98, skip 35 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:358) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:358) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:358) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:358) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 0 .. 98, skip 36 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:360) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:360) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 1 .. 98, skip 37 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:362) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:362) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:362) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:362) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 0 .. 98, skip 38 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:364) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:364) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 1 .. 98, skip 39 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:366) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:366) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:366) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:366) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 0 .. 98, skip 40 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:368) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:368) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 1 .. 98, skip 41 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:370) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:370) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:370) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:370) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 0 .. 98, skip 42 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:372) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:372) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 1 .. 98, skip 43 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:374) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:374) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:374) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:374) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 0 .. 98, skip 44 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:376) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:376) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 1 .. 98, skip 45 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:378) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:378) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:378) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:378) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 0 .. 98, skip 46 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:380) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:380) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 1 .. 98, skip 47 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:382) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:382) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:382) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:382) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 0 .. 98, skip 48 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:384) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:384) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 1 .. 98, skip 49 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:386) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:386) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:386) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:386) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 0 .. 98, skip 50 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:388) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:388) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 1 .. 98, skip 51 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:390) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:390) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:390) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:390) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 0 .. 98, skip 52 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:392) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:392) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 1 .. 98, skip 53 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:394) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:394) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:394) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:394) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 0 .. 98, skip 54 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:396) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:396) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 1 .. 98, skip 55 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:398) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:398) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:398) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:398) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 0 .. 98, skip 56 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:400) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:400) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 1 .. 98, skip 57 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:402) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:402) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:402) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:402) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 0 .. 98, skip 58 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:404) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:404) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 1 .. 98, skip 59 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:406) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:406) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:406) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:406) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 0 .. 98, skip 60 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:408) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:408) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 1 .. 98, skip 61 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:410) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:410) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:410) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:410) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 0 .. 98, skip 62 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:412) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:412) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 1 .. 98, skip 63 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:414) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:414) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:414) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:414) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 0 .. 98, skip 64 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:416) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:416) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 1 .. 98, skip 65 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:418) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:418) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:418) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:418) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 0 .. 98, skip 66 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:420) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:420) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 1 .. 98, skip 67 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:422) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:422) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:422) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:422) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 0 .. 98, skip 68 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:424) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:424) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 1 .. 98, skip 69 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:426) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:426) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:426) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:426) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 0 .. 98, skip 70 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:428) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:428) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 1 .. 98, skip 71 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:430) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:430) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:430) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:430) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 0 .. 98, skip 72 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:432) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:432) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 1 .. 98, skip 73 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:434) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:434) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:434) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:434) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 0 .. 98, skip 74 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:436) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:436) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 1 .. 98, skip 75 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:438) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:438) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:438) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:438) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 0 .. 98, skip 76 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:440) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:440) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 1 .. 98, skip 77 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:442) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:442) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:442) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:442) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 0 .. 98, skip 78 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:444) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:444) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 1 .. 98, skip 79 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:446) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:446) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:446) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:446) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 0 .. 98, skip 80 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:448) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:448) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 1 .. 98, skip 81 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:450) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:450) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:450) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:450) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 0 .. 98, skip 82 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:452) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:452) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 1 .. 98, skip 83 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:454) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:454) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:454) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:454) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 0 .. 98, skip 84 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:456) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:456) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 1 .. 98, skip 85 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:458) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:458) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:458) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:458) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 0 .. 98, skip 86 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:460) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:460) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 1 .. 98, skip 87 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:462) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:462) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:462) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:462) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 0 .. 98, skip 88 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:464) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:464) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 1 .. 98, skip 89 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:466) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:466) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:466) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:466) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 0 .. 98, skip 90 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:468) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:468) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 1 .. 98, skip 91 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:470) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:470) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:470) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:470) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 0 .. 98, skip 92 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:472) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:472) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 1 .. 98, skip 93 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:474) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:474) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:474) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:474) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 0 .. 98, skip 94 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:476) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:476) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 1 .. 98, skip 95 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:478) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:478) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:478) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:478) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 0 .. 98, skip 96 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:480) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:480) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 1 .. 98, skip 97 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:482) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:482) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:482) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:482) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +========================================================== +=== 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 === +========================================================== + +---------- int gran, 0 .. 96, skip 0 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:288) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:288) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 1 .. 96, skip 1 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:290) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:290) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:290) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:290) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:290) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:290) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:290) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:290) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 2 .. 96, skip 2 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:292) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:292) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:292) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:292) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 3 .. 96, skip 3 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:294) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:294) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:294) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:294) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:294) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:294) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:294) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:294) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 0 .. 96, skip 4 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:296) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:296) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 1 .. 96, skip 5 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:298) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:298) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:298) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:298) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:298) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:298) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:298) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:298) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 2 .. 96, skip 6 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:300) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:300) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:300) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:300) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 3 .. 96, skip 7 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:302) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:302) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:302) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:302) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:302) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:302) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:302) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:302) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 0 .. 96, skip 8 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:304) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:304) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 1 .. 96, skip 9 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:306) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:306) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:306) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:306) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:306) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:306) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:306) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:306) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 2 .. 96, skip 10 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:308) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:308) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:308) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:308) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 3 .. 96, skip 11 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:310) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:310) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:310) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:310) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:310) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:310) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:310) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:310) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 0 .. 96, skip 12 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:312) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:312) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 1 .. 96, skip 13 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:314) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:314) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:314) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:314) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:314) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:314) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:314) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:314) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 2 .. 96, skip 14 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:316) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:316) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:316) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:316) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 3 .. 96, skip 15 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:318) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:318) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:318) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:318) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:318) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:318) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:318) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:318) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 0 .. 96, skip 16 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:320) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:320) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 1 .. 96, skip 17 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:322) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:322) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:322) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:322) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:322) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:322) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:322) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:322) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 2 .. 96, skip 18 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:324) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:324) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:324) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:324) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 3 .. 96, skip 19 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:326) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:326) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:326) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:326) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:326) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:326) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:326) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:326) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 0 .. 96, skip 20 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:328) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:328) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 1 .. 96, skip 21 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:330) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:330) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:330) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:330) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:330) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:330) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:330) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:330) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 2 .. 96, skip 22 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:332) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:332) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:332) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:332) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 3 .. 96, skip 23 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:334) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:334) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:334) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:334) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:334) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:334) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:334) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:334) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 0 .. 96, skip 24 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:336) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:336) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 1 .. 96, skip 25 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:338) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:338) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:338) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:338) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:338) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:338) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:338) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:338) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 2 .. 96, skip 26 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:340) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:340) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:340) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:340) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 3 .. 96, skip 27 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:342) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:342) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:342) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:342) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:342) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:342) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:342) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:342) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 0 .. 96, skip 28 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:344) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:344) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 1 .. 96, skip 29 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:346) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:346) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:346) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:346) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:346) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:346) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:346) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:346) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 2 .. 96, skip 30 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:348) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:348) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:348) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:348) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 3 .. 96, skip 31 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:350) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:350) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:350) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:350) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:350) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:350) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:350) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:350) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 0 .. 96, skip 32 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:352) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:352) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 1 .. 96, skip 33 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:354) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:354) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:354) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:354) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:354) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:354) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:354) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:354) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 2 .. 96, skip 34 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:356) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:356) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:356) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:356) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 3 .. 96, skip 35 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:358) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:358) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:358) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:358) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:358) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:358) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:358) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:358) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 0 .. 96, skip 36 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:360) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:360) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 1 .. 96, skip 37 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:362) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:362) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:362) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:362) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:362) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:362) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:362) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:362) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 2 .. 96, skip 38 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:364) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:364) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:364) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:364) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 3 .. 96, skip 39 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:366) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:366) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:366) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:366) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:366) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:366) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:366) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:366) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 0 .. 96, skip 40 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:368) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:368) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 1 .. 96, skip 41 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:370) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:370) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:370) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:370) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:370) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:370) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:370) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:370) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 2 .. 96, skip 42 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:372) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:372) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:372) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:372) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 3 .. 96, skip 43 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:374) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:374) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:374) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:374) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:374) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:374) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:374) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:374) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 0 .. 96, skip 44 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:376) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:376) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 1 .. 96, skip 45 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:378) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:378) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:378) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:378) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:378) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:378) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:378) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:378) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 2 .. 96, skip 46 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:380) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:380) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:380) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:380) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 3 .. 96, skip 47 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:382) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:382) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:382) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:382) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:382) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:382) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:382) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:382) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 0 .. 96, skip 48 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:384) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:384) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 1 .. 96, skip 49 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:386) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:386) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:386) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:386) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:386) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:386) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:386) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:386) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 2 .. 96, skip 50 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:388) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:388) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:388) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:388) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 3 .. 96, skip 51 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:390) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:390) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:390) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:390) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:390) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:390) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:390) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:390) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 0 .. 96, skip 52 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:392) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:392) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 1 .. 96, skip 53 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:394) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:394) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:394) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:394) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:394) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:394) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:394) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:394) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 2 .. 96, skip 54 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:396) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:396) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:396) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:396) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 3 .. 96, skip 55 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:398) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:398) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:398) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:398) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:398) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:398) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:398) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:398) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 0 .. 96, skip 56 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:400) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:400) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 1 .. 96, skip 57 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:402) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:402) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:402) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:402) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:402) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:402) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:402) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:402) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 2 .. 96, skip 58 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:404) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:404) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:404) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:404) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 3 .. 96, skip 59 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:406) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:406) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:406) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:406) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:406) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:406) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:406) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:406) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 0 .. 96, skip 60 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:408) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:408) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 1 .. 96, skip 61 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:410) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:410) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:410) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:410) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:410) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:410) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:410) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:410) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 2 .. 96, skip 62 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:412) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:412) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:412) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:412) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 3 .. 96, skip 63 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:414) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:414) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:414) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:414) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:414) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:414) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:414) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:414) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 0 .. 96, skip 64 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:416) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:416) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 1 .. 96, skip 65 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:418) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:418) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:418) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:418) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:418) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:418) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:418) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:418) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 2 .. 96, skip 66 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:420) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:420) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:420) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:420) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 3 .. 96, skip 67 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:422) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:422) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:422) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:422) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:422) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:422) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:422) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:422) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 0 .. 96, skip 68 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:424) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:424) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 1 .. 96, skip 69 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:426) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:426) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:426) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:426) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:426) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:426) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:426) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:426) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 2 .. 96, skip 70 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:428) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:428) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:428) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:428) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 3 .. 96, skip 71 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:430) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:430) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:430) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:430) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:430) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:430) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:430) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:430) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 0 .. 96, skip 72 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:432) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:432) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 1 .. 96, skip 73 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:434) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:434) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:434) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:434) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:434) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:434) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:434) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:434) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 2 .. 96, skip 74 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:436) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:436) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:436) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:436) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 3 .. 96, skip 75 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:438) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:438) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:438) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:438) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:438) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:438) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:438) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:438) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 0 .. 96, skip 76 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:440) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:440) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 1 .. 96, skip 77 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:442) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:442) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:442) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:442) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:442) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:442) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:442) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:442) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 2 .. 96, skip 78 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:444) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:444) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:444) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:444) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 3 .. 96, skip 79 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:446) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:446) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:446) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:446) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:446) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:446) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:446) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:446) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 0 .. 96, skip 80 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:448) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:448) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 1 .. 96, skip 81 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:450) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:450) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:450) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:450) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:450) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:450) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:450) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:450) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 2 .. 96, skip 82 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:452) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:452) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:452) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:452) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 3 .. 96, skip 83 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:454) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:454) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:454) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:454) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:454) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:454) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:454) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:454) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 0 .. 96, skip 84 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:456) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:456) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 1 .. 96, skip 85 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:458) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:458) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:458) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:458) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:458) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:458) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:458) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:458) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 2 .. 96, skip 86 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:460) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:460) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:460) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:460) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 3 .. 96, skip 87 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:462) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:462) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:462) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:462) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:462) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:462) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:462) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:462) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 0 .. 96, skip 88 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:464) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:464) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 1 .. 96, skip 89 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:466) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:466) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:466) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:466) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:466) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:466) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:466) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:466) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 2 .. 96, skip 90 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:468) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:468) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:468) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:468) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 3 .. 96, skip 91 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:470) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:470) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:470) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:470) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:470) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:470) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:470) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:470) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 0 .. 96, skip 92 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:472) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:472) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 1 .. 96, skip 93 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:474) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:474) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:474) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:474) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:474) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:474) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:474) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:474) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 2 .. 96, skip 94 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:476) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:476) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:476) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:476) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 3 .. 96, skip 95 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:478) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:478) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:478) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:478) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:478) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:478) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:478) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:478) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +========================================================== +=== 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 === +========================================================== + +---------- double gran, 0 .. 92, skip 0 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 8 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:288) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 8 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:288) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 1 .. 92, skip 1 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:290) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:290) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:290) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:290) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:290) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:290) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:290) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:290) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:290) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:290) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:290) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:290) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:290) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:290) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:290) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:290) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 2 .. 92, skip 2 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:292) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:292) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:292) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:292) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:292) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:292) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:292) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:292) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 3 .. 92, skip 3 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:294) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:294) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:294) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:294) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:294) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:294) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:294) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:294) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:294) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:294) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:294) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:294) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:294) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:294) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:294) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:294) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 4 .. 92, skip 4 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:296) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:296) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:296) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:296) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 5 .. 92, skip 5 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:298) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:298) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:298) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:298) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:298) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:298) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:298) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:298) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:298) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:298) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:298) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:298) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:298) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:298) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:298) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:298) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 6 .. 92, skip 6 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:300) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:300) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:300) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:300) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:300) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:300) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:300) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:300) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 7 .. 92, skip 7 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:302) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:302) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:302) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:302) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:302) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:302) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:302) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:302) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:302) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:302) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:302) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:302) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:302) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:302) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:302) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:302) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 0 .. 92, skip 8 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 8 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:304) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 8 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:304) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 1 .. 92, skip 9 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:306) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:306) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:306) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:306) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:306) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:306) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:306) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:306) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:306) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:306) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:306) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:306) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:306) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:306) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:306) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:306) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 2 .. 92, skip 10 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:308) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:308) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:308) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:308) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:308) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:308) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:308) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:308) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 3 .. 92, skip 11 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:310) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:310) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:310) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:310) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:310) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:310) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:310) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:310) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:310) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:310) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:310) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:310) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:310) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:310) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:310) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:310) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 4 .. 92, skip 12 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:312) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:312) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:312) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:312) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 5 .. 92, skip 13 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:314) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:314) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:314) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:314) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:314) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:314) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:314) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:314) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:314) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:314) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:314) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:314) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:314) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:314) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:314) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:314) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 6 .. 92, skip 14 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:316) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:316) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:316) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:316) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:316) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:316) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:316) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:316) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 7 .. 92, skip 15 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:318) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:318) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:318) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:318) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:318) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:318) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:318) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:318) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:318) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:318) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:318) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:318) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:318) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:318) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:318) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:318) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 0 .. 92, skip 16 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 8 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:320) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 8 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:320) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 1 .. 92, skip 17 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:322) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:322) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:322) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:322) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:322) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:322) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:322) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:322) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:322) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:322) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:322) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:322) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:322) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:322) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:322) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:322) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 2 .. 92, skip 18 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:324) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:324) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:324) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:324) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:324) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:324) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:324) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:324) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 3 .. 92, skip 19 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:326) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:326) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:326) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:326) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:326) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:326) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:326) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:326) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:326) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:326) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:326) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:326) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:326) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:326) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:326) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:326) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 4 .. 92, skip 20 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:328) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:328) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:328) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:328) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 5 .. 92, skip 21 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:330) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:330) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:330) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:330) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:330) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:330) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:330) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:330) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:330) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:330) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:330) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:330) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:330) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:330) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:330) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:330) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 6 .. 92, skip 22 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:332) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:332) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:332) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:332) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:332) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:332) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:332) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:332) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 7 .. 92, skip 23 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:334) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:334) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:334) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:334) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:334) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:334) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:334) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:334) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:334) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:334) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:334) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:334) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:334) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:334) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:334) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:334) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 0 .. 92, skip 24 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 8 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:336) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 8 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:336) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 1 .. 92, skip 25 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:338) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:338) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:338) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:338) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:338) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:338) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:338) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:338) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:338) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:338) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:338) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:338) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:338) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:338) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:338) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:338) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 2 .. 92, skip 26 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:340) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:340) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:340) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:340) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:340) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:340) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:340) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:340) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 3 .. 92, skip 27 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:342) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:342) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:342) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:342) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:342) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:342) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:342) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:342) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:342) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:342) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:342) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:342) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:342) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:342) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:342) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:342) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 4 .. 92, skip 28 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:344) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:344) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:344) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:344) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 5 .. 92, skip 29 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:346) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:346) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:346) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:346) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:346) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:346) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:346) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:346) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:346) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:346) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:346) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:346) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:346) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:346) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:346) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:346) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 6 .. 92, skip 30 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:348) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:348) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:348) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:348) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:348) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:348) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:348) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:348) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 7 .. 92, skip 31 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:350) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:350) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:350) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:350) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:350) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:350) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:350) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:350) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:350) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:350) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:350) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:350) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:350) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:350) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:350) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:350) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 0 .. 92, skip 32 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 8 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:352) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 8 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:352) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 1 .. 92, skip 33 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:354) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:354) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:354) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:354) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:354) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:354) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:354) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:354) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:354) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:354) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:354) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:354) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:354) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:354) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:354) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:354) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 2 .. 92, skip 34 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:356) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:356) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:356) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:356) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:356) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:356) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:356) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:356) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 3 .. 92, skip 35 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:358) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:358) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:358) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:358) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:358) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:358) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:358) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:358) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:358) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:358) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:358) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:358) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:358) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:358) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:358) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:358) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 4 .. 92, skip 36 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:360) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:360) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:360) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:360) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 5 .. 92, skip 37 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:362) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:362) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:362) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:362) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:362) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:362) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:362) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:362) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:362) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:362) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:362) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:362) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:362) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:362) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:362) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:362) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 6 .. 92, skip 38 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:364) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:364) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:364) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:364) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:364) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:364) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:364) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:364) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 7 .. 92, skip 39 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:366) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:366) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:366) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:366) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:366) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:366) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:366) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:366) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:366) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:366) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:366) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:366) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:366) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:366) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:366) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:366) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 0 .. 92, skip 40 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 8 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:368) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 8 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:368) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 1 .. 92, skip 41 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:370) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:370) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:370) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:370) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:370) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:370) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:370) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:370) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:370) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:370) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:370) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:370) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:370) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:370) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:370) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:370) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 2 .. 92, skip 42 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:372) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:372) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:372) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:372) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:372) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:372) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:372) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:372) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 3 .. 92, skip 43 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:374) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:374) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:374) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:374) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:374) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:374) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:374) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:374) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:374) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:374) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:374) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:374) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:374) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:374) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:374) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:374) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 4 .. 92, skip 44 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:376) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:376) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:376) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:376) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 5 .. 92, skip 45 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:378) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:378) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:378) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:378) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:378) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:378) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:378) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:378) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:378) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:378) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:378) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:378) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:378) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:378) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:378) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:378) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 6 .. 92, skip 46 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:380) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:380) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:380) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:380) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:380) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:380) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:380) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:380) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 7 .. 92, skip 47 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:382) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:382) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:382) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:382) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:382) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:382) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:382) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:382) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:382) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:382) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:382) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:382) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:382) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:382) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:382) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:382) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 0 .. 92, skip 48 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 8 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:384) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 8 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:384) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 1 .. 92, skip 49 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:386) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:386) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:386) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:386) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:386) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:386) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:386) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:386) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:386) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:386) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:386) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:386) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:386) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:386) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:386) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:386) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 2 .. 92, skip 50 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:388) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:388) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:388) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:388) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:388) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:388) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:388) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:388) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 3 .. 92, skip 51 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:390) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:390) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:390) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:390) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:390) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:390) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:390) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:390) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:390) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:390) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:390) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:390) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:390) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:390) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:390) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:390) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 4 .. 92, skip 52 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:392) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:392) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:392) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:392) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 5 .. 92, skip 53 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:394) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:394) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:394) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:394) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:394) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:394) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:394) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:394) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:394) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:394) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:394) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:394) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:394) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:394) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:394) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:394) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 6 .. 92, skip 54 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:396) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:396) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:396) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:396) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:396) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:396) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:396) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:396) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 7 .. 92, skip 55 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:398) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:398) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:398) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:398) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:398) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:398) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:398) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:398) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:398) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:398) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:398) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:398) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:398) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:398) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:398) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:398) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 0 .. 92, skip 56 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 8 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:400) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 8 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:400) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 1 .. 92, skip 57 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:402) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:402) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:402) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:402) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:402) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:402) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:402) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:402) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:402) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:402) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:402) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:402) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:402) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:402) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:402) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:402) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 2 .. 92, skip 58 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:404) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:404) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:404) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:404) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:404) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:404) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:404) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:404) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 3 .. 92, skip 59 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:406) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:406) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:406) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:406) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:406) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:406) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:406) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:406) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:406) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:406) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:406) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:406) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:406) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:406) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:406) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:406) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 4 .. 92, skip 60 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:408) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:408) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:408) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:408) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 5 .. 92, skip 61 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:410) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:410) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:410) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:410) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:410) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:410) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:410) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:410) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:410) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:410) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:410) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:410) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:410) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:410) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:410) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:410) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 6 .. 92, skip 62 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:412) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:412) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:412) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:412) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:412) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:412) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:412) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:412) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 7 .. 92, skip 63 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:414) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:414) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:414) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:414) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:414) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:414) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:414) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:414) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:414) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:414) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:414) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:414) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:414) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:414) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:414) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:414) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 0 .. 92, skip 64 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 8 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:416) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 8 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:416) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 1 .. 92, skip 65 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:418) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:418) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:418) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:418) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:418) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:418) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:418) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:418) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:418) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:418) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:418) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:418) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:418) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:418) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:418) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:418) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 2 .. 92, skip 66 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:420) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:420) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:420) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:420) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:420) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:420) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:420) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:420) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 3 .. 92, skip 67 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:422) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:422) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:422) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:422) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:422) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:422) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:422) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:422) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:422) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:422) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:422) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:422) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:422) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:422) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:422) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:422) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 4 .. 92, skip 68 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:424) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:424) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:424) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:424) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 5 .. 92, skip 69 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:426) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:426) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:426) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:426) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:426) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:426) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:426) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:426) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:426) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:426) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:426) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:426) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:426) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:426) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:426) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:426) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 6 .. 92, skip 70 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:428) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:428) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:428) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:428) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:428) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:428) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:428) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:428) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 7 .. 92, skip 71 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:430) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:430) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:430) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:430) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:430) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:430) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:430) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:430) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:430) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:430) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:430) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:430) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:430) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:430) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:430) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:430) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 0 .. 92, skip 72 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 8 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:432) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 8 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:432) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 1 .. 92, skip 73 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:434) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:434) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:434) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:434) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:434) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:434) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:434) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:434) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:434) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:434) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:434) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:434) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:434) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:434) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:434) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:434) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 2 .. 92, skip 74 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:436) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:436) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:436) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:436) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:436) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:436) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:436) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:436) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 3 .. 92, skip 75 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:438) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:438) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:438) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:438) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:438) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:438) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:438) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:438) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:438) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:438) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:438) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:438) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:438) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:438) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:438) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:438) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 4 .. 92, skip 76 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:440) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:440) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:440) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:440) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 5 .. 92, skip 77 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:442) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:442) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:442) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:442) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:442) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:442) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:442) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:442) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:442) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:442) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:442) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:442) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:442) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:442) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:442) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:442) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 6 .. 92, skip 78 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:444) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:444) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:444) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:444) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:444) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:444) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:444) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:444) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 7 .. 92, skip 79 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:446) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:446) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:446) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:446) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:446) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:446) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:446) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:446) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:446) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:446) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:446) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:446) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:446) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:446) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:446) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:446) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 0 .. 92, skip 80 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 8 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:448) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 8 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:448) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 1 .. 92, skip 81 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:450) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:450) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:450) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:450) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:450) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:450) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:450) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:450) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:450) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:450) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:450) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:450) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:450) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:450) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:450) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:450) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 2 .. 92, skip 82 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:452) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:452) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:452) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:452) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:452) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:452) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:452) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:452) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 3 .. 92, skip 83 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:454) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:454) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:454) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:454) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:454) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:454) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:454) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:454) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:454) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:454) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:454) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:454) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:454) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:454) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:454) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:454) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 4 .. 92, skip 84 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:456) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:456) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:456) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:456) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 5 .. 92, skip 85 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:458) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:458) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:458) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:458) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:458) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:458) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:458) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:458) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:458) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:458) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:458) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:458) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:458) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:458) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:458) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:458) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 6 .. 92, skip 86 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:460) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:460) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:460) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:460) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:460) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:460) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:460) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:460) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 7 .. 92, skip 87 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:462) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:462) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:462) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:462) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:462) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:462) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:462) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:462) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:462) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:462) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:462) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:462) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:462) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:462) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:462) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:462) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 0 .. 92, skip 88 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 8 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:464) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 8 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:464) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 1 .. 92, skip 89 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:466) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:466) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:466) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:466) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:466) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:466) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:466) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:466) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:466) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:466) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:466) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:466) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:466) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:466) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:466) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:466) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 2 .. 92, skip 90 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:468) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:468) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:468) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:468) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:468) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:468) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:468) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:468) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 3 .. 92, skip 91 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:470) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:470) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:470) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:470) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:470) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:470) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:470) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:470) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:470) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:470) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:470) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:470) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:470) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:470) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:470) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:470) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +ERROR SUMMARY: 1004 errors from 1004 contexts (suppressed: 0 from 0) diff --git a/helgrind/tests/.svn/text-base/tc19_shadowmem.stdout.exp.svn-base b/helgrind/tests/.svn/text-base/tc19_shadowmem.stdout.exp.svn-base new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/helgrind/tests/.svn/text-base/tc19_shadowmem.stdout.exp.svn-base diff --git a/helgrind/tests/.svn/text-base/tc19_shadowmem.vgtest.svn-base b/helgrind/tests/.svn/text-base/tc19_shadowmem.vgtest.svn-base new file mode 100644 index 0000000..233e8e4 --- /dev/null +++ b/helgrind/tests/.svn/text-base/tc19_shadowmem.vgtest.svn-base @@ -0,0 +1,2 @@ +prog: tc19_shadowmem +vgopts: --cmp-race-err-addrs=yes --error-limit=no diff --git a/helgrind/tests/.svn/text-base/tc20_verifywrap.c.svn-base b/helgrind/tests/.svn/text-base/tc20_verifywrap.c.svn-base new file mode 100644 index 0000000..667aafa --- /dev/null +++ b/helgrind/tests/.svn/text-base/tc20_verifywrap.c.svn-base @@ -0,0 +1,270 @@ +/* This program attempts to verify that all functions that are + supposed to be wrapped by tc_intercepts.c really are wrapped. The + main way it does this is to cause failures in those functions, so + as to obtain various error messages which imply that the wrapper + really did engage. + + Any regressions shown up by this program are potentially serious + and should be investigated carefully. */ + +/* Needed for older glibcs (2.3 and older, at least) who don't + otherwise "know" about some more exotic pthread stuff, in this case + PTHREAD_MUTEX_ERRORCHECK. */ +#define _GNU_SOURCE 1 +#include <stdio.h> +#include <string.h> +#include <assert.h> +#include <unistd.h> +#include <pthread.h> +#include <semaphore.h> + +#if !defined(_AIX) + +#if !defined(__GLIBC_PREREQ) +# error "This program needs __GLIBC_PREREQ (in /usr/include/features.h)" +#endif + +short unprotected = 0; + +void* lazy_child ( void* v ) { + assert(0); /* does not run */ +} + +void* racy_child ( void* v ) { + unprotected = 1234; + return NULL; +} + +int main ( void ) +{ + int r; + /* pthread_t thr; */ + /* pthread_attr_t thra; */ + pthread_mutexattr_t mxa, mxa2; + pthread_mutex_t mx, mx2, mx3, mx4; + pthread_cond_t cv; + struct timespec abstime; + pthread_rwlock_t rwl; + pthread_rwlock_t rwl2; + pthread_rwlock_t rwl3; + sem_t s1; + +# if __GLIBC_PREREQ(2,4) + fprintf(stderr, + "\n\n------ This is output for >= glibc 2.4 ------\n"); +# else + fprintf(stderr, + "\n\n------ This is output for < glibc 2.4 ------\n"); +# endif + + /* --------- pthread_create/join --------- */ + + fprintf(stderr, + "\n---------------- pthread_create/join ----------------\n\n"); + + /* make pthread_create fail */ + /* It's amazingly difficult to make pthread_create fail + without first soaking up all the machine's resources. + Instead, in order to demonstrate that it's really wrapped, + create a child thread, generate a race error, and join with it + again. */ + /* This just segfaults: + memset( &thra, 0xFF, sizeof(thra) ); + r= pthread_create( &thr, NULL, lazy_child, NULL ); assert(r); + */ + { pthread_t child; + r= pthread_create( &child, NULL, racy_child, NULL ); assert(!r); + sleep(1); /* just to ensure parent thread reports race, not child */ + unprotected = 5678; + r= pthread_join( child, NULL ); assert(!r); + } + + /* make pthread_join fail */ + r= pthread_join( pthread_self(), NULL ); assert(r); + + /* --------- pthread_mutex_lock et al --------- */ + + fprintf(stderr, + "\n---------------- pthread_mutex_lock et al ----------------\n\n"); + + /* make pthread_mutex_init fail */ + memset( &mxa, 0xFF, sizeof(mxa) ); + r= pthread_mutex_init( &mx, &mxa ); +# if __GLIBC_PREREQ(2,4) + assert(r); /* glibc >= 2.4: the call should fail */ +# else + assert(!r); /* glibc < 2.4: oh well, glibc didn't bounce this */ +# endif + + /* make pthread_mutex_destroy fail */ + r= pthread_mutex_init( &mx2, NULL ); assert(!r); + r= pthread_mutex_lock( &mx2 ); assert(!r); + r= pthread_mutex_destroy( &mx2 ); assert(r); + + /* make pthread_mutex_lock fail (skipped on < glibc 2.4 because it + doesn't fail, hence hangs the test) */ +# if __GLIBC_PREREQ(2,4) + memset( &mx3, 0xFF, sizeof(mx3) ); + r= pthread_mutex_lock( &mx3 ); assert(r); +# else + fprintf(stderr, "\nmake pthread_mutex_lock fail: " + "skipped on glibc < 2.4\n\n"); +# endif + + /* make pthread_mutex_trylock fail */ + memset( &mx3, 0xFF, sizeof(mx3) ); + r= pthread_mutex_trylock( &mx3 ); assert(r); + + /* make pthread_mutex_timedlock fail */ + memset( &abstime, 0, sizeof(abstime) ); + memset( &mx3, 0xFF, sizeof(mx3) ); + r= pthread_mutex_timedlock( &mx3, &abstime ); assert(r); + + /* make pthread_mutex_unlock fail */ + memset( &mx3, 0xFF, sizeof(mx3) ); + r= pthread_mutex_unlock( &mx3 ); +# if __GLIBC_PREREQ(2,4) + assert(r); +# else + assert(!r); +# endif + + /* --------- pthread_cond_wait et al --------- */ + + fprintf(stderr, + "\n---------------- pthread_cond_wait et al ----------------\n\n"); + + /* make pthread_cond_wait fail. This is difficult. Our cunning + plan (tm) is to show up at pthread_cond_wait bearing a + not-locked mutex of the ERRORCHECK flavour and hope (as is + indeed the case with glibc-2.5) that pthread_cond_wait notices + it is not locked, and bounces our request. */ + r= pthread_mutexattr_init( &mxa2 ); assert(!r); + r= pthread_mutexattr_settype( &mxa2, PTHREAD_MUTEX_ERRORCHECK ); + assert(!r); + r= pthread_mutex_init( &mx4, &mxa2 ); assert(!r); + r= pthread_cond_init( &cv, NULL ); assert(!r); + r= pthread_cond_wait( &cv, &mx4 ); assert(r); + r= pthread_mutexattr_destroy( &mxa2 ); assert(!r); + + /* make pthread_cond_signal fail. FIXME: can't figure out how + to */ + r= pthread_cond_signal( &cv ); assert(!r); + fprintf(stderr, "\nFIXME: can't figure out how to " + "verify wrap of pthread_cond_signal\n\n"); + + /* make pthread_cond_broadcast fail. FIXME: can't figure out how + to */ + r= pthread_cond_broadcast( &cv ); assert(!r); + fprintf(stderr, "\nFIXME: can't figure out how to " + "verify wrap of pthread_broadcast_signal\n\n"); + + /* make pthread_cond_timedwait fail. */ + memset( &abstime, 0, sizeof(abstime) ); + abstime.tv_nsec = 1000000000 + 1; + r= pthread_cond_timedwait( &cv, &mx4, &abstime ); assert(r); + + /* --------- pthread_rwlock_* --------- */ + + fprintf(stderr, + "\n---------------- pthread_rwlock_* ----------------\n\n"); + + /* pthread_rwlock_init, pthread_rwlock_unlock */ + /* pthread_rwlock_init: can't make glibc's implementation fail. + However, can demonstrate interceptedness by initialising but not + locking a lock and then unlocking it. Then the unlock call + should say "first seen at .. the init call." So this tests + wrappedness of both calls. */ + r= pthread_rwlock_init( &rwl, NULL ); assert(!r); + r= pthread_rwlock_unlock( &rwl ); + /* assert(r); *//* glibc doesn't complain. It really ought to. Oh well. */ + + /* We can infer the presence of wrapping for pthread_rwlock_rdlock, + pthread_rwlock_wrlock and pthread_rwlock_unlock by making + Thrcheck count the lockedness state, and warning when we unlock + a not-locked lock. Thusly: */ + r= pthread_rwlock_init( &rwl2, NULL ); assert(!r); + + /* w-lock it */ + fprintf(stderr, "(1) no error on next line\n"); + r= pthread_rwlock_wrlock( &rwl2 ); assert(!r); + /* unlock it */ + fprintf(stderr, "(2) no error on next line\n"); + r= pthread_rwlock_unlock( &rwl2 ); assert(!r); + /* unlock it again, get an error */ + fprintf(stderr, "(3) ERROR on next line\n"); + r= pthread_rwlock_unlock( &rwl2 ); assert(!r); + + /* same game with r-locks */ + r= pthread_rwlock_init( &rwl2, NULL ); assert(!r); + /* r-lock it twice */ + fprintf(stderr, "(4) no error on next line\n"); + r= pthread_rwlock_rdlock( &rwl2 ); assert(!r); + fprintf(stderr, "(5) no error on next line\n"); + r= pthread_rwlock_rdlock( &rwl2 ); assert(!r); + /* unlock it twice */ + fprintf(stderr, "(6) no error on next line\n"); + r= pthread_rwlock_unlock( &rwl2 ); assert(!r); + fprintf(stderr, "(7) no error on next line\n"); + r= pthread_rwlock_unlock( &rwl2 ); assert(!r); + /* unlock it again, get an error */ + fprintf(stderr, "(8) ERROR on next line\n"); + r= pthread_rwlock_unlock( &rwl2 ); assert(!r); + + /* Lock rwl3 so the locked-lock-at-dealloc check can complain about + it. */ + r= pthread_rwlock_init( &rwl3, NULL ); assert(!r); + r= pthread_rwlock_rdlock( &rwl3 ); assert(!r); + + /* ------------- sem_* ------------- */ + + /* This is pretty lame, and duplicates tc18_semabuse.c. */ + + fprintf(stderr, + "\n---------------- sem_* ----------------\n\n"); + + /* verifies wrap of sem_init */ + /* Do sem_init with huge initial count - fails */ + r= sem_init(&s1, 0, ~0); assert(r); + + /* initialise properly */ + r= sem_init(&s1, 0, 0); + + /* in glibc, sem_destroy is a no-op; making it fail is + impossible. */ + fprintf(stderr, "\nFIXME: can't figure out how to verify wrap of " + "sem_destroy\n\n"); + + /* verifies wrap of sem_wait */ + /* Do 'wait' on a bogus semaphore. This should fail, but on glibc + it succeeds. */ + memset(&s1, 0x55, sizeof(s1)); + r= sem_wait(&s1); /* assert(r != 0); */ + + /* this only fails with glibc 2.7 or later. */ + r= sem_post(&s1); + fprintf(stderr, "\nFIXME: can't figure out how to verify wrap of " + "sem_post\n\n"); + + sem_destroy(&s1); + + /* ------------- dealloc of mem holding locks ------------- */ + + fprintf(stderr, + "\n------------ dealloc of mem holding locks ------------\n\n"); + + /* At this point it should complain about deallocation + of memory containing locked locks: + rwl3 + */ + + return 0; +} + +#else /* defined(_AIX) */ +int main ( void ) +{ + fprintf(stderr, "This program does not work on AIX.\n"); + return 0; +} +#endif diff --git a/helgrind/tests/.svn/text-base/tc20_verifywrap.stderr.exp-glibc25-amd64.svn-base b/helgrind/tests/.svn/text-base/tc20_verifywrap.stderr.exp-glibc25-amd64.svn-base new file mode 100644 index 0000000..5d001f5 --- /dev/null +++ b/helgrind/tests/.svn/text-base/tc20_verifywrap.stderr.exp-glibc25-amd64.svn-base @@ -0,0 +1,154 @@ + + + +------ This is output for >= glibc 2.4 ------ + +---------------- pthread_create/join ---------------- + +Thread #x is the program's root thread + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc20_verifywrap.c:76) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: main (tc20_verifywrap.c:78) + This conflicts with a previous write of size 2 by thread #x + at 0x........: racy_child (tc20_verifywrap.c:34) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + Location 0x........ is 0 bytes inside global var "unprotected" + declared at tc20_verifywrap.c:27 + +Thread #x's call to pthread_join failed + with error code 35 (EDEADLK: Resource deadlock would occur) + at 0x........: pthread_join (hg_intercepts.c:...) + by 0x........: main (tc20_verifywrap.c:83) + +---------------- pthread_mutex_lock et al ---------------- + + +Thread #x's call to pthread_mutex_init failed + with error code 95 (EOPNOTSUPP: Operation not supported on transport endpoint) + at 0x........: pthread_mutex_init (hg_intercepts.c:...) + by 0x........: main (tc20_verifywrap.c:92) + +Thread #x: pthread_mutex_destroy of a locked mutex + at 0x........: pthread_mutex_destroy (hg_intercepts.c:...) + by 0x........: main (tc20_verifywrap.c:102) + +Thread #x's call to pthread_mutex_destroy failed + with error code 16 (EBUSY: Device or resource busy) + at 0x........: pthread_mutex_destroy (hg_intercepts.c:...) + by 0x........: main (tc20_verifywrap.c:102) + +Thread #x's call to pthread_mutex_lock failed + with error code 22 (EINVAL: Invalid argument) + at 0x........: pthread_mutex_lock (hg_intercepts.c:...) + by 0x........: main (tc20_verifywrap.c:108) + +Thread #x's call to pthread_mutex_trylock failed + with error code 22 (EINVAL: Invalid argument) + at 0x........: pthread_mutex_trylock (hg_intercepts.c:...) + by 0x........: main (tc20_verifywrap.c:116) + +Thread #x's call to pthread_mutex_timedlock failed + with error code 22 (EINVAL: Invalid argument) + at 0x........: pthread_mutex_timedlock (hg_intercepts.c:...) + by 0x........: main (tc20_verifywrap.c:121) + +Thread #x unlocked an invalid lock at 0x........ + at 0x........: pthread_mutex_unlock (hg_intercepts.c:...) + by 0x........: main (tc20_verifywrap.c:125) + +Thread #x's call to pthread_mutex_unlock failed + with error code 22 (EINVAL: Invalid argument) + at 0x........: pthread_mutex_unlock (hg_intercepts.c:...) + by 0x........: main (tc20_verifywrap.c:125) + +---------------- pthread_cond_wait et al ---------------- + + +Thread #x: pthread_cond_{timed}wait called with un-held mutex + at 0x........: pthread_cond_wait@* (hg_intercepts.c:...) + by 0x........: main (tc20_verifywrap.c:147) + +Thread #x's call to pthread_cond_wait failed + with error code 1 (EPERM: Operation not permitted) + at 0x........: pthread_cond_wait@* (hg_intercepts.c:...) + by 0x........: main (tc20_verifywrap.c:147) + +FIXME: can't figure out how to verify wrap of pthread_cond_signal + + +FIXME: can't figure out how to verify wrap of pthread_broadcast_signal + + +Thread #x: pthread_cond_{timed}wait called with un-held mutex + at 0x........: pthread_cond_timedwait@* (hg_intercepts.c:...) + by 0x........: main (tc20_verifywrap.c:165) + +Thread #x's call to pthread_cond_timedwait failed + with error code 22 (EINVAL: Invalid argument) + at 0x........: pthread_cond_timedwait@* (hg_intercepts.c:...) + by 0x........: main (tc20_verifywrap.c:165) + +---------------- pthread_rwlock_* ---------------- + + +Thread #x unlocked a not-locked lock at 0x........ + at 0x........: pthread_rwlock_unlock (hg_intercepts.c:...) + by 0x........: main (tc20_verifywrap.c:179) + Lock at 0x........ was first observed + at 0x........: pthread_rwlock_init (hg_intercepts.c:...) + by 0x........: main (tc20_verifywrap.c:178) +(1) no error on next line +(2) no error on next line +(3) ERROR on next line + +Thread #x unlocked a not-locked lock at 0x........ + at 0x........: pthread_rwlock_unlock (hg_intercepts.c:...) + by 0x........: main (tc20_verifywrap.c:196) + Lock at 0x........ was first observed + at 0x........: pthread_rwlock_init (hg_intercepts.c:...) + by 0x........: main (tc20_verifywrap.c:186) +(4) no error on next line +(5) no error on next line +(6) no error on next line +(7) no error on next line +(8) ERROR on next line + +Thread #x unlocked a not-locked lock at 0x........ + at 0x........: pthread_rwlock_unlock (hg_intercepts.c:...) + by 0x........: main (tc20_verifywrap.c:212) + Lock at 0x........ was first observed + at 0x........: pthread_rwlock_init (hg_intercepts.c:...) + by 0x........: main (tc20_verifywrap.c:186) + +---------------- sem_* ---------------- + + +Thread #x's call to sem_init failed + with error code 22 (EINVAL: Invalid argument) + at 0x........: sem_init@* (hg_intercepts.c:...) + by 0x........: main (tc20_verifywrap.c:228) + +FIXME: can't figure out how to verify wrap of sem_destroy + + +Thread #x: Bug in libpthread: sem_wait succeeded on semaphore without prior sem_post + at 0x........: sem_wait_WRK (hg_intercepts.c:...) + by 0x........: sem_wait (hg_intercepts.c:...) + by 0x........: main (tc20_verifywrap.c:242) + +FIXME: can't figure out how to verify wrap of sem_post + + +------------ dealloc of mem holding locks ------------ + + +Thread #x: Exiting thread still holds 1 lock + ... + +ERROR SUMMARY: 20 errors from 20 contexts (suppressed: 0 from 0) diff --git a/helgrind/tests/.svn/text-base/tc20_verifywrap.stderr.exp-glibc27-amd64.svn-base b/helgrind/tests/.svn/text-base/tc20_verifywrap.stderr.exp-glibc27-amd64.svn-base new file mode 100644 index 0000000..6e9af75 --- /dev/null +++ b/helgrind/tests/.svn/text-base/tc20_verifywrap.stderr.exp-glibc27-amd64.svn-base @@ -0,0 +1,160 @@ + + + +------ This is output for >= glibc 2.4 ------ + +---------------- pthread_create/join ---------------- + +Thread #x is the program's root thread + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc20_verifywrap.c:76) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: main (tc20_verifywrap.c:78) + This conflicts with a previous write of size 2 by thread #x + at 0x........: racy_child (tc20_verifywrap.c:34) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + Location 0x........ is 0 bytes inside global var "unprotected" + declared at tc20_verifywrap.c:27 + +Thread #x's call to pthread_join failed + with error code 35 (EDEADLK: Resource deadlock would occur) + at 0x........: pthread_join (hg_intercepts.c:...) + by 0x........: main (tc20_verifywrap.c:83) + +---------------- pthread_mutex_lock et al ---------------- + + +Thread #x's call to pthread_mutex_init failed + with error code 95 (EOPNOTSUPP: Operation not supported on transport endpoint) + at 0x........: pthread_mutex_init (hg_intercepts.c:...) + by 0x........: main (tc20_verifywrap.c:92) + +Thread #x: pthread_mutex_destroy of a locked mutex + at 0x........: pthread_mutex_destroy (hg_intercepts.c:...) + by 0x........: main (tc20_verifywrap.c:102) + +Thread #x's call to pthread_mutex_destroy failed + with error code 16 (EBUSY: Device or resource busy) + at 0x........: pthread_mutex_destroy (hg_intercepts.c:...) + by 0x........: main (tc20_verifywrap.c:102) + +Thread #x's call to pthread_mutex_lock failed + with error code 22 (EINVAL: Invalid argument) + at 0x........: pthread_mutex_lock (hg_intercepts.c:...) + by 0x........: main (tc20_verifywrap.c:108) + +Thread #x's call to pthread_mutex_trylock failed + with error code 22 (EINVAL: Invalid argument) + at 0x........: pthread_mutex_trylock (hg_intercepts.c:...) + by 0x........: main (tc20_verifywrap.c:116) + +Thread #x's call to pthread_mutex_timedlock failed + with error code 22 (EINVAL: Invalid argument) + at 0x........: pthread_mutex_timedlock (hg_intercepts.c:...) + by 0x........: main (tc20_verifywrap.c:121) + +Thread #x unlocked an invalid lock at 0x........ + at 0x........: pthread_mutex_unlock (hg_intercepts.c:...) + by 0x........: main (tc20_verifywrap.c:125) + +Thread #x's call to pthread_mutex_unlock failed + with error code 22 (EINVAL: Invalid argument) + at 0x........: pthread_mutex_unlock (hg_intercepts.c:...) + by 0x........: main (tc20_verifywrap.c:125) + +---------------- pthread_cond_wait et al ---------------- + + +Thread #x: pthread_cond_{timed}wait called with un-held mutex + at 0x........: pthread_cond_wait@* (hg_intercepts.c:...) + by 0x........: main (tc20_verifywrap.c:147) + +Thread #x's call to pthread_cond_wait failed + with error code 1 (EPERM: Operation not permitted) + at 0x........: pthread_cond_wait@* (hg_intercepts.c:...) + by 0x........: main (tc20_verifywrap.c:147) + +FIXME: can't figure out how to verify wrap of pthread_cond_signal + + +FIXME: can't figure out how to verify wrap of pthread_broadcast_signal + + +Thread #x: pthread_cond_{timed}wait called with un-held mutex + at 0x........: pthread_cond_timedwait@* (hg_intercepts.c:...) + by 0x........: main (tc20_verifywrap.c:165) + +Thread #x's call to pthread_cond_timedwait failed + with error code 22 (EINVAL: Invalid argument) + at 0x........: pthread_cond_timedwait@* (hg_intercepts.c:...) + by 0x........: main (tc20_verifywrap.c:165) + +---------------- pthread_rwlock_* ---------------- + + +Thread #x unlocked a not-locked lock at 0x........ + at 0x........: pthread_rwlock_unlock (hg_intercepts.c:...) + by 0x........: main (tc20_verifywrap.c:179) + Lock at 0x........ was first observed + at 0x........: pthread_rwlock_init (hg_intercepts.c:...) + by 0x........: main (tc20_verifywrap.c:178) +(1) no error on next line +(2) no error on next line +(3) ERROR on next line + +Thread #x unlocked a not-locked lock at 0x........ + at 0x........: pthread_rwlock_unlock (hg_intercepts.c:...) + by 0x........: main (tc20_verifywrap.c:196) + Lock at 0x........ was first observed + at 0x........: pthread_rwlock_init (hg_intercepts.c:...) + by 0x........: main (tc20_verifywrap.c:186) +(4) no error on next line +(5) no error on next line +(6) no error on next line +(7) no error on next line +(8) ERROR on next line + +Thread #x unlocked a not-locked lock at 0x........ + at 0x........: pthread_rwlock_unlock (hg_intercepts.c:...) + by 0x........: main (tc20_verifywrap.c:212) + Lock at 0x........ was first observed + at 0x........: pthread_rwlock_init (hg_intercepts.c:...) + by 0x........: main (tc20_verifywrap.c:186) + +---------------- sem_* ---------------- + + +Thread #x's call to sem_init failed + with error code 22 (EINVAL: Invalid argument) + at 0x........: sem_init@* (hg_intercepts.c:...) + by 0x........: main (tc20_verifywrap.c:228) + +FIXME: can't figure out how to verify wrap of sem_destroy + + +Thread #x: Bug in libpthread: sem_wait succeeded on semaphore without prior sem_post + at 0x........: sem_wait_WRK (hg_intercepts.c:...) + by 0x........: sem_wait (hg_intercepts.c:...) + by 0x........: main (tc20_verifywrap.c:242) + +Thread #x's call to sem_post failed + with error code 22 (EINVAL: Invalid argument) + at 0x........: sem_post_WRK (hg_intercepts.c:...) + by 0x........: sem_post (hg_intercepts.c:...) + by 0x........: main (tc20_verifywrap.c:245) + +FIXME: can't figure out how to verify wrap of sem_post + + +------------ dealloc of mem holding locks ------------ + + +Thread #x: Exiting thread still holds 1 lock + ... + +ERROR SUMMARY: 21 errors from 21 contexts (suppressed: 0 from 0) diff --git a/helgrind/tests/.svn/text-base/tc20_verifywrap.stdout.exp.svn-base b/helgrind/tests/.svn/text-base/tc20_verifywrap.stdout.exp.svn-base new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/helgrind/tests/.svn/text-base/tc20_verifywrap.stdout.exp.svn-base diff --git a/helgrind/tests/.svn/text-base/tc20_verifywrap.vgtest.svn-base b/helgrind/tests/.svn/text-base/tc20_verifywrap.vgtest.svn-base new file mode 100644 index 0000000..7683e8a --- /dev/null +++ b/helgrind/tests/.svn/text-base/tc20_verifywrap.vgtest.svn-base @@ -0,0 +1,2 @@ +prog: tc20_verifywrap +vgopts: --read-var-info=yes diff --git a/helgrind/tests/.svn/text-base/tc21_pthonce.c.svn-base b/helgrind/tests/.svn/text-base/tc21_pthonce.c.svn-base new file mode 100644 index 0000000..69fac76 --- /dev/null +++ b/helgrind/tests/.svn/text-base/tc21_pthonce.c.svn-base @@ -0,0 +1,96 @@ + +/* This really exists to check that Thrcheck behaves plausibly + with pthread_once calls. Which it appears to. + + The original source of this program is as shown below, although it + has been modified somewhat. See + http://www.oreilly.com/pub/a/oreilly/ask_tim/2001/codepolicy.html + for OReilly's policy on using bits of their code examples. +*/ + + +/******************************************************** + * An example source module to accompany... + * + * "Using POSIX Threads: Programming with Pthreads" + * by Brad Nichols, Dick Buttlar, Jackie Farrell + * O'Reilly & Associates, Inc. + * + ******************************************************** + * once_exam.c + * + * An example of using the pthreads_once() call to execute an + * initialization procedure. + * + * A program spawns multiple threads and each one tries to + * execute the routine welcome() using the once call. Only + * the first thread into the once routine will actually + * execute welcome(). + * + * The program's main thread synchronizes its exit with the + * exit of the threads using the pthread_join() operation. + * +*/ + +#include <stdlib.h> +#include <stdio.h> +#include <unistd.h> +#include <sys/types.h> +#include <assert.h> + +#include <pthread.h> + +/* With more than 2 threads, the precise error reports vary between + platforms, in terms of the number of races detected. Make life + simple and just have 2 threads and so just 1 race. */ +#define NUM_THREADS 2 + +static pthread_once_t welcome_once_block = PTHREAD_ONCE_INIT; + +static int unprotected1 = 0; +static int unprotected2 = 0; + +/* This is a hack: delay threads except the first enough so as to + ensure threads[0] gets to the pthread_once call first. This is so + as to ensure that this test produces results which aren't + scheduling sensitive. (sigh) */ +void maybe_stall ( int myid ) +{ + assert(myid >= 0 && myid < NUM_THREADS); + if (myid > 0) + sleep(1); +} + +void welcome(void) { + printf("welcome: Welcome\n"); + unprotected1++; /* this is harmless */ +} + +void* child ( void* argV ) { + int r; + maybe_stall( *(int*)argV ); + r= pthread_once(&welcome_once_block, welcome); assert(!r); + printf("child: Hi, I'm thread %d\n", *(int*)argV); + unprotected2++; /* whereas this is a race */ + return NULL; +} + +int main ( void ) { + int *id_arg, i, r; + pthread_t threads[NUM_THREADS]; + + id_arg = (int *)malloc(NUM_THREADS*sizeof(int)); + + for (i = 0; i < NUM_THREADS; i++) { + id_arg[i] = i; + r= pthread_create(&threads[i], NULL, child, &id_arg[i]); + assert(!r); + } + + for (i = 0; i < NUM_THREADS; i++) { + pthread_join(threads[i], NULL); + /* printf("main: joined to thread %d\n", i); */ + } + printf("main: Goodbye\n"); + return 0; +} diff --git a/helgrind/tests/.svn/text-base/tc21_pthonce.stderr.exp.svn-base b/helgrind/tests/.svn/text-base/tc21_pthonce.stderr.exp.svn-base new file mode 100644 index 0000000..65cae9a --- /dev/null +++ b/helgrind/tests/.svn/text-base/tc21_pthonce.stderr.exp.svn-base @@ -0,0 +1,34 @@ + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc21_pthonce.c:86) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc21_pthonce.c:86) + +Possible data race during read of size 4 at 0x........ by thread #x + at 0x........: child (tc21_pthonce.c:74) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: child (tc21_pthonce.c:74) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + Location 0x........ is 0 bytes inside local var "unprotected2" + declared at tc21_pthonce.c:51, in frame #x of thread x + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: child (tc21_pthonce.c:74) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: child (tc21_pthonce.c:74) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + Location 0x........ is 0 bytes inside local var "unprotected2" + declared at tc21_pthonce.c:51, in frame #x of thread x + +ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 0 from 0) diff --git a/helgrind/tests/.svn/text-base/tc21_pthonce.stdout.exp.svn-base b/helgrind/tests/.svn/text-base/tc21_pthonce.stdout.exp.svn-base new file mode 100644 index 0000000..e6c2dc2 --- /dev/null +++ b/helgrind/tests/.svn/text-base/tc21_pthonce.stdout.exp.svn-base @@ -0,0 +1,4 @@ +welcome: Welcome +child: Hi, I'm thread 0 +child: Hi, I'm thread 1 +main: Goodbye diff --git a/helgrind/tests/.svn/text-base/tc21_pthonce.vgtest.svn-base b/helgrind/tests/.svn/text-base/tc21_pthonce.vgtest.svn-base new file mode 100644 index 0000000..0887de8 --- /dev/null +++ b/helgrind/tests/.svn/text-base/tc21_pthonce.vgtest.svn-base @@ -0,0 +1,2 @@ +prog: tc21_pthonce +vgopts: --read-var-info=yes diff --git a/helgrind/tests/.svn/text-base/tc22_exit_w_lock.c.svn-base b/helgrind/tests/.svn/text-base/tc22_exit_w_lock.c.svn-base new file mode 100644 index 0000000..d40600e --- /dev/null +++ b/helgrind/tests/.svn/text-base/tc22_exit_w_lock.c.svn-base @@ -0,0 +1,50 @@ + +#include <pthread.h> +#include <unistd.h> +#include <assert.h> +#include <signal.h> + +/* Should see 3 threads exiting in different ways, all holding one (or + two) locks. */ + +pthread_mutex_t mxC1 = PTHREAD_MUTEX_INITIALIZER; +pthread_mutex_t mxC2 = PTHREAD_MUTEX_INITIALIZER; +pthread_mutex_t mxC2b = PTHREAD_MUTEX_INITIALIZER; +pthread_mutex_t mxP = PTHREAD_MUTEX_INITIALIZER; + +/* This one exits in the normal way, by joining back */ +void* child_fn1 ( void* arg ) +{ + int r= pthread_mutex_lock( &mxC1 ); assert(!r); + return NULL; +} + +/* This one detaches, does its own thing. */ +void* child_fn2 ( void* arg ) +{ + int r; + r= pthread_mutex_lock( &mxC2 ); assert(!r); + r= pthread_mutex_lock( &mxC2b ); assert(!r); + r= pthread_detach( pthread_self() ); assert(!r); + return NULL; +} + +/* Parent creates 2 children, takes a lock, waits, segfaults. Use + sleeps to enforce exit ordering, for repeatable regtesting. */ +int main ( void ) +{ + int r; + pthread_t child1, child2; + + r= pthread_create(&child2, NULL, child_fn2, NULL); assert(!r); + sleep(1); + + r= pthread_create(&child1, NULL, child_fn1, NULL); assert(!r); + r= pthread_join(child1, NULL); assert(!r); + sleep(1); + + r= pthread_mutex_lock( &mxP ); + + kill( getpid(), SIGABRT ); + return 0; +} diff --git a/helgrind/tests/.svn/text-base/tc22_exit_w_lock.stderr.exp.svn-base b/helgrind/tests/.svn/text-base/tc22_exit_w_lock.stderr.exp.svn-base new file mode 100644 index 0000000..74139f1 --- /dev/null +++ b/helgrind/tests/.svn/text-base/tc22_exit_w_lock.stderr.exp.svn-base @@ -0,0 +1,23 @@ + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc22_exit_w_lock.c:39) + +Thread #x: Exiting thread still holds 2 locks + ... + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc22_exit_w_lock.c:42) + +Thread #x: Exiting thread still holds 1 lock + ... + +Thread #x is the program's root thread + +Thread #x: Exiting thread still holds 1 lock + ... + +ERROR SUMMARY: 3 errors from 3 contexts (suppressed: 0 from 0) diff --git a/helgrind/tests/.svn/text-base/tc22_exit_w_lock.stdout.exp.svn-base b/helgrind/tests/.svn/text-base/tc22_exit_w_lock.stdout.exp.svn-base new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/helgrind/tests/.svn/text-base/tc22_exit_w_lock.stdout.exp.svn-base diff --git a/helgrind/tests/.svn/text-base/tc22_exit_w_lock.vgtest.svn-base b/helgrind/tests/.svn/text-base/tc22_exit_w_lock.vgtest.svn-base new file mode 100644 index 0000000..4f85dd5 --- /dev/null +++ b/helgrind/tests/.svn/text-base/tc22_exit_w_lock.vgtest.svn-base @@ -0,0 +1 @@ +prog: tc22_exit_w_lock diff --git a/helgrind/tests/.svn/text-base/tc23_bogus_condwait.c.svn-base b/helgrind/tests/.svn/text-base/tc23_bogus_condwait.c.svn-base new file mode 100644 index 0000000..a0fad5d --- /dev/null +++ b/helgrind/tests/.svn/text-base/tc23_bogus_condwait.c.svn-base @@ -0,0 +1,86 @@ + +/* Expect 5 errors total (4 re cvs, 1 re exiting w/lock.). + Tests passing bogus mutexes to pthread_cond_wait. */ +#define _GNU_SOURCE 1 /* needed by glibc <= 2.3 for pthread_rwlock_* */ +#include <pthread.h> +#include <assert.h> +#include <unistd.h> +#include <semaphore.h> + +pthread_mutex_t mx[4]; +pthread_cond_t cv; +pthread_rwlock_t rwl; + +sem_t quit_now; + +void* rescue_me ( void* uu ) +{ + /* wait for, and unblock, the first wait */ + sleep(1); + pthread_cond_signal( &cv ); + + /* wait for, and unblock, the second wait */ + sleep(1); + pthread_cond_signal( &cv ); + + /* wait for, and unblock, the third wait */ + sleep(1); + pthread_cond_signal( &cv ); + + /* wait for, and unblock, the fourth wait */ + sleep(1); + pthread_cond_signal( &cv ); + + sem_wait( &quit_now ); + return NULL; +} + +void* grab_the_lock ( void* uu ) +{ + int r= pthread_mutex_lock( &mx[2] ); assert(!r); + sem_wait( &quit_now ); + r= pthread_mutex_unlock( &mx[2] ); assert(!r); + return NULL; +} + +int main ( void ) +{ + int r; + pthread_t my_rescuer, grabber; + + r= pthread_mutex_init(&mx[0], NULL); assert(!r); + r= pthread_mutex_init(&mx[1], NULL); assert(!r); + r= pthread_mutex_init(&mx[2], NULL); assert(!r); + r= pthread_mutex_init(&mx[3], NULL); assert(!r); + + r= pthread_cond_init(&cv, NULL); assert(!r); + r= pthread_rwlock_init(&rwl, NULL); assert(!r); + + r= sem_init( &quit_now, 0,0 ); assert(!r); + + r= pthread_create( &grabber, NULL, grab_the_lock, NULL ); assert(!r); + sleep(1); /* let the grabber get there first */ + + r= pthread_create( &my_rescuer, NULL, rescue_me, NULL ); assert(!r); + /* Do stupid things and hope that rescue_me gets us out of + trouble */ + + /* mx is bogus */ + r= pthread_cond_wait(&cv, (pthread_mutex_t*)(1 + (char*)&mx[0]) ); + + /* mx is not locked */ + r= pthread_cond_wait(&cv, &mx[0]); + + /* wrong flavour of lock */ + r= pthread_cond_wait(&cv, (pthread_mutex_t*)&rwl ); + + /* mx is held by someone else. */ + r= pthread_cond_wait(&cv, &mx[2] ); + + r= sem_post( &quit_now ); assert(!r); + r= sem_post( &quit_now ); assert(!r); + + r= pthread_join( my_rescuer, NULL ); assert(!r); + r= pthread_join( grabber, NULL ); assert(!r); + return 0; +} diff --git a/helgrind/tests/.svn/text-base/tc23_bogus_condwait.stderr.exp.svn-base b/helgrind/tests/.svn/text-base/tc23_bogus_condwait.stderr.exp.svn-base new file mode 100644 index 0000000..d80ee1a --- /dev/null +++ b/helgrind/tests/.svn/text-base/tc23_bogus_condwait.stderr.exp.svn-base @@ -0,0 +1,20 @@ + +Thread #x is the program's root thread + +Thread #x: pthread_cond_{timed}wait called with invalid mutex + at 0x........: pthread_cond_wait@* (hg_intercepts.c:...) + by 0x........: main (tc23_bogus_condwait.c:69) + +Thread #x: pthread_cond_{timed}wait called with un-held mutex + at 0x........: pthread_cond_wait@* (hg_intercepts.c:...) + by 0x........: main (tc23_bogus_condwait.c:72) + +Thread #x: pthread_cond_{timed}wait called with mutex of type pthread_rwlock_t* + at 0x........: pthread_cond_wait@* (hg_intercepts.c:...) + by 0x........: main (tc23_bogus_condwait.c:75) + +Thread #x: pthread_cond_{timed}wait called with mutex held by a different thread + at 0x........: pthread_cond_wait@* (hg_intercepts.c:...) + by 0x........: main (tc23_bogus_condwait.c:78) + +ERROR SUMMARY: 4 errors from 4 contexts (suppressed: 0 from 0) diff --git a/helgrind/tests/.svn/text-base/tc23_bogus_condwait.stdout.exp.svn-base b/helgrind/tests/.svn/text-base/tc23_bogus_condwait.stdout.exp.svn-base new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/helgrind/tests/.svn/text-base/tc23_bogus_condwait.stdout.exp.svn-base diff --git a/helgrind/tests/.svn/text-base/tc23_bogus_condwait.vgtest.svn-base b/helgrind/tests/.svn/text-base/tc23_bogus_condwait.vgtest.svn-base new file mode 100644 index 0000000..31c3ed8 --- /dev/null +++ b/helgrind/tests/.svn/text-base/tc23_bogus_condwait.vgtest.svn-base @@ -0,0 +1 @@ +prog: tc23_bogus_condwait diff --git a/helgrind/tests/.svn/text-base/tc24_nonzero_sem.c.svn-base b/helgrind/tests/.svn/text-base/tc24_nonzero_sem.c.svn-base new file mode 100644 index 0000000..01c23e8 --- /dev/null +++ b/helgrind/tests/.svn/text-base/tc24_nonzero_sem.c.svn-base @@ -0,0 +1,41 @@ + +/* Check that Helgrind does not complain about semaphores with a + nonzero initial value, when said semaphores are correctly used. + Also useful for generating VCG of simple semaphore activity, for + inspection. */ + +#include <pthread.h> +#include <semaphore.h> +#include <assert.h> + +#define N_THREADS 3 + +void* child_fn ( void* semV ) +{ + int r; + sem_t* sem = (sem_t*)semV; + r= sem_wait(sem); assert(!r); + return NULL; +} + +int main ( void ) +{ + int r, i; + sem_t sem; + pthread_t child[N_THREADS]; + + r= sem_init(&sem, 0, N_THREADS); assert(!r); + + for (i = 0; i < N_THREADS; i++) { + r= pthread_create( &child[i], NULL, child_fn, (void*)&sem ); + assert(!r); + } + + for (i = 0; i < N_THREADS; i++) { + r= pthread_join( child[i], NULL ); + assert(!r); + } + + sem_destroy(&sem); + return 0; +} diff --git a/helgrind/tests/.svn/text-base/tc24_nonzero_sem.stderr.exp.svn-base b/helgrind/tests/.svn/text-base/tc24_nonzero_sem.stderr.exp.svn-base new file mode 100644 index 0000000..d18786f --- /dev/null +++ b/helgrind/tests/.svn/text-base/tc24_nonzero_sem.stderr.exp.svn-base @@ -0,0 +1,3 @@ + + +ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) diff --git a/helgrind/tests/.svn/text-base/tc24_nonzero_sem.stdout.exp.svn-base b/helgrind/tests/.svn/text-base/tc24_nonzero_sem.stdout.exp.svn-base new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/helgrind/tests/.svn/text-base/tc24_nonzero_sem.stdout.exp.svn-base diff --git a/helgrind/tests/.svn/text-base/tc24_nonzero_sem.vgtest.svn-base b/helgrind/tests/.svn/text-base/tc24_nonzero_sem.vgtest.svn-base new file mode 100644 index 0000000..1a43121 --- /dev/null +++ b/helgrind/tests/.svn/text-base/tc24_nonzero_sem.vgtest.svn-base @@ -0,0 +1,2 @@ +prog: tc24_nonzero_sem +vgopts: --hg-sanity-flags=111111 diff --git a/helgrind/tests/Makefile b/helgrind/tests/Makefile new file mode 100644 index 0000000..313d02b --- /dev/null +++ b/helgrind/tests/Makefile @@ -0,0 +1,908 @@ +# Makefile.in generated by automake 1.10.1 from Makefile.am. +# helgrind/tests/Makefile. Generated from Makefile.in by configure. + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + + + +# This file is used for tool tests, and also in perf/Makefile.am. + + +pkgdatadir = $(datadir)/valgrind +pkglibdir = $(libdir)/valgrind +pkgincludedir = $(includedir)/valgrind +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = x86_64-unknown-linux-gnu +host_triplet = x86_64-unknown-linux-gnu +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ + $(top_srcdir)/Makefile.flags.am \ + $(top_srcdir)/Makefile.tool-tests.am +check_PROGRAMS = hg01_all_ok$(EXEEXT) hg02_deadlock$(EXEEXT) \ + hg03_inherit$(EXEEXT) hg04_race$(EXEEXT) hg05_race2$(EXEEXT) \ + hg06_readshared$(EXEEXT) tc01_simple_race$(EXEEXT) \ + tc02_simple_tls$(EXEEXT) tc03_re_excl$(EXEEXT) \ + tc04_free_lock$(EXEEXT) tc05_simple_race$(EXEEXT) \ + tc06_two_races$(EXEEXT) tc07_hbl1$(EXEEXT) tc08_hbl2$(EXEEXT) \ + tc09_bad_unlock$(EXEEXT) tc10_rec_lock$(EXEEXT) \ + tc11_XCHG$(EXEEXT) tc12_rwl_trivial$(EXEEXT) \ + tc13_laog1$(EXEEXT) tc14_laog_dinphils$(EXEEXT) \ + tc15_laog_lockdel$(EXEEXT) tc16_byterace$(EXEEXT) \ + tc17_sembar$(EXEEXT) tc18_semabuse$(EXEEXT) \ + tc19_shadowmem$(EXEEXT) tc20_verifywrap$(EXEEXT) \ + tc21_pthonce$(EXEEXT) tc22_exit_w_lock$(EXEEXT) \ + tc23_bogus_condwait$(EXEEXT) tc24_nonzero_sem$(EXEEXT) \ + $(am__EXEEXT_1) +am__append_1 = bar_bad bar_trivial +subdir = helgrind/tests +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/configure.in +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(install_sh) -d +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +am__EXEEXT_1 = bar_bad$(EXEEXT) \ + bar_trivial$(EXEEXT) +bar_bad_SOURCES = bar_bad.c +bar_bad_OBJECTS = bar_bad.$(OBJEXT) +bar_bad_LDADD = $(LDADD) +bar_bad_DEPENDENCIES = +bar_trivial_SOURCES = bar_trivial.c +bar_trivial_OBJECTS = bar_trivial.$(OBJEXT) +bar_trivial_LDADD = $(LDADD) +bar_trivial_DEPENDENCIES = +hg01_all_ok_SOURCES = hg01_all_ok.c +hg01_all_ok_OBJECTS = hg01_all_ok.$(OBJEXT) +hg01_all_ok_LDADD = $(LDADD) +hg01_all_ok_DEPENDENCIES = +hg02_deadlock_SOURCES = hg02_deadlock.c +hg02_deadlock_OBJECTS = hg02_deadlock.$(OBJEXT) +hg02_deadlock_LDADD = $(LDADD) +hg02_deadlock_DEPENDENCIES = +hg03_inherit_SOURCES = hg03_inherit.c +hg03_inherit_OBJECTS = hg03_inherit.$(OBJEXT) +hg03_inherit_LDADD = $(LDADD) +hg03_inherit_DEPENDENCIES = +hg04_race_SOURCES = hg04_race.c +hg04_race_OBJECTS = hg04_race.$(OBJEXT) +hg04_race_LDADD = $(LDADD) +hg04_race_DEPENDENCIES = +hg05_race2_SOURCES = hg05_race2.c +hg05_race2_OBJECTS = hg05_race2.$(OBJEXT) +hg05_race2_LDADD = $(LDADD) +hg05_race2_DEPENDENCIES = +hg06_readshared_SOURCES = hg06_readshared.c +hg06_readshared_OBJECTS = hg06_readshared.$(OBJEXT) +hg06_readshared_LDADD = $(LDADD) +hg06_readshared_DEPENDENCIES = +tc01_simple_race_SOURCES = tc01_simple_race.c +tc01_simple_race_OBJECTS = tc01_simple_race.$(OBJEXT) +tc01_simple_race_LDADD = $(LDADD) +tc01_simple_race_DEPENDENCIES = +tc02_simple_tls_SOURCES = tc02_simple_tls.c +tc02_simple_tls_OBJECTS = tc02_simple_tls.$(OBJEXT) +tc02_simple_tls_LDADD = $(LDADD) +tc02_simple_tls_DEPENDENCIES = +tc03_re_excl_SOURCES = tc03_re_excl.c +tc03_re_excl_OBJECTS = tc03_re_excl.$(OBJEXT) +tc03_re_excl_LDADD = $(LDADD) +tc03_re_excl_DEPENDENCIES = +tc04_free_lock_SOURCES = tc04_free_lock.c +tc04_free_lock_OBJECTS = tc04_free_lock.$(OBJEXT) +tc04_free_lock_LDADD = $(LDADD) +tc04_free_lock_DEPENDENCIES = +tc05_simple_race_SOURCES = tc05_simple_race.c +tc05_simple_race_OBJECTS = tc05_simple_race.$(OBJEXT) +tc05_simple_race_LDADD = $(LDADD) +tc05_simple_race_DEPENDENCIES = +tc06_two_races_SOURCES = tc06_two_races.c +tc06_two_races_OBJECTS = tc06_two_races.$(OBJEXT) +tc06_two_races_LDADD = $(LDADD) +tc06_two_races_DEPENDENCIES = +tc07_hbl1_SOURCES = tc07_hbl1.c +tc07_hbl1_OBJECTS = tc07_hbl1.$(OBJEXT) +tc07_hbl1_LDADD = $(LDADD) +tc07_hbl1_DEPENDENCIES = +tc08_hbl2_SOURCES = tc08_hbl2.c +tc08_hbl2_OBJECTS = tc08_hbl2.$(OBJEXT) +tc08_hbl2_LDADD = $(LDADD) +tc08_hbl2_DEPENDENCIES = +tc09_bad_unlock_SOURCES = tc09_bad_unlock.c +tc09_bad_unlock_OBJECTS = tc09_bad_unlock.$(OBJEXT) +tc09_bad_unlock_LDADD = $(LDADD) +tc09_bad_unlock_DEPENDENCIES = +tc10_rec_lock_SOURCES = tc10_rec_lock.c +tc10_rec_lock_OBJECTS = tc10_rec_lock.$(OBJEXT) +tc10_rec_lock_LDADD = $(LDADD) +tc10_rec_lock_DEPENDENCIES = +tc11_XCHG_SOURCES = tc11_XCHG.c +tc11_XCHG_OBJECTS = tc11_XCHG.$(OBJEXT) +tc11_XCHG_LDADD = $(LDADD) +tc11_XCHG_DEPENDENCIES = +tc12_rwl_trivial_SOURCES = tc12_rwl_trivial.c +tc12_rwl_trivial_OBJECTS = tc12_rwl_trivial.$(OBJEXT) +tc12_rwl_trivial_LDADD = $(LDADD) +tc12_rwl_trivial_DEPENDENCIES = +tc13_laog1_SOURCES = tc13_laog1.c +tc13_laog1_OBJECTS = tc13_laog1.$(OBJEXT) +tc13_laog1_LDADD = $(LDADD) +tc13_laog1_DEPENDENCIES = +tc14_laog_dinphils_SOURCES = tc14_laog_dinphils.c +tc14_laog_dinphils_OBJECTS = tc14_laog_dinphils.$(OBJEXT) +tc14_laog_dinphils_LDADD = $(LDADD) +tc14_laog_dinphils_DEPENDENCIES = +tc15_laog_lockdel_SOURCES = tc15_laog_lockdel.c +tc15_laog_lockdel_OBJECTS = tc15_laog_lockdel.$(OBJEXT) +tc15_laog_lockdel_LDADD = $(LDADD) +tc15_laog_lockdel_DEPENDENCIES = +tc16_byterace_SOURCES = tc16_byterace.c +tc16_byterace_OBJECTS = tc16_byterace.$(OBJEXT) +tc16_byterace_LDADD = $(LDADD) +tc16_byterace_DEPENDENCIES = +tc17_sembar_SOURCES = tc17_sembar.c +tc17_sembar_OBJECTS = tc17_sembar.$(OBJEXT) +tc17_sembar_LDADD = $(LDADD) +tc17_sembar_DEPENDENCIES = +tc18_semabuse_SOURCES = tc18_semabuse.c +tc18_semabuse_OBJECTS = tc18_semabuse.$(OBJEXT) +tc18_semabuse_LDADD = $(LDADD) +tc18_semabuse_DEPENDENCIES = +tc19_shadowmem_SOURCES = tc19_shadowmem.c +tc19_shadowmem_OBJECTS = tc19_shadowmem.$(OBJEXT) +tc19_shadowmem_LDADD = $(LDADD) +tc19_shadowmem_DEPENDENCIES = +tc20_verifywrap_SOURCES = tc20_verifywrap.c +tc20_verifywrap_OBJECTS = tc20_verifywrap.$(OBJEXT) +tc20_verifywrap_LDADD = $(LDADD) +tc20_verifywrap_DEPENDENCIES = +tc21_pthonce_SOURCES = tc21_pthonce.c +tc21_pthonce_OBJECTS = tc21_pthonce.$(OBJEXT) +tc21_pthonce_LDADD = $(LDADD) +tc21_pthonce_DEPENDENCIES = +tc22_exit_w_lock_SOURCES = tc22_exit_w_lock.c +tc22_exit_w_lock_OBJECTS = tc22_exit_w_lock.$(OBJEXT) +tc22_exit_w_lock_LDADD = $(LDADD) +tc22_exit_w_lock_DEPENDENCIES = +tc23_bogus_condwait_SOURCES = tc23_bogus_condwait.c +tc23_bogus_condwait_OBJECTS = tc23_bogus_condwait.$(OBJEXT) +tc23_bogus_condwait_LDADD = $(LDADD) +tc23_bogus_condwait_DEPENDENCIES = +tc24_nonzero_sem_SOURCES = tc24_nonzero_sem.c +tc24_nonzero_sem_OBJECTS = tc24_nonzero_sem.$(OBJEXT) +tc24_nonzero_sem_LDADD = $(LDADD) +tc24_nonzero_sem_DEPENDENCIES = +SCRIPTS = $(noinst_SCRIPTS) +DEFAULT_INCLUDES = -I. -I$(top_builddir) +depcomp = $(SHELL) $(top_srcdir)/depcomp +am__depfiles_maybe = depfiles +COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +CCLD = $(CC) +LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ +SOURCES = bar_bad.c bar_trivial.c hg01_all_ok.c hg02_deadlock.c \ + hg03_inherit.c hg04_race.c hg05_race2.c hg06_readshared.c \ + tc01_simple_race.c tc02_simple_tls.c tc03_re_excl.c \ + tc04_free_lock.c tc05_simple_race.c tc06_two_races.c \ + tc07_hbl1.c tc08_hbl2.c tc09_bad_unlock.c tc10_rec_lock.c \ + tc11_XCHG.c tc12_rwl_trivial.c tc13_laog1.c \ + tc14_laog_dinphils.c tc15_laog_lockdel.c tc16_byterace.c \ + tc17_sembar.c tc18_semabuse.c tc19_shadowmem.c \ + tc20_verifywrap.c tc21_pthonce.c tc22_exit_w_lock.c \ + tc23_bogus_condwait.c tc24_nonzero_sem.c +DIST_SOURCES = bar_bad.c bar_trivial.c hg01_all_ok.c hg02_deadlock.c \ + hg03_inherit.c hg04_race.c hg05_race2.c hg06_readshared.c \ + tc01_simple_race.c tc02_simple_tls.c tc03_re_excl.c \ + tc04_free_lock.c tc05_simple_race.c tc06_two_races.c \ + tc07_hbl1.c tc08_hbl2.c tc09_bad_unlock.c tc10_rec_lock.c \ + tc11_XCHG.c tc12_rwl_trivial.c tc13_laog1.c \ + tc14_laog_dinphils.c tc15_laog_lockdel.c tc16_byterace.c \ + tc17_sembar.c tc18_semabuse.c tc19_shadowmem.c \ + tc20_verifywrap.c tc21_pthonce.c tc22_exit_w_lock.c \ + tc23_bogus_condwait.c tc24_nonzero_sem.c +ETAGS = etags +CTAGS = ctags +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = ${SHELL} /home/steph/compile/valgrind/missing --run aclocal-1.10 +AMTAR = ${SHELL} /home/steph/compile/valgrind/missing --run tar +AR = /usr/bin/ar +AUTOCONF = ${SHELL} /home/steph/compile/valgrind/missing --run autoconf +AUTOHEADER = ${SHELL} /home/steph/compile/valgrind/missing --run autoheader +AUTOMAKE = ${SHELL} /home/steph/compile/valgrind/missing --run automake-1.10 +AWK = gawk +BOOST_CFLAGS = +BOOST_LIBS = -lboost_thread-mt -m64 +CC = gcc +CCAS = gcc +CCASDEPMODE = depmode=gcc3 +CCASFLAGS = -Wno-long-long +CCDEPMODE = depmode=gcc3 +CFLAGS = -Wno-long-long -Wno-pointer-sign -Wdeclaration-after-statement -fno-stack-protector +CPP = gcc -E +CPPFLAGS = +CXX = g++ +CXXDEPMODE = depmode=gcc3 +CXXFLAGS = -g -O2 +CYGPATH_W = echo +DEFAULT_SUPP = exp-ptrcheck.supp xfree-3.supp xfree-4.supp glibc-2.X-drd.supp glibc-2.34567-NPTL-helgrind.supp glibc-2.X.supp +DEFS = -DHAVE_CONFIG_H +DEPDIR = .deps +DIFF = diff -u +DISTCHECK_CONFIGURE_FLAGS = --with-vex=$(top_srcdir)/VEX +ECHO_C = +ECHO_N = -n +ECHO_T = +EGREP = /bin/grep -E +EXEEXT = +FLAG_FNO_STACK_PROTECTOR = -fno-stack-protector +FLAG_M32 = -m32 +FLAG_M64 = -m64 +FLAG_MAIX32 = +FLAG_MAIX64 = +FLAG_MMMX = -mmmx +FLAG_MSSE = -msse +FLAG_UNLIMITED_INLINE_UNIT_GROWTH = --param inline-unit-growth=900 +FLAG_WDECL_AFTER_STMT = -Wdeclaration-after-statement +FLAG_W_EXTRA = -Wextra +FLAG_W_NO_FORMAT_ZERO_LENGTH = -Wno-format-zero-length +GDB = /usr/bin/gdb +GLIBC_VERSION = 2.8 +GREP = /bin/grep +INSTALL = /usr/bin/install -c +INSTALL_DATA = ${INSTALL} -m 644 +INSTALL_PROGRAM = ${INSTALL} +INSTALL_SCRIPT = ${INSTALL} +INSTALL_STRIP_PROGRAM = $(install_sh) -c -s +LDFLAGS = +LIBOBJS = +LIBS = +LN_S = ln -s +LTLIBOBJS = +MAINT = # +MAKEINFO = ${SHELL} /home/steph/compile/valgrind/missing --run makeinfo +MKDIR_P = /bin/mkdir -p +MPI_CC = mpicc +OBJEXT = o +PACKAGE = valgrind +PACKAGE_BUGREPORT = valgrind-users@lists.sourceforge.net +PACKAGE_NAME = Valgrind +PACKAGE_STRING = Valgrind 3.5.0.SVN +PACKAGE_TARNAME = valgrind +PACKAGE_VERSION = 3.5.0.SVN +PATH_SEPARATOR = : +PERL = /usr/bin/perl +PKG_CONFIG = /usr/bin/pkg-config +PREFERRED_STACK_BOUNDARY = +QTCORE_CFLAGS = -DQT_SHARED -I/usr/include/QtCore +QTCORE_LIBS = -lQtCore +RANLIB = ranlib +SET_MAKE = +SHELL = /bin/sh +STRIP = +VALT_LOAD_ADDRESS = 0x38000000 +VERSION = 3.5.0.SVN +VEX_DIR = $(top_srcdir)/VEX +VGCONF_ARCH_PRI = amd64 +VGCONF_OS = linux +VGCONF_PLATFORM_PRI_CAPS = AMD64_LINUX +VGCONF_PLATFORM_SEC_CAPS = +abs_builddir = /home/steph/compile/valgrind/helgrind/tests +abs_srcdir = /home/steph/compile/valgrind/helgrind/tests +abs_top_builddir = /home/steph/compile/valgrind +abs_top_srcdir = /home/steph/compile/valgrind +ac_ct_CC = gcc +ac_ct_CXX = g++ +am__include = include +am__leading_dot = . +am__quote = +am__tar = ${AMTAR} chof - "$$tardir" +am__untar = ${AMTAR} xf - +bindir = ${exec_prefix}/bin +build = x86_64-unknown-linux-gnu +build_alias = +build_cpu = x86_64 +build_os = linux-gnu +build_vendor = unknown +builddir = . +datadir = ${datarootdir} +datarootdir = ${prefix}/share +docdir = ${datarootdir}/doc/${PACKAGE_TARNAME} +dvidir = ${docdir} +exec_prefix = ${prefix} +host = x86_64-unknown-linux-gnu +host_alias = +host_cpu = x86_64 +host_os = linux-gnu +host_vendor = unknown +htmldir = ${docdir} +includedir = ${prefix}/include +infodir = ${datarootdir}/info +install_sh = $(SHELL) /home/steph/compile/valgrind/install-sh +libdir = ${exec_prefix}/lib +libexecdir = ${exec_prefix}/libexec +localedir = ${datarootdir}/locale +localstatedir = ${prefix}/var +mandir = ${datarootdir}/man +mkdir_p = /bin/mkdir -p +oldincludedir = /usr/include +pdfdir = ${docdir} +prefix = /usr/local +program_transform_name = s,x,x, +psdir = ${docdir} +sbindir = ${exec_prefix}/sbin +sharedstatedir = ${prefix}/com +srcdir = . +sysconfdir = ${prefix}/etc +target_alias = +top_builddir = ../.. +top_srcdir = ../.. + +# Baseline flags for all compilations. Aim here is to maximise +# performance and get whatever useful warnings we can out of gcc. +AM_CFLAGS_BASE = -O2 -g -Wmissing-prototypes -Wall -Wshadow \ + -Wpointer-arith -Wstrict-prototypes -Wmissing-declarations \ + -Wno-format-zero-length \ + -fno-strict-aliasing + + +# These flags are used for building the preload shared objects. +# The aim is to give reasonable performance but also to have good +# stack traces, since users often see stack traces extending +# into (and through) the preloads. +AM_CFLAGS_PIC = -O -g -fpic -fno-omit-frame-pointer -fno-strict-aliasing + +# Flags for specific targets. +# +# Nb: the AM_CPPFLAGS_* values are suitable for building tools and auxprogs. +# For building the core, coregrind/Makefile.am files add some extra things. +# +# Also: in newer versions of automake (1.10 onwards?) asm files ending with +# '.S' are considered "pre-processed" (as opposed to those ending in '.s') +# and so the CPPFLAGS are passed to the assembler. But this is not true for +# older automakes (e.g. 1.8.5, 1.9.6), sigh. So we include +# AM_CPPFLAGS_<PLATFORM> in each AM_CCASFLAGS_<PLATFORM> variable. This +# means some of the flags are duplicated on systems with newer versions of +# automake, but this does not really matter and seems hard to avoid. +AM_CPPFLAGS_COMMON = \ + -I$(top_srcdir) \ + -I$(top_srcdir)/include \ + -I$(top_srcdir)/VEX/pub + +AM_FLAG_M3264_X86_LINUX = -m32 +AM_CPPFLAGS_X86_LINUX = $(AM_CPPFLAGS_COMMON) \ + -DVGA_x86=1 \ + -DVGO_linux=1 \ + -DVGP_x86_linux=1 + +AM_CFLAGS_X86_LINUX = -m32 \ + $(AM_CFLAGS_BASE) + +AM_CCASFLAGS_X86_LINUX = $(AM_CPPFLAGS_X86_LINUX) -m32 -g +AM_FLAG_M3264_AMD64_LINUX = -m64 +AM_CPPFLAGS_AMD64_LINUX = $(AM_CPPFLAGS_COMMON) \ + -DVGA_amd64=1 \ + -DVGO_linux=1 \ + -DVGP_amd64_linux=1 + +AM_CFLAGS_AMD64_LINUX = -m64 -fomit-frame-pointer \ + $(AM_CFLAGS_BASE) + +AM_CCASFLAGS_AMD64_LINUX = $(AM_CPPFLAGS_AMD64_LINUX) -m64 -g +AM_FLAG_M3264_PPC32_LINUX = -m32 +AM_CPPFLAGS_PPC32_LINUX = $(AM_CPPFLAGS_COMMON) \ + -DVGA_ppc32=1 \ + -DVGO_linux=1 \ + -DVGP_ppc32_linux=1 + +AM_CFLAGS_PPC32_LINUX = -m32 $(AM_CFLAGS_BASE) +AM_CCASFLAGS_PPC32_LINUX = $(AM_CPPFLAGS_PPC32_LINUX) -m32 -g +AM_FLAG_M3264_PPC64_LINUX = -m64 +AM_CPPFLAGS_PPC64_LINUX = $(AM_CPPFLAGS_COMMON) \ + -DVGA_ppc64=1 \ + -DVGO_linux=1 \ + -DVGP_ppc64_linux=1 + +AM_CFLAGS_PPC64_LINUX = -m64 $(AM_CFLAGS_BASE) +AM_CCASFLAGS_PPC64_LINUX = $(AM_CPPFLAGS_PPC64_LINUX) -m64 -g +AM_FLAG_M3264_PPC32_AIX5 = +AM_CPPFLAGS_PPC32_AIX5 = $(AM_CPPFLAGS_COMMON) \ + -DVGA_ppc32=1 \ + -DVGO_aix5=1 \ + -DVGP_ppc32_aix5=1 + +AM_CFLAGS_PPC32_AIX5 = -mcpu=powerpc $(AM_CFLAGS_BASE) +AM_CCASFLAGS_PPC32_AIX5 = $(AM_CPPFLAGS_PPC32_AIX5) \ + -mcpu=powerpc -g + +AM_FLAG_M3264_PPC64_AIX5 = +AM_CPPFLAGS_PPC64_AIX5 = $(AM_CPPFLAGS_COMMON) \ + -DVGA_ppc64=1 \ + -DVGO_aix5=1 \ + -DVGP_ppc64_aix5=1 + +AM_CFLAGS_PPC64_AIX5 = -mcpu=powerpc64 $(AM_CFLAGS_BASE) +AM_CCASFLAGS_PPC64_AIX5 = $(AM_CPPFLAGS_PPC64_AIX5) \ + -mcpu=powerpc64 -g + + +# Flags for the primary target. These must be used to build the +# regtests and performance tests. In fact, these must be used to +# build anything which is built only once on a dual-arch build. +# +AM_FLAG_M3264_PRI = $(AM_FLAG_M3264_AMD64_LINUX) +AM_CPPFLAGS_PRI = $(AM_CPPFLAGS_AMD64_LINUX) +AM_CFLAGS_PRI = $(AM_CFLAGS_AMD64_LINUX) +AM_CCASFLAGS_PRI = $(AM_CCASFLAGS_AMD64_LINUX) +AM_FLAG_M3264_SEC = +#AM_FLAG_M3264_SEC = $(AM_FLAG_M3264_) + +# Baseline link flags for making dynamic shared objects. +# +PRELOAD_LDFLAGS_COMMON_LINUX = -nodefaultlibs -shared -Wl,-z,interpose,-z,initfirst +PRELOAD_LDFLAGS_COMMON_AIX5 = -nodefaultlibs -shared -Wl,-G -Wl,-bnogc +PRELOAD_LDFLAGS_X86_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) -m32 +PRELOAD_LDFLAGS_AMD64_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) -m64 +PRELOAD_LDFLAGS_PPC32_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) -m32 +PRELOAD_LDFLAGS_PPC64_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) -m64 +PRELOAD_LDFLAGS_PPC32_AIX5 = $(PRELOAD_LDFLAGS_COMMON_AIX5) +PRELOAD_LDFLAGS_PPC64_AIX5 = $(PRELOAD_LDFLAGS_COMMON_AIX5) +AM_CPPFLAGS = -I$(top_srcdir) -I$(top_srcdir)/include \ + -I$(top_srcdir)/coregrind -I$(top_builddir)/include \ + -I$(top_srcdir)/VEX/pub \ + -DVGA_$(VGCONF_ARCH_PRI)=1 \ + -DVGO_$(VGCONF_OS)=1 \ + -DVGP_$(VGCONF_ARCH_PRI)_$(VGCONF_OS)=1 + +# Nb: Tools need to augment these flags with an arch-selection option, such +# as $(AM_FLAG_M3264_PRI). +AM_CFLAGS = -Winline -Wall -Wshadow -g $(AM_FLAG_M3264_PRI) +AM_CXXFLAGS = -Winline -Wall -Wshadow -g $(AM_FLAG_M3264_PRI) +# Include AM_CPPFLAGS in AM_CCASFLAGS to allow for older versions of +# automake; see comments in Makefile.flags.am for more detail. +AM_CCASFLAGS = $(AM_CPPFLAGS) +noinst_SCRIPTS = filter_stderr +EXTRA_DIST = $(noinst_SCRIPTS) \ + bar_bad.vgtest bar_bad.stdout.exp bar_bad.stderr.exp \ + bar_trivial.vgtest bar_trivial.stdout.exp bar_trivial.stderr.exp \ + hg01_all_ok.vgtest hg01_all_ok.stdout.exp hg01_all_ok.stderr.exp \ + hg02_deadlock.vgtest hg02_deadlock.stdout.exp hg02_deadlock.stderr.exp \ + hg03_inherit.vgtest hg03_inherit.stdout.exp hg03_inherit.stderr.exp \ + hg04_race.vgtest hg04_race.stdout.exp hg04_race.stderr.exp \ + hg05_race2.vgtest hg05_race2.stdout.exp hg05_race2.stderr.exp \ + hg06_readshared.vgtest hg06_readshared.stdout.exp \ + hg06_readshared.stderr.exp \ + pth_barrier1.vgtest pth_barrier1.stdout.exp pth_barrier1.stderr.exp \ + pth_barrier2.vgtest pth_barrier2.stdout.exp pth_barrier2.stderr.exp \ + pth_barrier3.vgtest pth_barrier3.stdout.exp pth_barrier3.stderr.exp \ + rwlock_race.vgtest rwlock_race.stdout.exp rwlock_race.stderr.exp \ + rwlock_test.vgtest rwlock_test.stdout.exp rwlock_test.stderr.exp \ + tc01_simple_race.vgtest tc01_simple_race.stdout.exp \ + tc01_simple_race.stderr.exp \ + tc02_simple_tls.vgtest tc02_simple_tls.stdout.exp \ + tc02_simple_tls.stderr.exp \ + tc03_re_excl.vgtest tc03_re_excl.stdout.exp \ + tc03_re_excl.stderr.exp \ + tc04_free_lock.vgtest tc04_free_lock.stdout.exp \ + tc04_free_lock.stderr.exp \ + tc05_simple_race.vgtest tc05_simple_race.stdout.exp \ + tc05_simple_race.stderr.exp \ + tc06_two_races.vgtest tc06_two_races.stdout.exp \ + tc06_two_races.stderr.exp \ + tc07_hbl1.vgtest tc07_hbl1.stdout.exp tc07_hbl1.stderr.exp \ + tc08_hbl2.vgtest tc08_hbl2.stdout.exp tc08_hbl2.stderr.exp \ + tc09_bad_unlock.vgtest tc09_bad_unlock.stdout.exp \ + tc09_bad_unlock.stderr.exp-glibc23-amd64 \ + tc09_bad_unlock.stderr.exp-glibc25-amd64 \ + tc09_bad_unlock.stderr.exp-glibc25-x86 \ + tc10_rec_lock.vgtest tc10_rec_lock.stdout.exp tc10_rec_lock.stderr.exp \ + tc11_XCHG.vgtest tc11_XCHG.stdout.exp tc11_XCHG.stderr.exp \ + tc12_rwl_trivial.vgtest tc12_rwl_trivial.stdout.exp \ + tc12_rwl_trivial.stderr.exp \ + tc13_laog1.vgtest tc13_laog1.stdout.exp tc13_laog1.stderr.exp \ + tc14_laog_dinphils.vgtest tc14_laog_dinphils.stdout.exp \ + tc14_laog_dinphils.stderr.exp \ + tc15_laog_lockdel.vgtest tc15_laog_lockdel.stdout.exp \ + tc15_laog_lockdel.stderr.exp \ + tc16_byterace.vgtest tc16_byterace.stdout.exp \ + tc16_byterace.stderr.exp \ + tc17_sembar.vgtest tc17_sembar.stdout.exp \ + tc17_sembar.stderr.exp \ + tc18_semabuse.vgtest tc18_semabuse.stdout.exp \ + tc18_semabuse.stderr.exp-glibc25-amd64 \ + tc18_semabuse.stderr.exp-glibc28-amd64 \ + tc19_shadowmem.vgtest tc19_shadowmem.stdout.exp \ + tc19_shadowmem.stderr.exp \ + tc20_verifywrap.vgtest tc20_verifywrap.stdout.exp \ + tc20_verifywrap.stderr.exp-glibc25-amd64 \ + tc20_verifywrap.stderr.exp-glibc27-amd64 \ + tc21_pthonce.vgtest tc21_pthonce.stdout.exp tc21_pthonce.stderr.exp \ + tc22_exit_w_lock.vgtest tc22_exit_w_lock.stdout.exp \ + tc22_exit_w_lock.stderr.exp \ + tc23_bogus_condwait.vgtest tc23_bogus_condwait.stdout.exp \ + tc23_bogus_condwait.stderr.exp \ + tc24_nonzero_sem.vgtest tc24_nonzero_sem.stdout.exp \ + tc24_nonzero_sem.stderr.exp + +LDADD = -lpthread +all: all-am + +.SUFFIXES: +.SUFFIXES: .c .o .obj +$(srcdir)/Makefile.in: # $(srcdir)/Makefile.am $(top_srcdir)/Makefile.tool-tests.am $(top_srcdir)/Makefile.flags.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign helgrind/tests/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --foreign helgrind/tests/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: # $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): # $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +clean-checkPROGRAMS: + -test -z "$(check_PROGRAMS)" || rm -f $(check_PROGRAMS) +bar_bad$(EXEEXT): $(bar_bad_OBJECTS) $(bar_bad_DEPENDENCIES) + @rm -f bar_bad$(EXEEXT) + $(LINK) $(bar_bad_OBJECTS) $(bar_bad_LDADD) $(LIBS) +bar_trivial$(EXEEXT): $(bar_trivial_OBJECTS) $(bar_trivial_DEPENDENCIES) + @rm -f bar_trivial$(EXEEXT) + $(LINK) $(bar_trivial_OBJECTS) $(bar_trivial_LDADD) $(LIBS) +hg01_all_ok$(EXEEXT): $(hg01_all_ok_OBJECTS) $(hg01_all_ok_DEPENDENCIES) + @rm -f hg01_all_ok$(EXEEXT) + $(LINK) $(hg01_all_ok_OBJECTS) $(hg01_all_ok_LDADD) $(LIBS) +hg02_deadlock$(EXEEXT): $(hg02_deadlock_OBJECTS) $(hg02_deadlock_DEPENDENCIES) + @rm -f hg02_deadlock$(EXEEXT) + $(LINK) $(hg02_deadlock_OBJECTS) $(hg02_deadlock_LDADD) $(LIBS) +hg03_inherit$(EXEEXT): $(hg03_inherit_OBJECTS) $(hg03_inherit_DEPENDENCIES) + @rm -f hg03_inherit$(EXEEXT) + $(LINK) $(hg03_inherit_OBJECTS) $(hg03_inherit_LDADD) $(LIBS) +hg04_race$(EXEEXT): $(hg04_race_OBJECTS) $(hg04_race_DEPENDENCIES) + @rm -f hg04_race$(EXEEXT) + $(LINK) $(hg04_race_OBJECTS) $(hg04_race_LDADD) $(LIBS) +hg05_race2$(EXEEXT): $(hg05_race2_OBJECTS) $(hg05_race2_DEPENDENCIES) + @rm -f hg05_race2$(EXEEXT) + $(LINK) $(hg05_race2_OBJECTS) $(hg05_race2_LDADD) $(LIBS) +hg06_readshared$(EXEEXT): $(hg06_readshared_OBJECTS) $(hg06_readshared_DEPENDENCIES) + @rm -f hg06_readshared$(EXEEXT) + $(LINK) $(hg06_readshared_OBJECTS) $(hg06_readshared_LDADD) $(LIBS) +tc01_simple_race$(EXEEXT): $(tc01_simple_race_OBJECTS) $(tc01_simple_race_DEPENDENCIES) + @rm -f tc01_simple_race$(EXEEXT) + $(LINK) $(tc01_simple_race_OBJECTS) $(tc01_simple_race_LDADD) $(LIBS) +tc02_simple_tls$(EXEEXT): $(tc02_simple_tls_OBJECTS) $(tc02_simple_tls_DEPENDENCIES) + @rm -f tc02_simple_tls$(EXEEXT) + $(LINK) $(tc02_simple_tls_OBJECTS) $(tc02_simple_tls_LDADD) $(LIBS) +tc03_re_excl$(EXEEXT): $(tc03_re_excl_OBJECTS) $(tc03_re_excl_DEPENDENCIES) + @rm -f tc03_re_excl$(EXEEXT) + $(LINK) $(tc03_re_excl_OBJECTS) $(tc03_re_excl_LDADD) $(LIBS) +tc04_free_lock$(EXEEXT): $(tc04_free_lock_OBJECTS) $(tc04_free_lock_DEPENDENCIES) + @rm -f tc04_free_lock$(EXEEXT) + $(LINK) $(tc04_free_lock_OBJECTS) $(tc04_free_lock_LDADD) $(LIBS) +tc05_simple_race$(EXEEXT): $(tc05_simple_race_OBJECTS) $(tc05_simple_race_DEPENDENCIES) + @rm -f tc05_simple_race$(EXEEXT) + $(LINK) $(tc05_simple_race_OBJECTS) $(tc05_simple_race_LDADD) $(LIBS) +tc06_two_races$(EXEEXT): $(tc06_two_races_OBJECTS) $(tc06_two_races_DEPENDENCIES) + @rm -f tc06_two_races$(EXEEXT) + $(LINK) $(tc06_two_races_OBJECTS) $(tc06_two_races_LDADD) $(LIBS) +tc07_hbl1$(EXEEXT): $(tc07_hbl1_OBJECTS) $(tc07_hbl1_DEPENDENCIES) + @rm -f tc07_hbl1$(EXEEXT) + $(LINK) $(tc07_hbl1_OBJECTS) $(tc07_hbl1_LDADD) $(LIBS) +tc08_hbl2$(EXEEXT): $(tc08_hbl2_OBJECTS) $(tc08_hbl2_DEPENDENCIES) + @rm -f tc08_hbl2$(EXEEXT) + $(LINK) $(tc08_hbl2_OBJECTS) $(tc08_hbl2_LDADD) $(LIBS) +tc09_bad_unlock$(EXEEXT): $(tc09_bad_unlock_OBJECTS) $(tc09_bad_unlock_DEPENDENCIES) + @rm -f tc09_bad_unlock$(EXEEXT) + $(LINK) $(tc09_bad_unlock_OBJECTS) $(tc09_bad_unlock_LDADD) $(LIBS) +tc10_rec_lock$(EXEEXT): $(tc10_rec_lock_OBJECTS) $(tc10_rec_lock_DEPENDENCIES) + @rm -f tc10_rec_lock$(EXEEXT) + $(LINK) $(tc10_rec_lock_OBJECTS) $(tc10_rec_lock_LDADD) $(LIBS) +tc11_XCHG$(EXEEXT): $(tc11_XCHG_OBJECTS) $(tc11_XCHG_DEPENDENCIES) + @rm -f tc11_XCHG$(EXEEXT) + $(LINK) $(tc11_XCHG_OBJECTS) $(tc11_XCHG_LDADD) $(LIBS) +tc12_rwl_trivial$(EXEEXT): $(tc12_rwl_trivial_OBJECTS) $(tc12_rwl_trivial_DEPENDENCIES) + @rm -f tc12_rwl_trivial$(EXEEXT) + $(LINK) $(tc12_rwl_trivial_OBJECTS) $(tc12_rwl_trivial_LDADD) $(LIBS) +tc13_laog1$(EXEEXT): $(tc13_laog1_OBJECTS) $(tc13_laog1_DEPENDENCIES) + @rm -f tc13_laog1$(EXEEXT) + $(LINK) $(tc13_laog1_OBJECTS) $(tc13_laog1_LDADD) $(LIBS) +tc14_laog_dinphils$(EXEEXT): $(tc14_laog_dinphils_OBJECTS) $(tc14_laog_dinphils_DEPENDENCIES) + @rm -f tc14_laog_dinphils$(EXEEXT) + $(LINK) $(tc14_laog_dinphils_OBJECTS) $(tc14_laog_dinphils_LDADD) $(LIBS) +tc15_laog_lockdel$(EXEEXT): $(tc15_laog_lockdel_OBJECTS) $(tc15_laog_lockdel_DEPENDENCIES) + @rm -f tc15_laog_lockdel$(EXEEXT) + $(LINK) $(tc15_laog_lockdel_OBJECTS) $(tc15_laog_lockdel_LDADD) $(LIBS) +tc16_byterace$(EXEEXT): $(tc16_byterace_OBJECTS) $(tc16_byterace_DEPENDENCIES) + @rm -f tc16_byterace$(EXEEXT) + $(LINK) $(tc16_byterace_OBJECTS) $(tc16_byterace_LDADD) $(LIBS) +tc17_sembar$(EXEEXT): $(tc17_sembar_OBJECTS) $(tc17_sembar_DEPENDENCIES) + @rm -f tc17_sembar$(EXEEXT) + $(LINK) $(tc17_sembar_OBJECTS) $(tc17_sembar_LDADD) $(LIBS) +tc18_semabuse$(EXEEXT): $(tc18_semabuse_OBJECTS) $(tc18_semabuse_DEPENDENCIES) + @rm -f tc18_semabuse$(EXEEXT) + $(LINK) $(tc18_semabuse_OBJECTS) $(tc18_semabuse_LDADD) $(LIBS) +tc19_shadowmem$(EXEEXT): $(tc19_shadowmem_OBJECTS) $(tc19_shadowmem_DEPENDENCIES) + @rm -f tc19_shadowmem$(EXEEXT) + $(LINK) $(tc19_shadowmem_OBJECTS) $(tc19_shadowmem_LDADD) $(LIBS) +tc20_verifywrap$(EXEEXT): $(tc20_verifywrap_OBJECTS) $(tc20_verifywrap_DEPENDENCIES) + @rm -f tc20_verifywrap$(EXEEXT) + $(LINK) $(tc20_verifywrap_OBJECTS) $(tc20_verifywrap_LDADD) $(LIBS) +tc21_pthonce$(EXEEXT): $(tc21_pthonce_OBJECTS) $(tc21_pthonce_DEPENDENCIES) + @rm -f tc21_pthonce$(EXEEXT) + $(LINK) $(tc21_pthonce_OBJECTS) $(tc21_pthonce_LDADD) $(LIBS) +tc22_exit_w_lock$(EXEEXT): $(tc22_exit_w_lock_OBJECTS) $(tc22_exit_w_lock_DEPENDENCIES) + @rm -f tc22_exit_w_lock$(EXEEXT) + $(LINK) $(tc22_exit_w_lock_OBJECTS) $(tc22_exit_w_lock_LDADD) $(LIBS) +tc23_bogus_condwait$(EXEEXT): $(tc23_bogus_condwait_OBJECTS) $(tc23_bogus_condwait_DEPENDENCIES) + @rm -f tc23_bogus_condwait$(EXEEXT) + $(LINK) $(tc23_bogus_condwait_OBJECTS) $(tc23_bogus_condwait_LDADD) $(LIBS) +tc24_nonzero_sem$(EXEEXT): $(tc24_nonzero_sem_OBJECTS) $(tc24_nonzero_sem_DEPENDENCIES) + @rm -f tc24_nonzero_sem$(EXEEXT) + $(LINK) $(tc24_nonzero_sem_OBJECTS) $(tc24_nonzero_sem_LDADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +include ./$(DEPDIR)/bar_bad.Po +include ./$(DEPDIR)/bar_trivial.Po +include ./$(DEPDIR)/hg01_all_ok.Po +include ./$(DEPDIR)/hg02_deadlock.Po +include ./$(DEPDIR)/hg03_inherit.Po +include ./$(DEPDIR)/hg04_race.Po +include ./$(DEPDIR)/hg05_race2.Po +include ./$(DEPDIR)/hg06_readshared.Po +include ./$(DEPDIR)/tc01_simple_race.Po +include ./$(DEPDIR)/tc02_simple_tls.Po +include ./$(DEPDIR)/tc03_re_excl.Po +include ./$(DEPDIR)/tc04_free_lock.Po +include ./$(DEPDIR)/tc05_simple_race.Po +include ./$(DEPDIR)/tc06_two_races.Po +include ./$(DEPDIR)/tc07_hbl1.Po +include ./$(DEPDIR)/tc08_hbl2.Po +include ./$(DEPDIR)/tc09_bad_unlock.Po +include ./$(DEPDIR)/tc10_rec_lock.Po +include ./$(DEPDIR)/tc11_XCHG.Po +include ./$(DEPDIR)/tc12_rwl_trivial.Po +include ./$(DEPDIR)/tc13_laog1.Po +include ./$(DEPDIR)/tc14_laog_dinphils.Po +include ./$(DEPDIR)/tc15_laog_lockdel.Po +include ./$(DEPDIR)/tc16_byterace.Po +include ./$(DEPDIR)/tc17_sembar.Po +include ./$(DEPDIR)/tc18_semabuse.Po +include ./$(DEPDIR)/tc19_shadowmem.Po +include ./$(DEPDIR)/tc20_verifywrap.Po +include ./$(DEPDIR)/tc21_pthonce.Po +include ./$(DEPDIR)/tc22_exit_w_lock.Po +include ./$(DEPDIR)/tc23_bogus_condwait.Po +include ./$(DEPDIR)/tc24_nonzero_sem.Po + +.c.o: + $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< + mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +# source='$<' object='$@' libtool=no \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(COMPILE) -c $< + +.c.obj: + $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` + mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +# source='$<' object='$@' libtool=no \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(COMPILE) -c `$(CYGPATH_W) '$<'` + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + mkid -fID $$unique +tags: TAGS + +TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ + fi +ctags: CTAGS +CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$tags $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done +check-am: all-am + $(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS) +check: check-am +all-am: Makefile $(SCRIPTS) +installdirs: +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-checkPROGRAMS clean-generic mostlyclean-am + +distclean: distclean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +info: info-am + +info-am: + +install-data-am: + +install-dvi: install-dvi-am + +install-exec-am: + +install-html: install-html-am + +install-info: install-info-am + +install-man: + +install-pdf: install-pdf-am + +install-ps: install-ps-am + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-compile mostlyclean-generic + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: + +.MAKE: install-am install-strip + +.PHONY: CTAGS GTAGS all all-am check check-am clean \ + clean-checkPROGRAMS clean-generic ctags distclean \ + distclean-compile distclean-generic distclean-tags distdir dvi \ + dvi-am html html-am info info-am install install-am \ + install-data install-data-am install-dvi install-dvi-am \ + install-exec install-exec-am install-html install-html-am \ + install-info install-info-am install-man install-pdf \ + install-pdf-am install-ps install-ps-am install-strip \ + installcheck installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-compile \ + mostlyclean-generic pdf pdf-am ps ps-am tags uninstall \ + uninstall-am + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/helgrind/tests/Makefile.am b/helgrind/tests/Makefile.am new file mode 100644 index 0000000..f52072f --- /dev/null +++ b/helgrind/tests/Makefile.am @@ -0,0 +1,108 @@ + +include $(top_srcdir)/Makefile.tool-tests.am + +noinst_SCRIPTS = filter_stderr + +EXTRA_DIST = $(noinst_SCRIPTS) \ + bar_bad.vgtest bar_bad.stdout.exp bar_bad.stderr.exp \ + bar_trivial.vgtest bar_trivial.stdout.exp bar_trivial.stderr.exp \ + hg01_all_ok.vgtest hg01_all_ok.stdout.exp hg01_all_ok.stderr.exp \ + hg02_deadlock.vgtest hg02_deadlock.stdout.exp hg02_deadlock.stderr.exp \ + hg03_inherit.vgtest hg03_inherit.stdout.exp hg03_inherit.stderr.exp \ + hg04_race.vgtest hg04_race.stdout.exp hg04_race.stderr.exp \ + hg05_race2.vgtest hg05_race2.stdout.exp hg05_race2.stderr.exp \ + hg06_readshared.vgtest hg06_readshared.stdout.exp \ + hg06_readshared.stderr.exp \ + pth_barrier1.vgtest pth_barrier1.stdout.exp pth_barrier1.stderr.exp \ + pth_barrier2.vgtest pth_barrier2.stdout.exp pth_barrier2.stderr.exp \ + pth_barrier3.vgtest pth_barrier3.stdout.exp pth_barrier3.stderr.exp \ + rwlock_race.vgtest rwlock_race.stdout.exp rwlock_race.stderr.exp \ + rwlock_test.vgtest rwlock_test.stdout.exp rwlock_test.stderr.exp \ + tc01_simple_race.vgtest tc01_simple_race.stdout.exp \ + tc01_simple_race.stderr.exp \ + tc02_simple_tls.vgtest tc02_simple_tls.stdout.exp \ + tc02_simple_tls.stderr.exp \ + tc03_re_excl.vgtest tc03_re_excl.stdout.exp \ + tc03_re_excl.stderr.exp \ + tc04_free_lock.vgtest tc04_free_lock.stdout.exp \ + tc04_free_lock.stderr.exp \ + tc05_simple_race.vgtest tc05_simple_race.stdout.exp \ + tc05_simple_race.stderr.exp \ + tc06_two_races.vgtest tc06_two_races.stdout.exp \ + tc06_two_races.stderr.exp \ + tc07_hbl1.vgtest tc07_hbl1.stdout.exp tc07_hbl1.stderr.exp \ + tc08_hbl2.vgtest tc08_hbl2.stdout.exp tc08_hbl2.stderr.exp \ + tc09_bad_unlock.vgtest tc09_bad_unlock.stdout.exp \ + tc09_bad_unlock.stderr.exp-glibc23-amd64 \ + tc09_bad_unlock.stderr.exp-glibc25-amd64 \ + tc09_bad_unlock.stderr.exp-glibc25-x86 \ + tc10_rec_lock.vgtest tc10_rec_lock.stdout.exp tc10_rec_lock.stderr.exp \ + tc11_XCHG.vgtest tc11_XCHG.stdout.exp tc11_XCHG.stderr.exp \ + tc12_rwl_trivial.vgtest tc12_rwl_trivial.stdout.exp \ + tc12_rwl_trivial.stderr.exp \ + tc13_laog1.vgtest tc13_laog1.stdout.exp tc13_laog1.stderr.exp \ + tc14_laog_dinphils.vgtest tc14_laog_dinphils.stdout.exp \ + tc14_laog_dinphils.stderr.exp \ + tc15_laog_lockdel.vgtest tc15_laog_lockdel.stdout.exp \ + tc15_laog_lockdel.stderr.exp \ + tc16_byterace.vgtest tc16_byterace.stdout.exp \ + tc16_byterace.stderr.exp \ + tc17_sembar.vgtest tc17_sembar.stdout.exp \ + tc17_sembar.stderr.exp \ + tc18_semabuse.vgtest tc18_semabuse.stdout.exp \ + tc18_semabuse.stderr.exp-glibc25-amd64 \ + tc18_semabuse.stderr.exp-glibc28-amd64 \ + tc19_shadowmem.vgtest tc19_shadowmem.stdout.exp \ + tc19_shadowmem.stderr.exp \ + tc20_verifywrap.vgtest tc20_verifywrap.stdout.exp \ + tc20_verifywrap.stderr.exp-glibc25-amd64 \ + tc20_verifywrap.stderr.exp-glibc27-amd64 \ + tc21_pthonce.vgtest tc21_pthonce.stdout.exp tc21_pthonce.stderr.exp \ + tc22_exit_w_lock.vgtest tc22_exit_w_lock.stdout.exp \ + tc22_exit_w_lock.stderr.exp \ + tc23_bogus_condwait.vgtest tc23_bogus_condwait.stdout.exp \ + tc23_bogus_condwait.stderr.exp \ + tc24_nonzero_sem.vgtest tc24_nonzero_sem.stdout.exp \ + tc24_nonzero_sem.stderr.exp + +check_PROGRAMS = \ + hg01_all_ok \ + hg02_deadlock \ + hg03_inherit \ + hg04_race \ + hg05_race2 \ + hg06_readshared \ + tc01_simple_race \ + tc02_simple_tls \ + tc03_re_excl \ + tc04_free_lock \ + tc05_simple_race \ + tc06_two_races \ + tc07_hbl1 \ + tc08_hbl2 \ + tc09_bad_unlock \ + tc10_rec_lock \ + tc11_XCHG \ + tc12_rwl_trivial \ + tc13_laog1 \ + tc14_laog_dinphils \ + tc15_laog_lockdel \ + tc16_byterace \ + tc17_sembar \ + tc18_semabuse \ + tc19_shadowmem \ + tc20_verifywrap \ + tc21_pthonce \ + tc22_exit_w_lock \ + tc23_bogus_condwait \ + tc24_nonzero_sem + +if HAVE_PTHREAD_BARRIER +check_PROGRAMS += bar_bad bar_trivial +endif + +AM_CFLAGS += $(AM_FLAG_M3264_PRI) +AM_CXXFLAGS += $(AM_FLAG_M3264_PRI) + +LDADD = -lpthread + diff --git a/helgrind/tests/Makefile.in b/helgrind/tests/Makefile.in new file mode 100644 index 0000000..5f90dfa --- /dev/null +++ b/helgrind/tests/Makefile.in @@ -0,0 +1,908 @@ +# Makefile.in generated by automake 1.10.1 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + +# This file is used for tool tests, and also in perf/Makefile.am. + +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ + $(top_srcdir)/Makefile.flags.am \ + $(top_srcdir)/Makefile.tool-tests.am +check_PROGRAMS = hg01_all_ok$(EXEEXT) hg02_deadlock$(EXEEXT) \ + hg03_inherit$(EXEEXT) hg04_race$(EXEEXT) hg05_race2$(EXEEXT) \ + hg06_readshared$(EXEEXT) tc01_simple_race$(EXEEXT) \ + tc02_simple_tls$(EXEEXT) tc03_re_excl$(EXEEXT) \ + tc04_free_lock$(EXEEXT) tc05_simple_race$(EXEEXT) \ + tc06_two_races$(EXEEXT) tc07_hbl1$(EXEEXT) tc08_hbl2$(EXEEXT) \ + tc09_bad_unlock$(EXEEXT) tc10_rec_lock$(EXEEXT) \ + tc11_XCHG$(EXEEXT) tc12_rwl_trivial$(EXEEXT) \ + tc13_laog1$(EXEEXT) tc14_laog_dinphils$(EXEEXT) \ + tc15_laog_lockdel$(EXEEXT) tc16_byterace$(EXEEXT) \ + tc17_sembar$(EXEEXT) tc18_semabuse$(EXEEXT) \ + tc19_shadowmem$(EXEEXT) tc20_verifywrap$(EXEEXT) \ + tc21_pthonce$(EXEEXT) tc22_exit_w_lock$(EXEEXT) \ + tc23_bogus_condwait$(EXEEXT) tc24_nonzero_sem$(EXEEXT) \ + $(am__EXEEXT_1) +@HAVE_PTHREAD_BARRIER_TRUE@am__append_1 = bar_bad bar_trivial +subdir = helgrind/tests +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/configure.in +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(install_sh) -d +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +@HAVE_PTHREAD_BARRIER_TRUE@am__EXEEXT_1 = bar_bad$(EXEEXT) \ +@HAVE_PTHREAD_BARRIER_TRUE@ bar_trivial$(EXEEXT) +bar_bad_SOURCES = bar_bad.c +bar_bad_OBJECTS = bar_bad.$(OBJEXT) +bar_bad_LDADD = $(LDADD) +bar_bad_DEPENDENCIES = +bar_trivial_SOURCES = bar_trivial.c +bar_trivial_OBJECTS = bar_trivial.$(OBJEXT) +bar_trivial_LDADD = $(LDADD) +bar_trivial_DEPENDENCIES = +hg01_all_ok_SOURCES = hg01_all_ok.c +hg01_all_ok_OBJECTS = hg01_all_ok.$(OBJEXT) +hg01_all_ok_LDADD = $(LDADD) +hg01_all_ok_DEPENDENCIES = +hg02_deadlock_SOURCES = hg02_deadlock.c +hg02_deadlock_OBJECTS = hg02_deadlock.$(OBJEXT) +hg02_deadlock_LDADD = $(LDADD) +hg02_deadlock_DEPENDENCIES = +hg03_inherit_SOURCES = hg03_inherit.c +hg03_inherit_OBJECTS = hg03_inherit.$(OBJEXT) +hg03_inherit_LDADD = $(LDADD) +hg03_inherit_DEPENDENCIES = +hg04_race_SOURCES = hg04_race.c +hg04_race_OBJECTS = hg04_race.$(OBJEXT) +hg04_race_LDADD = $(LDADD) +hg04_race_DEPENDENCIES = +hg05_race2_SOURCES = hg05_race2.c +hg05_race2_OBJECTS = hg05_race2.$(OBJEXT) +hg05_race2_LDADD = $(LDADD) +hg05_race2_DEPENDENCIES = +hg06_readshared_SOURCES = hg06_readshared.c +hg06_readshared_OBJECTS = hg06_readshared.$(OBJEXT) +hg06_readshared_LDADD = $(LDADD) +hg06_readshared_DEPENDENCIES = +tc01_simple_race_SOURCES = tc01_simple_race.c +tc01_simple_race_OBJECTS = tc01_simple_race.$(OBJEXT) +tc01_simple_race_LDADD = $(LDADD) +tc01_simple_race_DEPENDENCIES = +tc02_simple_tls_SOURCES = tc02_simple_tls.c +tc02_simple_tls_OBJECTS = tc02_simple_tls.$(OBJEXT) +tc02_simple_tls_LDADD = $(LDADD) +tc02_simple_tls_DEPENDENCIES = +tc03_re_excl_SOURCES = tc03_re_excl.c +tc03_re_excl_OBJECTS = tc03_re_excl.$(OBJEXT) +tc03_re_excl_LDADD = $(LDADD) +tc03_re_excl_DEPENDENCIES = +tc04_free_lock_SOURCES = tc04_free_lock.c +tc04_free_lock_OBJECTS = tc04_free_lock.$(OBJEXT) +tc04_free_lock_LDADD = $(LDADD) +tc04_free_lock_DEPENDENCIES = +tc05_simple_race_SOURCES = tc05_simple_race.c +tc05_simple_race_OBJECTS = tc05_simple_race.$(OBJEXT) +tc05_simple_race_LDADD = $(LDADD) +tc05_simple_race_DEPENDENCIES = +tc06_two_races_SOURCES = tc06_two_races.c +tc06_two_races_OBJECTS = tc06_two_races.$(OBJEXT) +tc06_two_races_LDADD = $(LDADD) +tc06_two_races_DEPENDENCIES = +tc07_hbl1_SOURCES = tc07_hbl1.c +tc07_hbl1_OBJECTS = tc07_hbl1.$(OBJEXT) +tc07_hbl1_LDADD = $(LDADD) +tc07_hbl1_DEPENDENCIES = +tc08_hbl2_SOURCES = tc08_hbl2.c +tc08_hbl2_OBJECTS = tc08_hbl2.$(OBJEXT) +tc08_hbl2_LDADD = $(LDADD) +tc08_hbl2_DEPENDENCIES = +tc09_bad_unlock_SOURCES = tc09_bad_unlock.c +tc09_bad_unlock_OBJECTS = tc09_bad_unlock.$(OBJEXT) +tc09_bad_unlock_LDADD = $(LDADD) +tc09_bad_unlock_DEPENDENCIES = +tc10_rec_lock_SOURCES = tc10_rec_lock.c +tc10_rec_lock_OBJECTS = tc10_rec_lock.$(OBJEXT) +tc10_rec_lock_LDADD = $(LDADD) +tc10_rec_lock_DEPENDENCIES = +tc11_XCHG_SOURCES = tc11_XCHG.c +tc11_XCHG_OBJECTS = tc11_XCHG.$(OBJEXT) +tc11_XCHG_LDADD = $(LDADD) +tc11_XCHG_DEPENDENCIES = +tc12_rwl_trivial_SOURCES = tc12_rwl_trivial.c +tc12_rwl_trivial_OBJECTS = tc12_rwl_trivial.$(OBJEXT) +tc12_rwl_trivial_LDADD = $(LDADD) +tc12_rwl_trivial_DEPENDENCIES = +tc13_laog1_SOURCES = tc13_laog1.c +tc13_laog1_OBJECTS = tc13_laog1.$(OBJEXT) +tc13_laog1_LDADD = $(LDADD) +tc13_laog1_DEPENDENCIES = +tc14_laog_dinphils_SOURCES = tc14_laog_dinphils.c +tc14_laog_dinphils_OBJECTS = tc14_laog_dinphils.$(OBJEXT) +tc14_laog_dinphils_LDADD = $(LDADD) +tc14_laog_dinphils_DEPENDENCIES = +tc15_laog_lockdel_SOURCES = tc15_laog_lockdel.c +tc15_laog_lockdel_OBJECTS = tc15_laog_lockdel.$(OBJEXT) +tc15_laog_lockdel_LDADD = $(LDADD) +tc15_laog_lockdel_DEPENDENCIES = +tc16_byterace_SOURCES = tc16_byterace.c +tc16_byterace_OBJECTS = tc16_byterace.$(OBJEXT) +tc16_byterace_LDADD = $(LDADD) +tc16_byterace_DEPENDENCIES = +tc17_sembar_SOURCES = tc17_sembar.c +tc17_sembar_OBJECTS = tc17_sembar.$(OBJEXT) +tc17_sembar_LDADD = $(LDADD) +tc17_sembar_DEPENDENCIES = +tc18_semabuse_SOURCES = tc18_semabuse.c +tc18_semabuse_OBJECTS = tc18_semabuse.$(OBJEXT) +tc18_semabuse_LDADD = $(LDADD) +tc18_semabuse_DEPENDENCIES = +tc19_shadowmem_SOURCES = tc19_shadowmem.c +tc19_shadowmem_OBJECTS = tc19_shadowmem.$(OBJEXT) +tc19_shadowmem_LDADD = $(LDADD) +tc19_shadowmem_DEPENDENCIES = +tc20_verifywrap_SOURCES = tc20_verifywrap.c +tc20_verifywrap_OBJECTS = tc20_verifywrap.$(OBJEXT) +tc20_verifywrap_LDADD = $(LDADD) +tc20_verifywrap_DEPENDENCIES = +tc21_pthonce_SOURCES = tc21_pthonce.c +tc21_pthonce_OBJECTS = tc21_pthonce.$(OBJEXT) +tc21_pthonce_LDADD = $(LDADD) +tc21_pthonce_DEPENDENCIES = +tc22_exit_w_lock_SOURCES = tc22_exit_w_lock.c +tc22_exit_w_lock_OBJECTS = tc22_exit_w_lock.$(OBJEXT) +tc22_exit_w_lock_LDADD = $(LDADD) +tc22_exit_w_lock_DEPENDENCIES = +tc23_bogus_condwait_SOURCES = tc23_bogus_condwait.c +tc23_bogus_condwait_OBJECTS = tc23_bogus_condwait.$(OBJEXT) +tc23_bogus_condwait_LDADD = $(LDADD) +tc23_bogus_condwait_DEPENDENCIES = +tc24_nonzero_sem_SOURCES = tc24_nonzero_sem.c +tc24_nonzero_sem_OBJECTS = tc24_nonzero_sem.$(OBJEXT) +tc24_nonzero_sem_LDADD = $(LDADD) +tc24_nonzero_sem_DEPENDENCIES = +SCRIPTS = $(noinst_SCRIPTS) +DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) +depcomp = $(SHELL) $(top_srcdir)/depcomp +am__depfiles_maybe = depfiles +COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +CCLD = $(CC) +LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ +SOURCES = bar_bad.c bar_trivial.c hg01_all_ok.c hg02_deadlock.c \ + hg03_inherit.c hg04_race.c hg05_race2.c hg06_readshared.c \ + tc01_simple_race.c tc02_simple_tls.c tc03_re_excl.c \ + tc04_free_lock.c tc05_simple_race.c tc06_two_races.c \ + tc07_hbl1.c tc08_hbl2.c tc09_bad_unlock.c tc10_rec_lock.c \ + tc11_XCHG.c tc12_rwl_trivial.c tc13_laog1.c \ + tc14_laog_dinphils.c tc15_laog_lockdel.c tc16_byterace.c \ + tc17_sembar.c tc18_semabuse.c tc19_shadowmem.c \ + tc20_verifywrap.c tc21_pthonce.c tc22_exit_w_lock.c \ + tc23_bogus_condwait.c tc24_nonzero_sem.c +DIST_SOURCES = bar_bad.c bar_trivial.c hg01_all_ok.c hg02_deadlock.c \ + hg03_inherit.c hg04_race.c hg05_race2.c hg06_readshared.c \ + tc01_simple_race.c tc02_simple_tls.c tc03_re_excl.c \ + tc04_free_lock.c tc05_simple_race.c tc06_two_races.c \ + tc07_hbl1.c tc08_hbl2.c tc09_bad_unlock.c tc10_rec_lock.c \ + tc11_XCHG.c tc12_rwl_trivial.c tc13_laog1.c \ + tc14_laog_dinphils.c tc15_laog_lockdel.c tc16_byterace.c \ + tc17_sembar.c tc18_semabuse.c tc19_shadowmem.c \ + tc20_verifywrap.c tc21_pthonce.c tc22_exit_w_lock.c \ + tc23_bogus_condwait.c tc24_nonzero_sem.c +ETAGS = etags +CTAGS = ctags +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +AMTAR = @AMTAR@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +BOOST_CFLAGS = @BOOST_CFLAGS@ +BOOST_LIBS = @BOOST_LIBS@ +CC = @CC@ +CCAS = @CCAS@ +CCASDEPMODE = @CCASDEPMODE@ +CCASFLAGS = @CCASFLAGS@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CXX = @CXX@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFAULT_SUPP = @DEFAULT_SUPP@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DIFF = @DIFF@ +DISTCHECK_CONFIGURE_FLAGS = @DISTCHECK_CONFIGURE_FLAGS@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +FLAG_FNO_STACK_PROTECTOR = @FLAG_FNO_STACK_PROTECTOR@ +FLAG_M32 = @FLAG_M32@ +FLAG_M64 = @FLAG_M64@ +FLAG_MAIX32 = @FLAG_MAIX32@ +FLAG_MAIX64 = @FLAG_MAIX64@ +FLAG_MMMX = @FLAG_MMMX@ +FLAG_MSSE = @FLAG_MSSE@ +FLAG_UNLIMITED_INLINE_UNIT_GROWTH = @FLAG_UNLIMITED_INLINE_UNIT_GROWTH@ +FLAG_WDECL_AFTER_STMT = @FLAG_WDECL_AFTER_STMT@ +FLAG_W_EXTRA = @FLAG_W_EXTRA@ +FLAG_W_NO_FORMAT_ZERO_LENGTH = @FLAG_W_NO_FORMAT_ZERO_LENGTH@ +GDB = @GDB@ +GLIBC_VERSION = @GLIBC_VERSION@ +GREP = @GREP@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +MAINT = @MAINT@ +MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ +MPI_CC = @MPI_CC@ +OBJEXT = @OBJEXT@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PERL = @PERL@ +PKG_CONFIG = @PKG_CONFIG@ +PREFERRED_STACK_BOUNDARY = @PREFERRED_STACK_BOUNDARY@ +QTCORE_CFLAGS = @QTCORE_CFLAGS@ +QTCORE_LIBS = @QTCORE_LIBS@ +RANLIB = @RANLIB@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +VALT_LOAD_ADDRESS = @VALT_LOAD_ADDRESS@ +VERSION = @VERSION@ +VEX_DIR = @VEX_DIR@ +VGCONF_ARCH_PRI = @VGCONF_ARCH_PRI@ +VGCONF_OS = @VGCONF_OS@ +VGCONF_PLATFORM_PRI_CAPS = @VGCONF_PLATFORM_PRI_CAPS@ +VGCONF_PLATFORM_SEC_CAPS = @VGCONF_PLATFORM_SEC_CAPS@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +builddir = @builddir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ + +# Baseline flags for all compilations. Aim here is to maximise +# performance and get whatever useful warnings we can out of gcc. +AM_CFLAGS_BASE = -O2 -g -Wmissing-prototypes -Wall -Wshadow \ + -Wpointer-arith -Wstrict-prototypes -Wmissing-declarations \ + @FLAG_W_NO_FORMAT_ZERO_LENGTH@ \ + -fno-strict-aliasing + + +# These flags are used for building the preload shared objects. +# The aim is to give reasonable performance but also to have good +# stack traces, since users often see stack traces extending +# into (and through) the preloads. +AM_CFLAGS_PIC = -O -g -fpic -fno-omit-frame-pointer -fno-strict-aliasing + +# Flags for specific targets. +# +# Nb: the AM_CPPFLAGS_* values are suitable for building tools and auxprogs. +# For building the core, coregrind/Makefile.am files add some extra things. +# +# Also: in newer versions of automake (1.10 onwards?) asm files ending with +# '.S' are considered "pre-processed" (as opposed to those ending in '.s') +# and so the CPPFLAGS are passed to the assembler. But this is not true for +# older automakes (e.g. 1.8.5, 1.9.6), sigh. So we include +# AM_CPPFLAGS_<PLATFORM> in each AM_CCASFLAGS_<PLATFORM> variable. This +# means some of the flags are duplicated on systems with newer versions of +# automake, but this does not really matter and seems hard to avoid. +AM_CPPFLAGS_COMMON = \ + -I$(top_srcdir) \ + -I$(top_srcdir)/include \ + -I@VEX_DIR@/pub + +AM_FLAG_M3264_X86_LINUX = @FLAG_M32@ +AM_CPPFLAGS_X86_LINUX = $(AM_CPPFLAGS_COMMON) \ + -DVGA_x86=1 \ + -DVGO_linux=1 \ + -DVGP_x86_linux=1 + +AM_CFLAGS_X86_LINUX = @FLAG_M32@ @PREFERRED_STACK_BOUNDARY@ \ + $(AM_CFLAGS_BASE) + +AM_CCASFLAGS_X86_LINUX = $(AM_CPPFLAGS_X86_LINUX) @FLAG_M32@ -g +AM_FLAG_M3264_AMD64_LINUX = @FLAG_M64@ +AM_CPPFLAGS_AMD64_LINUX = $(AM_CPPFLAGS_COMMON) \ + -DVGA_amd64=1 \ + -DVGO_linux=1 \ + -DVGP_amd64_linux=1 + +AM_CFLAGS_AMD64_LINUX = @FLAG_M64@ -fomit-frame-pointer \ + @PREFERRED_STACK_BOUNDARY@ $(AM_CFLAGS_BASE) + +AM_CCASFLAGS_AMD64_LINUX = $(AM_CPPFLAGS_AMD64_LINUX) @FLAG_M64@ -g +AM_FLAG_M3264_PPC32_LINUX = @FLAG_M32@ +AM_CPPFLAGS_PPC32_LINUX = $(AM_CPPFLAGS_COMMON) \ + -DVGA_ppc32=1 \ + -DVGO_linux=1 \ + -DVGP_ppc32_linux=1 + +AM_CFLAGS_PPC32_LINUX = @FLAG_M32@ $(AM_CFLAGS_BASE) +AM_CCASFLAGS_PPC32_LINUX = $(AM_CPPFLAGS_PPC32_LINUX) @FLAG_M32@ -g +AM_FLAG_M3264_PPC64_LINUX = @FLAG_M64@ +AM_CPPFLAGS_PPC64_LINUX = $(AM_CPPFLAGS_COMMON) \ + -DVGA_ppc64=1 \ + -DVGO_linux=1 \ + -DVGP_ppc64_linux=1 + +AM_CFLAGS_PPC64_LINUX = @FLAG_M64@ $(AM_CFLAGS_BASE) +AM_CCASFLAGS_PPC64_LINUX = $(AM_CPPFLAGS_PPC64_LINUX) @FLAG_M64@ -g +AM_FLAG_M3264_PPC32_AIX5 = @FLAG_MAIX32@ +AM_CPPFLAGS_PPC32_AIX5 = $(AM_CPPFLAGS_COMMON) \ + -DVGA_ppc32=1 \ + -DVGO_aix5=1 \ + -DVGP_ppc32_aix5=1 + +AM_CFLAGS_PPC32_AIX5 = @FLAG_MAIX32@ -mcpu=powerpc $(AM_CFLAGS_BASE) +AM_CCASFLAGS_PPC32_AIX5 = $(AM_CPPFLAGS_PPC32_AIX5) \ + @FLAG_MAIX32@ -mcpu=powerpc -g + +AM_FLAG_M3264_PPC64_AIX5 = @FLAG_MAIX64@ +AM_CPPFLAGS_PPC64_AIX5 = $(AM_CPPFLAGS_COMMON) \ + -DVGA_ppc64=1 \ + -DVGO_aix5=1 \ + -DVGP_ppc64_aix5=1 + +AM_CFLAGS_PPC64_AIX5 = @FLAG_MAIX64@ -mcpu=powerpc64 $(AM_CFLAGS_BASE) +AM_CCASFLAGS_PPC64_AIX5 = $(AM_CPPFLAGS_PPC64_AIX5) \ + @FLAG_MAIX64@ -mcpu=powerpc64 -g + + +# Flags for the primary target. These must be used to build the +# regtests and performance tests. In fact, these must be used to +# build anything which is built only once on a dual-arch build. +# +AM_FLAG_M3264_PRI = $(AM_FLAG_M3264_@VGCONF_PLATFORM_PRI_CAPS@) +AM_CPPFLAGS_PRI = $(AM_CPPFLAGS_@VGCONF_PLATFORM_PRI_CAPS@) +AM_CFLAGS_PRI = $(AM_CFLAGS_@VGCONF_PLATFORM_PRI_CAPS@) +AM_CCASFLAGS_PRI = $(AM_CCASFLAGS_@VGCONF_PLATFORM_PRI_CAPS@) +@VGCONF_HAVE_PLATFORM_SEC_CAPS_FALSE@AM_FLAG_M3264_SEC = +@VGCONF_HAVE_PLATFORM_SEC_CAPS_TRUE@AM_FLAG_M3264_SEC = $(AM_FLAG_M3264_@VGCONF_PLATFORM_SEC_CAPS@) + +# Baseline link flags for making dynamic shared objects. +# +PRELOAD_LDFLAGS_COMMON_LINUX = -nodefaultlibs -shared -Wl,-z,interpose,-z,initfirst +PRELOAD_LDFLAGS_COMMON_AIX5 = -nodefaultlibs -shared -Wl,-G -Wl,-bnogc +PRELOAD_LDFLAGS_X86_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) @FLAG_M32@ +PRELOAD_LDFLAGS_AMD64_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) @FLAG_M64@ +PRELOAD_LDFLAGS_PPC32_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) @FLAG_M32@ +PRELOAD_LDFLAGS_PPC64_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) @FLAG_M64@ +PRELOAD_LDFLAGS_PPC32_AIX5 = $(PRELOAD_LDFLAGS_COMMON_AIX5) @FLAG_MAIX32@ +PRELOAD_LDFLAGS_PPC64_AIX5 = $(PRELOAD_LDFLAGS_COMMON_AIX5) @FLAG_MAIX64@ +AM_CPPFLAGS = -I$(top_srcdir) -I$(top_srcdir)/include \ + -I$(top_srcdir)/coregrind -I$(top_builddir)/include \ + -I@VEX_DIR@/pub \ + -DVGA_$(VGCONF_ARCH_PRI)=1 \ + -DVGO_$(VGCONF_OS)=1 \ + -DVGP_$(VGCONF_ARCH_PRI)_$(VGCONF_OS)=1 + +# Nb: Tools need to augment these flags with an arch-selection option, such +# as $(AM_FLAG_M3264_PRI). +AM_CFLAGS = -Winline -Wall -Wshadow -g $(AM_FLAG_M3264_PRI) +AM_CXXFLAGS = -Winline -Wall -Wshadow -g $(AM_FLAG_M3264_PRI) +# Include AM_CPPFLAGS in AM_CCASFLAGS to allow for older versions of +# automake; see comments in Makefile.flags.am for more detail. +AM_CCASFLAGS = $(AM_CPPFLAGS) +noinst_SCRIPTS = filter_stderr +EXTRA_DIST = $(noinst_SCRIPTS) \ + bar_bad.vgtest bar_bad.stdout.exp bar_bad.stderr.exp \ + bar_trivial.vgtest bar_trivial.stdout.exp bar_trivial.stderr.exp \ + hg01_all_ok.vgtest hg01_all_ok.stdout.exp hg01_all_ok.stderr.exp \ + hg02_deadlock.vgtest hg02_deadlock.stdout.exp hg02_deadlock.stderr.exp \ + hg03_inherit.vgtest hg03_inherit.stdout.exp hg03_inherit.stderr.exp \ + hg04_race.vgtest hg04_race.stdout.exp hg04_race.stderr.exp \ + hg05_race2.vgtest hg05_race2.stdout.exp hg05_race2.stderr.exp \ + hg06_readshared.vgtest hg06_readshared.stdout.exp \ + hg06_readshared.stderr.exp \ + pth_barrier1.vgtest pth_barrier1.stdout.exp pth_barrier1.stderr.exp \ + pth_barrier2.vgtest pth_barrier2.stdout.exp pth_barrier2.stderr.exp \ + pth_barrier3.vgtest pth_barrier3.stdout.exp pth_barrier3.stderr.exp \ + rwlock_race.vgtest rwlock_race.stdout.exp rwlock_race.stderr.exp \ + rwlock_test.vgtest rwlock_test.stdout.exp rwlock_test.stderr.exp \ + tc01_simple_race.vgtest tc01_simple_race.stdout.exp \ + tc01_simple_race.stderr.exp \ + tc02_simple_tls.vgtest tc02_simple_tls.stdout.exp \ + tc02_simple_tls.stderr.exp \ + tc03_re_excl.vgtest tc03_re_excl.stdout.exp \ + tc03_re_excl.stderr.exp \ + tc04_free_lock.vgtest tc04_free_lock.stdout.exp \ + tc04_free_lock.stderr.exp \ + tc05_simple_race.vgtest tc05_simple_race.stdout.exp \ + tc05_simple_race.stderr.exp \ + tc06_two_races.vgtest tc06_two_races.stdout.exp \ + tc06_two_races.stderr.exp \ + tc07_hbl1.vgtest tc07_hbl1.stdout.exp tc07_hbl1.stderr.exp \ + tc08_hbl2.vgtest tc08_hbl2.stdout.exp tc08_hbl2.stderr.exp \ + tc09_bad_unlock.vgtest tc09_bad_unlock.stdout.exp \ + tc09_bad_unlock.stderr.exp-glibc23-amd64 \ + tc09_bad_unlock.stderr.exp-glibc25-amd64 \ + tc09_bad_unlock.stderr.exp-glibc25-x86 \ + tc10_rec_lock.vgtest tc10_rec_lock.stdout.exp tc10_rec_lock.stderr.exp \ + tc11_XCHG.vgtest tc11_XCHG.stdout.exp tc11_XCHG.stderr.exp \ + tc12_rwl_trivial.vgtest tc12_rwl_trivial.stdout.exp \ + tc12_rwl_trivial.stderr.exp \ + tc13_laog1.vgtest tc13_laog1.stdout.exp tc13_laog1.stderr.exp \ + tc14_laog_dinphils.vgtest tc14_laog_dinphils.stdout.exp \ + tc14_laog_dinphils.stderr.exp \ + tc15_laog_lockdel.vgtest tc15_laog_lockdel.stdout.exp \ + tc15_laog_lockdel.stderr.exp \ + tc16_byterace.vgtest tc16_byterace.stdout.exp \ + tc16_byterace.stderr.exp \ + tc17_sembar.vgtest tc17_sembar.stdout.exp \ + tc17_sembar.stderr.exp \ + tc18_semabuse.vgtest tc18_semabuse.stdout.exp \ + tc18_semabuse.stderr.exp-glibc25-amd64 \ + tc18_semabuse.stderr.exp-glibc28-amd64 \ + tc19_shadowmem.vgtest tc19_shadowmem.stdout.exp \ + tc19_shadowmem.stderr.exp \ + tc20_verifywrap.vgtest tc20_verifywrap.stdout.exp \ + tc20_verifywrap.stderr.exp-glibc25-amd64 \ + tc20_verifywrap.stderr.exp-glibc27-amd64 \ + tc21_pthonce.vgtest tc21_pthonce.stdout.exp tc21_pthonce.stderr.exp \ + tc22_exit_w_lock.vgtest tc22_exit_w_lock.stdout.exp \ + tc22_exit_w_lock.stderr.exp \ + tc23_bogus_condwait.vgtest tc23_bogus_condwait.stdout.exp \ + tc23_bogus_condwait.stderr.exp \ + tc24_nonzero_sem.vgtest tc24_nonzero_sem.stdout.exp \ + tc24_nonzero_sem.stderr.exp + +LDADD = -lpthread +all: all-am + +.SUFFIXES: +.SUFFIXES: .c .o .obj +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/Makefile.tool-tests.am $(top_srcdir)/Makefile.flags.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign helgrind/tests/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --foreign helgrind/tests/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +clean-checkPROGRAMS: + -test -z "$(check_PROGRAMS)" || rm -f $(check_PROGRAMS) +bar_bad$(EXEEXT): $(bar_bad_OBJECTS) $(bar_bad_DEPENDENCIES) + @rm -f bar_bad$(EXEEXT) + $(LINK) $(bar_bad_OBJECTS) $(bar_bad_LDADD) $(LIBS) +bar_trivial$(EXEEXT): $(bar_trivial_OBJECTS) $(bar_trivial_DEPENDENCIES) + @rm -f bar_trivial$(EXEEXT) + $(LINK) $(bar_trivial_OBJECTS) $(bar_trivial_LDADD) $(LIBS) +hg01_all_ok$(EXEEXT): $(hg01_all_ok_OBJECTS) $(hg01_all_ok_DEPENDENCIES) + @rm -f hg01_all_ok$(EXEEXT) + $(LINK) $(hg01_all_ok_OBJECTS) $(hg01_all_ok_LDADD) $(LIBS) +hg02_deadlock$(EXEEXT): $(hg02_deadlock_OBJECTS) $(hg02_deadlock_DEPENDENCIES) + @rm -f hg02_deadlock$(EXEEXT) + $(LINK) $(hg02_deadlock_OBJECTS) $(hg02_deadlock_LDADD) $(LIBS) +hg03_inherit$(EXEEXT): $(hg03_inherit_OBJECTS) $(hg03_inherit_DEPENDENCIES) + @rm -f hg03_inherit$(EXEEXT) + $(LINK) $(hg03_inherit_OBJECTS) $(hg03_inherit_LDADD) $(LIBS) +hg04_race$(EXEEXT): $(hg04_race_OBJECTS) $(hg04_race_DEPENDENCIES) + @rm -f hg04_race$(EXEEXT) + $(LINK) $(hg04_race_OBJECTS) $(hg04_race_LDADD) $(LIBS) +hg05_race2$(EXEEXT): $(hg05_race2_OBJECTS) $(hg05_race2_DEPENDENCIES) + @rm -f hg05_race2$(EXEEXT) + $(LINK) $(hg05_race2_OBJECTS) $(hg05_race2_LDADD) $(LIBS) +hg06_readshared$(EXEEXT): $(hg06_readshared_OBJECTS) $(hg06_readshared_DEPENDENCIES) + @rm -f hg06_readshared$(EXEEXT) + $(LINK) $(hg06_readshared_OBJECTS) $(hg06_readshared_LDADD) $(LIBS) +tc01_simple_race$(EXEEXT): $(tc01_simple_race_OBJECTS) $(tc01_simple_race_DEPENDENCIES) + @rm -f tc01_simple_race$(EXEEXT) + $(LINK) $(tc01_simple_race_OBJECTS) $(tc01_simple_race_LDADD) $(LIBS) +tc02_simple_tls$(EXEEXT): $(tc02_simple_tls_OBJECTS) $(tc02_simple_tls_DEPENDENCIES) + @rm -f tc02_simple_tls$(EXEEXT) + $(LINK) $(tc02_simple_tls_OBJECTS) $(tc02_simple_tls_LDADD) $(LIBS) +tc03_re_excl$(EXEEXT): $(tc03_re_excl_OBJECTS) $(tc03_re_excl_DEPENDENCIES) + @rm -f tc03_re_excl$(EXEEXT) + $(LINK) $(tc03_re_excl_OBJECTS) $(tc03_re_excl_LDADD) $(LIBS) +tc04_free_lock$(EXEEXT): $(tc04_free_lock_OBJECTS) $(tc04_free_lock_DEPENDENCIES) + @rm -f tc04_free_lock$(EXEEXT) + $(LINK) $(tc04_free_lock_OBJECTS) $(tc04_free_lock_LDADD) $(LIBS) +tc05_simple_race$(EXEEXT): $(tc05_simple_race_OBJECTS) $(tc05_simple_race_DEPENDENCIES) + @rm -f tc05_simple_race$(EXEEXT) + $(LINK) $(tc05_simple_race_OBJECTS) $(tc05_simple_race_LDADD) $(LIBS) +tc06_two_races$(EXEEXT): $(tc06_two_races_OBJECTS) $(tc06_two_races_DEPENDENCIES) + @rm -f tc06_two_races$(EXEEXT) + $(LINK) $(tc06_two_races_OBJECTS) $(tc06_two_races_LDADD) $(LIBS) +tc07_hbl1$(EXEEXT): $(tc07_hbl1_OBJECTS) $(tc07_hbl1_DEPENDENCIES) + @rm -f tc07_hbl1$(EXEEXT) + $(LINK) $(tc07_hbl1_OBJECTS) $(tc07_hbl1_LDADD) $(LIBS) +tc08_hbl2$(EXEEXT): $(tc08_hbl2_OBJECTS) $(tc08_hbl2_DEPENDENCIES) + @rm -f tc08_hbl2$(EXEEXT) + $(LINK) $(tc08_hbl2_OBJECTS) $(tc08_hbl2_LDADD) $(LIBS) +tc09_bad_unlock$(EXEEXT): $(tc09_bad_unlock_OBJECTS) $(tc09_bad_unlock_DEPENDENCIES) + @rm -f tc09_bad_unlock$(EXEEXT) + $(LINK) $(tc09_bad_unlock_OBJECTS) $(tc09_bad_unlock_LDADD) $(LIBS) +tc10_rec_lock$(EXEEXT): $(tc10_rec_lock_OBJECTS) $(tc10_rec_lock_DEPENDENCIES) + @rm -f tc10_rec_lock$(EXEEXT) + $(LINK) $(tc10_rec_lock_OBJECTS) $(tc10_rec_lock_LDADD) $(LIBS) +tc11_XCHG$(EXEEXT): $(tc11_XCHG_OBJECTS) $(tc11_XCHG_DEPENDENCIES) + @rm -f tc11_XCHG$(EXEEXT) + $(LINK) $(tc11_XCHG_OBJECTS) $(tc11_XCHG_LDADD) $(LIBS) +tc12_rwl_trivial$(EXEEXT): $(tc12_rwl_trivial_OBJECTS) $(tc12_rwl_trivial_DEPENDENCIES) + @rm -f tc12_rwl_trivial$(EXEEXT) + $(LINK) $(tc12_rwl_trivial_OBJECTS) $(tc12_rwl_trivial_LDADD) $(LIBS) +tc13_laog1$(EXEEXT): $(tc13_laog1_OBJECTS) $(tc13_laog1_DEPENDENCIES) + @rm -f tc13_laog1$(EXEEXT) + $(LINK) $(tc13_laog1_OBJECTS) $(tc13_laog1_LDADD) $(LIBS) +tc14_laog_dinphils$(EXEEXT): $(tc14_laog_dinphils_OBJECTS) $(tc14_laog_dinphils_DEPENDENCIES) + @rm -f tc14_laog_dinphils$(EXEEXT) + $(LINK) $(tc14_laog_dinphils_OBJECTS) $(tc14_laog_dinphils_LDADD) $(LIBS) +tc15_laog_lockdel$(EXEEXT): $(tc15_laog_lockdel_OBJECTS) $(tc15_laog_lockdel_DEPENDENCIES) + @rm -f tc15_laog_lockdel$(EXEEXT) + $(LINK) $(tc15_laog_lockdel_OBJECTS) $(tc15_laog_lockdel_LDADD) $(LIBS) +tc16_byterace$(EXEEXT): $(tc16_byterace_OBJECTS) $(tc16_byterace_DEPENDENCIES) + @rm -f tc16_byterace$(EXEEXT) + $(LINK) $(tc16_byterace_OBJECTS) $(tc16_byterace_LDADD) $(LIBS) +tc17_sembar$(EXEEXT): $(tc17_sembar_OBJECTS) $(tc17_sembar_DEPENDENCIES) + @rm -f tc17_sembar$(EXEEXT) + $(LINK) $(tc17_sembar_OBJECTS) $(tc17_sembar_LDADD) $(LIBS) +tc18_semabuse$(EXEEXT): $(tc18_semabuse_OBJECTS) $(tc18_semabuse_DEPENDENCIES) + @rm -f tc18_semabuse$(EXEEXT) + $(LINK) $(tc18_semabuse_OBJECTS) $(tc18_semabuse_LDADD) $(LIBS) +tc19_shadowmem$(EXEEXT): $(tc19_shadowmem_OBJECTS) $(tc19_shadowmem_DEPENDENCIES) + @rm -f tc19_shadowmem$(EXEEXT) + $(LINK) $(tc19_shadowmem_OBJECTS) $(tc19_shadowmem_LDADD) $(LIBS) +tc20_verifywrap$(EXEEXT): $(tc20_verifywrap_OBJECTS) $(tc20_verifywrap_DEPENDENCIES) + @rm -f tc20_verifywrap$(EXEEXT) + $(LINK) $(tc20_verifywrap_OBJECTS) $(tc20_verifywrap_LDADD) $(LIBS) +tc21_pthonce$(EXEEXT): $(tc21_pthonce_OBJECTS) $(tc21_pthonce_DEPENDENCIES) + @rm -f tc21_pthonce$(EXEEXT) + $(LINK) $(tc21_pthonce_OBJECTS) $(tc21_pthonce_LDADD) $(LIBS) +tc22_exit_w_lock$(EXEEXT): $(tc22_exit_w_lock_OBJECTS) $(tc22_exit_w_lock_DEPENDENCIES) + @rm -f tc22_exit_w_lock$(EXEEXT) + $(LINK) $(tc22_exit_w_lock_OBJECTS) $(tc22_exit_w_lock_LDADD) $(LIBS) +tc23_bogus_condwait$(EXEEXT): $(tc23_bogus_condwait_OBJECTS) $(tc23_bogus_condwait_DEPENDENCIES) + @rm -f tc23_bogus_condwait$(EXEEXT) + $(LINK) $(tc23_bogus_condwait_OBJECTS) $(tc23_bogus_condwait_LDADD) $(LIBS) +tc24_nonzero_sem$(EXEEXT): $(tc24_nonzero_sem_OBJECTS) $(tc24_nonzero_sem_DEPENDENCIES) + @rm -f tc24_nonzero_sem$(EXEEXT) + $(LINK) $(tc24_nonzero_sem_OBJECTS) $(tc24_nonzero_sem_LDADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bar_bad.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bar_trivial.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hg01_all_ok.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hg02_deadlock.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hg03_inherit.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hg04_race.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hg05_race2.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hg06_readshared.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tc01_simple_race.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tc02_simple_tls.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tc03_re_excl.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tc04_free_lock.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tc05_simple_race.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tc06_two_races.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tc07_hbl1.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tc08_hbl2.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tc09_bad_unlock.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tc10_rec_lock.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tc11_XCHG.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tc12_rwl_trivial.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tc13_laog1.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tc14_laog_dinphils.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tc15_laog_lockdel.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tc16_byterace.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tc17_sembar.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tc18_semabuse.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tc19_shadowmem.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tc20_verifywrap.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tc21_pthonce.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tc22_exit_w_lock.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tc23_bogus_condwait.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tc24_nonzero_sem.Po@am__quote@ + +.c.o: +@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(COMPILE) -c $< + +.c.obj: +@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + mkid -fID $$unique +tags: TAGS + +TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ + fi +ctags: CTAGS +CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$tags $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done +check-am: all-am + $(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS) +check: check-am +all-am: Makefile $(SCRIPTS) +installdirs: +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-checkPROGRAMS clean-generic mostlyclean-am + +distclean: distclean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +info: info-am + +info-am: + +install-data-am: + +install-dvi: install-dvi-am + +install-exec-am: + +install-html: install-html-am + +install-info: install-info-am + +install-man: + +install-pdf: install-pdf-am + +install-ps: install-ps-am + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-compile mostlyclean-generic + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: + +.MAKE: install-am install-strip + +.PHONY: CTAGS GTAGS all all-am check check-am clean \ + clean-checkPROGRAMS clean-generic ctags distclean \ + distclean-compile distclean-generic distclean-tags distdir dvi \ + dvi-am html html-am info info-am install install-am \ + install-data install-data-am install-dvi install-dvi-am \ + install-exec install-exec-am install-html install-html-am \ + install-info install-info-am install-man install-pdf \ + install-pdf-am install-ps install-ps-am install-strip \ + installcheck installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-compile \ + mostlyclean-generic pdf pdf-am ps ps-am tags uninstall \ + uninstall-am + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/helgrind/tests/bar_bad.c b/helgrind/tests/bar_bad.c new file mode 100644 index 0000000..dd6079c --- /dev/null +++ b/helgrind/tests/bar_bad.c @@ -0,0 +1,89 @@ + +/* This program checks that Helgrind reports the five degenerate + uses of the barrier functions shown. */ +#define _GNU_SOURCE +#include <pthread.h> +#include <stdio.h> +#include <stdlib.h> +#include <assert.h> +#include <unistd.h> +#include <string.h> + +void* child1 ( void* arg ) +{ + pthread_barrier_wait( (pthread_barrier_t*)arg ); + return NULL; +} + +int main ( void ) +{ + pthread_barrier_t *bar1, *bar2, *bar3, *bar4, *bar5; + pthread_t thr1, thr2; + int r; + + /* possibly set up a watchdog timer thread here. */ + + + + + + + + + + + + /* initialise a barrier with a zero count */ + fprintf(stderr, "\ninitialise a barrier with zero count\n"); + bar1 = malloc(sizeof(pthread_barrier_t)); + pthread_barrier_init(bar1, NULL, 0); + + /* initialise a barrier twice */ + fprintf(stderr, "\ninitialise a barrier twice\n"); + bar2 = malloc(sizeof(pthread_barrier_t)); + pthread_barrier_init(bar2, NULL, 1); + pthread_barrier_init(bar2, NULL, 1); + + /* initialise a barrier which has threads waiting on it. + This isn't too simple. */ + fprintf(stderr, "\ninitialise a barrier which has threads waiting on it\n"); + bar3 = malloc(sizeof(pthread_barrier_t)); + pthread_barrier_init(bar3, NULL, 2); + /* create a thread, whose only purpose is to block on the barrier */ + pthread_create(&thr1, NULL, child1, (void*)bar3); + /* guarantee that it gets there first */ + sleep(1); + /* and now reinitialise */ + pthread_barrier_init(bar3, NULL, 3); + + /* destroy a barrier that has threads waiting at it */ + fprintf(stderr, "\ndestroy a barrier that has waiting threads\n"); + /* once again, create a thread, whose only purpose is to block. */ + bar4 = malloc(sizeof(pthread_barrier_t)); + pthread_barrier_init(bar4, NULL, 2); + /* create a thread, whose only purpose is to block on the barrier */ + pthread_create(&thr2, NULL, child1, (void*)bar4); + /* guarantee that it gets there first */ + sleep(1); + /* and now destroy */ + pthread_barrier_destroy(bar4); + + /* destroy a barrier that was never initialised. This is a bit + tricky, in that we have to fill the barrier with bytes which + ensure that the pthread_barrier_destroy call doesn't hang for + some reason. Zero-fill seems to work ok on amd64-linux (glibc + 2.8). */ + fprintf(stderr, "\ndestroy a barrier that was never initialised\n"); + bar5 = malloc(sizeof(pthread_barrier_t)); + assert(bar5); + memset(bar5, 0, sizeof(*bar5)); + pthread_barrier_destroy(bar5); + + /* now we need to clean up the mess .. */ + r= pthread_cancel(thr1); assert(!r); + r= pthread_cancel(thr2); assert(!r); + + free(bar1); free(bar2); free(bar3); free(bar4); free(bar5); + + return 0; +} diff --git a/helgrind/tests/bar_bad.stderr.exp b/helgrind/tests/bar_bad.stderr.exp new file mode 100644 index 0000000..7fa1270 --- /dev/null +++ b/helgrind/tests/bar_bad.stderr.exp @@ -0,0 +1,45 @@ + +initialise a barrier with zero count +Thread #x is the program's root thread + +Thread #x: pthread_barrier_init: 'count' argument is zero + at 0x........: pthread_barrier_init (hg_intercepts.c:...) + by 0x........: main (bar_bad.c:39) + +Thread #x's call to pthread_barrier_init failed + with error code 22 (EINVAL: Invalid argument) + at 0x........: pthread_barrier_init (hg_intercepts.c:...) + by 0x........: main (bar_bad.c:39) + +initialise a barrier twice + +Thread #x: pthread_barrier_init: barrier is already initialised + at 0x........: pthread_barrier_init (hg_intercepts.c:...) + by 0x........: main (bar_bad.c:45) + +initialise a barrier which has threads waiting on it + +Thread #x: pthread_barrier_init: barrier is already initialised + at 0x........: pthread_barrier_init (hg_intercepts.c:...) + by 0x........: main (bar_bad.c:57) + +Thread #x: pthread_barrier_init: threads are waiting at barrier + at 0x........: pthread_barrier_init (hg_intercepts.c:...) + by 0x........: main (bar_bad.c:57) + +destroy a barrier that has waiting threads + +Thread #x: pthread_barrier_destroy: threads are waiting at barrier + at 0x........: pthread_barrier_destroy (hg_intercepts.c:...) + by 0x........: main (bar_bad.c:69) + +Thread #x's call to pthread_barrier_destroy failed + with error code 16 (EBUSY: Device or resource busy) + at 0x........: pthread_barrier_destroy (hg_intercepts.c:...) + by 0x........: main (bar_bad.c:69) + +destroy a barrier that was never initialised + +Thread #x: pthread_barrier_destroy: barrier was never initialised + at 0x........: pthread_barrier_destroy (hg_intercepts.c:...) + by 0x........: main (bar_bad.c:80) diff --git a/helgrind/tests/bar_bad.stdout.exp b/helgrind/tests/bar_bad.stdout.exp new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/helgrind/tests/bar_bad.stdout.exp diff --git a/helgrind/tests/bar_bad.vgtest b/helgrind/tests/bar_bad.vgtest new file mode 100644 index 0000000..fe946f5 --- /dev/null +++ b/helgrind/tests/bar_bad.vgtest @@ -0,0 +1,3 @@ +prereq: test -e bar_bad +prog: bar_bad +vgopts: -q diff --git a/helgrind/tests/bar_trivial.c b/helgrind/tests/bar_trivial.c new file mode 100644 index 0000000..8c221ae --- /dev/null +++ b/helgrind/tests/bar_trivial.c @@ -0,0 +1,57 @@ + +/* This is the most trivial test I could think of that involves + barriers. If H fails to notice the pthread_barrier_wait call then + it will report a race. Correct behaviour is not to report a race + (there isn't one.) */ +#define _GNU_SOURCE +#include <pthread.h> +#include <stdio.h> +#include <stdlib.h> +#include <assert.h> +#include <unistd.h> + +int x = 0; + +pthread_barrier_t bar; + +void* child_fn ( void* arg ) +{ + long r, n = (long)arg; + + if (n == 1) x++; + + r = pthread_barrier_wait(&bar); + assert(r == 0 || r == PTHREAD_BARRIER_SERIAL_THREAD); + + if (n == 0) x++; + + sleep(1); /* ensure both threads get to this point before + either exits. */ + return NULL; +} + +#define NTHR 2 + +int main ( void ) +{ + long i, r; + pthread_t thr[NTHR]; + + r = pthread_barrier_init(&bar, NULL, NTHR); + assert(!r); + + for (i = 0; i < NTHR; i++) { + r = pthread_create(&thr[i], NULL, child_fn, (void*)i); + assert(!r); + } + + for (i = 0; i < NTHR; i++) { + r = pthread_join(thr[i], NULL); + assert(!r); + } + + r = pthread_barrier_destroy(&bar); assert(!r); + + printf("x = %d\n", x); + return 0; +} diff --git a/helgrind/tests/bar_trivial.stderr.exp b/helgrind/tests/bar_trivial.stderr.exp new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/helgrind/tests/bar_trivial.stderr.exp diff --git a/helgrind/tests/bar_trivial.stdout.exp b/helgrind/tests/bar_trivial.stdout.exp new file mode 100644 index 0000000..407de30 --- /dev/null +++ b/helgrind/tests/bar_trivial.stdout.exp @@ -0,0 +1 @@ +x = 2 diff --git a/helgrind/tests/bar_trivial.vgtest b/helgrind/tests/bar_trivial.vgtest new file mode 100644 index 0000000..40f2776 --- /dev/null +++ b/helgrind/tests/bar_trivial.vgtest @@ -0,0 +1,3 @@ +prereq: test -e bar_trivial +prog: bar_trivial +vgopts: -q diff --git a/helgrind/tests/filter_stderr b/helgrind/tests/filter_stderr new file mode 100755 index 0000000..5b71068 --- /dev/null +++ b/helgrind/tests/filter_stderr @@ -0,0 +1,60 @@ +#! /bin/sh + +dir=`dirname $0` + +$dir/../../tests/filter_stderr_basic | + +# Anonymise addresses +$dir/../../tests/filter_addresses | + +# Remove "Helgrind, ..." line and the following copyright line. +sed "/^Helgrind, a thread error detector/ , /./ d" | + +# Anonymise line numbers in hg_intercepts.c +sed "s/hg_intercepts.c:[0-9]\+/hg_intercepts.c:.../g" | + +# Change (eg) "/lib64/libpthread-2.5.so" into "/...libpthread..." +sed \ + -e "s/(in \/.*libpthread.*)$/(in \/...libpthread...)/" \ + -e "s/(within \/.*libpthread.*)$/(within \/...libpthread...)/" | + +# Tidy up in cases where glibc (+ libdl + libpthread + ld) have +# been built with debugging information, hence source locs are present +sed \ + -e "s/(createthread.c:[0-9]*)/(in \/...libpthread...)/g" \ + -e "s/(clone.S:[0-9]*)/(in \/...libc...)/g" \ + -e "s/start_thread (pthread_create.c:[0-9]*)$/start_thread (in \/...libpthread...)/g" | + +# Merge sem_wait and sem_wait@*, as either could be used. Likewise for +# sem_post. +sed \ + -e "s/sem_wait@\*/sem_wait/" \ + -e "s/sem_post@\*/sem_post/" | + +# get rid of the numbers in bits of text "Thread #n", "thread #n", +# "Thread n" and "thread n", +# as these make some tests more scheduling sensitive -- those where +# there are multiple threads which play interchangeable roles. +sed \ + -e "s/hread #[0-9][0-9]*/hread #x/g" \ + -e "s/hread [0-9][0-9]*/hread x/g" | + +# Likewise for frame numbers, which depend on compilation. +sed -e "s/frame #[0-9][0-9]*/frame #x/g" | \ + +# "Thread #x was created" stack traces are unreliable once you get above +# "pthread_create@* (hg_intercepts.c:...)" -- they can contan +# "pthread_create@GLIBC_", "do_clone", "clone", etc. So we cut all the +# "at"/"by" lines above "pthread_create@*". +perl -p -0 -e 's/(Thread #. was created\n)( (at|by)[^\n]*\n)*( by 0x........: pthread_create@\* \(hg_intercepts.c:...\)\n)/$1 ...\n$4/gs' | + +# Anything below "mythread_wrapper" in stack traces is unreliable, +# containing libc and libpthread stuff like start_thread, clone, etc. So we +# remove all the "by" lines below "mythread_wrapper". +perl -p -0 -e 's/( by 0x........: mythread_wrapper \(hg_intercepts.c:...\)\n)( by[^\n]*\n)*/$1 ...\n/gs' | + +# Entire trace in a "Exiting thread still holds <N> lock(s)" is unreliable, +# containing libc stuff like _Exit(), exit(), etc. So we remove all the +# "at"/"by" lines below the message. +perl -p -0 -e 's/(Thread #.: Exiting thread still holds [0-9]+ locks?\n)( (at|by)[^\n]*\n)*/$1 ...\n/gs' + diff --git a/helgrind/tests/hg01_all_ok.c b/helgrind/tests/hg01_all_ok.c new file mode 100644 index 0000000..144ce60 --- /dev/null +++ b/helgrind/tests/hg01_all_ok.c @@ -0,0 +1,32 @@ +/* All OK */ + +#include <pthread.h> + +static pthread_mutex_t mx = PTHREAD_MUTEX_INITIALIZER; + +static int shared; + +static void *th(void *v) +{ + pthread_mutex_lock(&mx); + shared++; + pthread_mutex_unlock(&mx); + + return 0; +} + +int main() +{ + pthread_t a, b; + + pthread_mutex_lock(&mx); + pthread_mutex_unlock(&mx); + + pthread_create(&a, NULL, th, NULL); + pthread_create(&b, NULL, th, NULL); + + pthread_join(a, NULL); + pthread_join(b, NULL); + + return 0; +} diff --git a/helgrind/tests/hg01_all_ok.stderr.exp b/helgrind/tests/hg01_all_ok.stderr.exp new file mode 100644 index 0000000..d18786f --- /dev/null +++ b/helgrind/tests/hg01_all_ok.stderr.exp @@ -0,0 +1,3 @@ + + +ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) diff --git a/helgrind/tests/hg01_all_ok.stdout.exp b/helgrind/tests/hg01_all_ok.stdout.exp new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/helgrind/tests/hg01_all_ok.stdout.exp diff --git a/helgrind/tests/hg01_all_ok.vgtest b/helgrind/tests/hg01_all_ok.vgtest new file mode 100644 index 0000000..9524976 --- /dev/null +++ b/helgrind/tests/hg01_all_ok.vgtest @@ -0,0 +1 @@ +prog: hg01_all_ok diff --git a/helgrind/tests/hg02_deadlock.c b/helgrind/tests/hg02_deadlock.c new file mode 100644 index 0000000..1142f5c --- /dev/null +++ b/helgrind/tests/hg02_deadlock.c @@ -0,0 +1,43 @@ +/* Simple possible deadlock */ +#include <pthread.h> + +static pthread_mutex_t m1 = PTHREAD_MUTEX_INITIALIZER; +static pthread_mutex_t m2 = PTHREAD_MUTEX_INITIALIZER; + +static void *t1(void *v) +{ + pthread_mutex_lock(&m1); + pthread_mutex_lock(&m2); + pthread_mutex_unlock(&m1); + pthread_mutex_unlock(&m2); + + return 0; +} + +static void *t2(void *v) +{ + pthread_mutex_lock(&m2); + pthread_mutex_lock(&m1); + pthread_mutex_unlock(&m1); + pthread_mutex_unlock(&m2); + + return 0; +} + +int main() +{ + pthread_t a, b; + + /* prevent spurious messages from the dynamic linker */ + pthread_mutex_lock(&m1); + pthread_mutex_unlock(&m1); + + pthread_create(&a, NULL, t1, NULL); + pthread_create(&b, NULL, t2, NULL); + + pthread_join(a, NULL); + pthread_join(b, NULL); + + return 0; +} + diff --git a/helgrind/tests/hg02_deadlock.stderr.exp b/helgrind/tests/hg02_deadlock.stderr.exp new file mode 100644 index 0000000..cec8d41 --- /dev/null +++ b/helgrind/tests/hg02_deadlock.stderr.exp @@ -0,0 +1,23 @@ + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (hg02_deadlock.c:36) + +Thread #x: lock order "0x........ before 0x........" violated + at 0x........: pthread_mutex_lock (hg_intercepts.c:...) + by 0x........: t2 (hg02_deadlock.c:20) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + Required order was established by acquisition of lock at 0x........ + at 0x........: pthread_mutex_lock (hg_intercepts.c:...) + by 0x........: t1 (hg02_deadlock.c:9) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + followed by a later acquisition of lock at 0x........ + at 0x........: pthread_mutex_lock (hg_intercepts.c:...) + by 0x........: t1 (hg02_deadlock.c:10) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0) diff --git a/helgrind/tests/hg02_deadlock.stdout.exp b/helgrind/tests/hg02_deadlock.stdout.exp new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/helgrind/tests/hg02_deadlock.stdout.exp diff --git a/helgrind/tests/hg02_deadlock.vgtest b/helgrind/tests/hg02_deadlock.vgtest new file mode 100644 index 0000000..ff0deb7 --- /dev/null +++ b/helgrind/tests/hg02_deadlock.vgtest @@ -0,0 +1 @@ +prog: hg02_deadlock diff --git a/helgrind/tests/hg03_inherit.c b/helgrind/tests/hg03_inherit.c new file mode 100644 index 0000000..7c429f8 --- /dev/null +++ b/helgrind/tests/hg03_inherit.c @@ -0,0 +1,67 @@ + +/* I don't think this is a very good test .. all this + sleepery is highly confusing. */ + +/* test child thread inheriting data */ + +#include <stdio.h> +#include <pthread.h> +#include <unistd.h> + +static volatile int shared[2]; + +static void *t1(void *v) +{ + volatile int *ip = (int *)v; + if (0) printf("ta W\n"); + *ip += 44; + *ip *= 2; + sleep(1); + return 0; +} + +static void *t2(void *v) +{ + volatile int *ip = (int *)v; + sleep(2); + if (0) printf("tb W\n"); + *ip += 88; + *ip *= 3; + sleep(1); + return 0; +} + +int main(void) +{ + pthread_t a, b; + volatile int ret = 0; + + sleep(0); + + shared[0] = 22; + shared[1] = 77; + + pthread_create(&a, NULL, t1, (void *)&shared[0]); + // a steals shared[0] from root thread, so is excl(a) + pthread_create(&b, NULL, t2, (void *)&shared[1]); + // b steals shared[1] from root thread, so is excl(b) + + pthread_join(a, NULL); + // b's stuff (shared[1]) still belongs to b, so is excl(b) + + // ret is excl(root), and shared[0] is re-acquired as excl(root) + // since a joined to root + if (0) printf("r R1\n"); + ret += shared[0]; /* no error - a is finished */ + + // but shared[1] is excl(b); hence we're reading excl(b) + // without a lock and without a dependency edge + if (0) printf("r R2\n"); + ret += shared[1]; /* expect error - b has not finished, + so we can't touch shared[1] yet */ + + pthread_join(b, NULL); + + + return ret; +} diff --git a/helgrind/tests/hg03_inherit.stderr.exp b/helgrind/tests/hg03_inherit.stderr.exp new file mode 100644 index 0000000..feed364 --- /dev/null +++ b/helgrind/tests/hg03_inherit.stderr.exp @@ -0,0 +1,27 @@ + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (hg03_inherit.c:46) + +Thread #x is the program's root thread + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: t2 (hg03_inherit.c:28) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous read of size 4 by thread #x + at 0x........: main (hg03_inherit.c:60) + Location 0x........ is 0 bytes inside shared[1], + declared at hg03_inherit.c:11, in frame #x of thread x + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: t2 (hg03_inherit.c:29) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous read of size 4 by thread #x + at 0x........: main (hg03_inherit.c:60) + Location 0x........ is 0 bytes inside shared[1], + declared at hg03_inherit.c:11, in frame #x of thread x + +ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 0 from 0) diff --git a/helgrind/tests/hg03_inherit.stdout.exp b/helgrind/tests/hg03_inherit.stdout.exp new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/helgrind/tests/hg03_inherit.stdout.exp diff --git a/helgrind/tests/hg03_inherit.vgtest b/helgrind/tests/hg03_inherit.vgtest new file mode 100644 index 0000000..548a489 --- /dev/null +++ b/helgrind/tests/hg03_inherit.vgtest @@ -0,0 +1,2 @@ +prog: hg03_inherit +vgopts: --read-var-info=yes diff --git a/helgrind/tests/hg04_race.c b/helgrind/tests/hg04_race.c new file mode 100644 index 0000000..111195b --- /dev/null +++ b/helgrind/tests/hg04_race.c @@ -0,0 +1,27 @@ +/* A simple race */ + +#include <pthread.h> +#include <unistd.h> + +static int shared; + +static void *th(void *v) +{ + shared++; + + return 0; +} + +int main() +{ + pthread_t a, b; + + pthread_create(&a, NULL, th, NULL); + sleep(1); /* force ordering */ + pthread_create(&b, NULL, th, NULL); + + pthread_join(a, NULL); + pthread_join(b, NULL); + + return 0; +} diff --git a/helgrind/tests/hg04_race.stderr.exp b/helgrind/tests/hg04_race.stderr.exp new file mode 100644 index 0000000..9996006 --- /dev/null +++ b/helgrind/tests/hg04_race.stderr.exp @@ -0,0 +1,34 @@ + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (hg04_race.c:21) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (hg04_race.c:19) + +Possible data race during read of size 4 at 0x........ by thread #x + at 0x........: th (hg04_race.c:10) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: th (hg04_race.c:10) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + Location 0x........ is 0 bytes inside local var "shared" + declared at hg04_race.c:6, in frame #x of thread x + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: th (hg04_race.c:10) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: th (hg04_race.c:10) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + Location 0x........ is 0 bytes inside local var "shared" + declared at hg04_race.c:6, in frame #x of thread x + +ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 0 from 0) diff --git a/helgrind/tests/hg04_race.stdout.exp b/helgrind/tests/hg04_race.stdout.exp new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/helgrind/tests/hg04_race.stdout.exp diff --git a/helgrind/tests/hg04_race.vgtest b/helgrind/tests/hg04_race.vgtest new file mode 100644 index 0000000..42ee396 --- /dev/null +++ b/helgrind/tests/hg04_race.vgtest @@ -0,0 +1,2 @@ +prog: hg04_race +vgopts: --read-var-info=yes diff --git a/helgrind/tests/hg05_race2.c b/helgrind/tests/hg05_race2.c new file mode 100644 index 0000000..de01f2c --- /dev/null +++ b/helgrind/tests/hg05_race2.c @@ -0,0 +1,35 @@ +/* A simple race - test symaddr */ + +#include <pthread.h> +#include <unistd.h> + +struct foo { + struct bar { + int plop[22]; + char biff; + } poot[11]; +}; + +static void *th(void *v) +{ + struct foo *f = (struct foo *)v; + + f->poot[5].plop[11]++; + + return 0; +} + +int main() +{ + struct foo foo; + pthread_t a, b; + + pthread_create(&a, NULL, th, &foo); + sleep(1); /* force ordering */ + pthread_create(&b, NULL, th, &foo); + + pthread_join(a, NULL); + pthread_join(b, NULL); + + return 0; +} diff --git a/helgrind/tests/hg05_race2.stderr.exp b/helgrind/tests/hg05_race2.stderr.exp new file mode 100644 index 0000000..067a194 --- /dev/null +++ b/helgrind/tests/hg05_race2.stderr.exp @@ -0,0 +1,34 @@ + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (hg05_race2.c:29) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (hg05_race2.c:27) + +Possible data race during read of size 4 at 0x........ by thread #x + at 0x........: th (hg05_race2.c:17) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: th (hg05_race2.c:17) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + Location 0x........ is 0 bytes inside foo.poot[5].plop[11], + declared at hg05_race2.c:24, in frame #x of thread x + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: th (hg05_race2.c:17) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: th (hg05_race2.c:17) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + Location 0x........ is 0 bytes inside foo.poot[5].plop[11], + declared at hg05_race2.c:24, in frame #x of thread x + +ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 0 from 0) diff --git a/helgrind/tests/hg05_race2.stdout.exp b/helgrind/tests/hg05_race2.stdout.exp new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/helgrind/tests/hg05_race2.stdout.exp diff --git a/helgrind/tests/hg05_race2.vgtest b/helgrind/tests/hg05_race2.vgtest new file mode 100644 index 0000000..250a6eb --- /dev/null +++ b/helgrind/tests/hg05_race2.vgtest @@ -0,0 +1,2 @@ +prog: hg05_race2 +vgopts: --read-var-info=yes diff --git a/helgrind/tests/hg06_readshared.c b/helgrind/tests/hg06_readshared.c new file mode 100644 index 0000000..3904b44 --- /dev/null +++ b/helgrind/tests/hg06_readshared.c @@ -0,0 +1,33 @@ +/* All OK - test allowed read sharing */ + +#include <pthread.h> +#include <assert.h> + +static int shared; + +static void *t1(void *v) +{ + return (void *)(long)(shared + 44); +} + +static void *t2(void *v) +{ + return (void *)(long)(shared + 55); +} + +int main() +{ + pthread_t a, b; + + shared = 22; + + pthread_create(&a, NULL, t1, NULL); + pthread_create(&b, NULL, t2, NULL); + + pthread_join(a, NULL); + pthread_join(b, NULL); + + assert(shared == 22); + + return 0; +} diff --git a/helgrind/tests/hg06_readshared.stderr.exp b/helgrind/tests/hg06_readshared.stderr.exp new file mode 100644 index 0000000..d18786f --- /dev/null +++ b/helgrind/tests/hg06_readshared.stderr.exp @@ -0,0 +1,3 @@ + + +ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) diff --git a/helgrind/tests/hg06_readshared.stdout.exp b/helgrind/tests/hg06_readshared.stdout.exp new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/helgrind/tests/hg06_readshared.stdout.exp diff --git a/helgrind/tests/hg06_readshared.vgtest b/helgrind/tests/hg06_readshared.vgtest new file mode 100644 index 0000000..c5accee --- /dev/null +++ b/helgrind/tests/hg06_readshared.vgtest @@ -0,0 +1 @@ +prog: hg06_readshared diff --git a/helgrind/tests/pth_barrier1.stderr.exp b/helgrind/tests/pth_barrier1.stderr.exp new file mode 100644 index 0000000..6df3a23 --- /dev/null +++ b/helgrind/tests/pth_barrier1.stderr.exp @@ -0,0 +1,20 @@ +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: barriers_and_races (pth_barrier.c:84) + by 0x........: main (pth_barrier.c:107) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: barriers_and_races (pth_barrier.c:84) + by 0x........: main (pth_barrier.c:107) + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: threadfunc (pth_barrier.c:57) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: threadfunc (pth_barrier.c:57) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... diff --git a/helgrind/tests/pth_barrier1.stdout.exp b/helgrind/tests/pth_barrier1.stdout.exp new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/helgrind/tests/pth_barrier1.stdout.exp diff --git a/helgrind/tests/pth_barrier1.vgtest b/helgrind/tests/pth_barrier1.vgtest new file mode 100644 index 0000000..7b0d62f --- /dev/null +++ b/helgrind/tests/pth_barrier1.vgtest @@ -0,0 +1,4 @@ +prereq: test -e bar_trivial +prog: ../../drd/tests/pth_barrier +args: 2 1 1 +vgopts: -q diff --git a/helgrind/tests/pth_barrier2.stderr.exp b/helgrind/tests/pth_barrier2.stderr.exp new file mode 100644 index 0000000..84a2a0a --- /dev/null +++ b/helgrind/tests/pth_barrier2.stderr.exp @@ -0,0 +1,299 @@ +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: barriers_and_races (pth_barrier.c:84) + by 0x........: main (pth_barrier.c:107) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: barriers_and_races (pth_barrier.c:84) + by 0x........: main (pth_barrier.c:107) + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: threadfunc (pth_barrier.c:57) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: threadfunc (pth_barrier.c:57) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: threadfunc (pth_barrier.c:57) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: threadfunc (pth_barrier.c:57) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: threadfunc (pth_barrier.c:57) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: threadfunc (pth_barrier.c:57) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: threadfunc (pth_barrier.c:57) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: threadfunc (pth_barrier.c:57) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: threadfunc (pth_barrier.c:57) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: threadfunc (pth_barrier.c:57) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: threadfunc (pth_barrier.c:57) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: threadfunc (pth_barrier.c:57) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: threadfunc (pth_barrier.c:57) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: threadfunc (pth_barrier.c:57) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: threadfunc (pth_barrier.c:57) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: threadfunc (pth_barrier.c:57) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: threadfunc (pth_barrier.c:57) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: threadfunc (pth_barrier.c:57) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: threadfunc (pth_barrier.c:57) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: threadfunc (pth_barrier.c:57) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: threadfunc (pth_barrier.c:57) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: threadfunc (pth_barrier.c:57) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: threadfunc (pth_barrier.c:57) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: threadfunc (pth_barrier.c:57) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: threadfunc (pth_barrier.c:57) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: threadfunc (pth_barrier.c:57) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: threadfunc (pth_barrier.c:57) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: threadfunc (pth_barrier.c:57) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: threadfunc (pth_barrier.c:57) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: threadfunc (pth_barrier.c:57) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: threadfunc (pth_barrier.c:57) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: threadfunc (pth_barrier.c:57) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: threadfunc (pth_barrier.c:57) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: threadfunc (pth_barrier.c:57) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: threadfunc (pth_barrier.c:57) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: threadfunc (pth_barrier.c:57) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: threadfunc (pth_barrier.c:57) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: threadfunc (pth_barrier.c:57) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: threadfunc (pth_barrier.c:57) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: threadfunc (pth_barrier.c:57) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: threadfunc (pth_barrier.c:57) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: threadfunc (pth_barrier.c:57) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: threadfunc (pth_barrier.c:57) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: threadfunc (pth_barrier.c:57) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: threadfunc (pth_barrier.c:57) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: threadfunc (pth_barrier.c:57) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: threadfunc (pth_barrier.c:57) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: threadfunc (pth_barrier.c:57) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: threadfunc (pth_barrier.c:57) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: threadfunc (pth_barrier.c:57) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: threadfunc (pth_barrier.c:57) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: threadfunc (pth_barrier.c:57) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: threadfunc (pth_barrier.c:57) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: threadfunc (pth_barrier.c:57) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: threadfunc (pth_barrier.c:57) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: threadfunc (pth_barrier.c:57) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: threadfunc (pth_barrier.c:57) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: threadfunc (pth_barrier.c:57) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: threadfunc (pth_barrier.c:57) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: threadfunc (pth_barrier.c:57) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: threadfunc (pth_barrier.c:57) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: threadfunc (pth_barrier.c:57) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: threadfunc (pth_barrier.c:57) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: threadfunc (pth_barrier.c:57) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... diff --git a/helgrind/tests/pth_barrier2.stdout.exp b/helgrind/tests/pth_barrier2.stdout.exp new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/helgrind/tests/pth_barrier2.stdout.exp diff --git a/helgrind/tests/pth_barrier2.vgtest b/helgrind/tests/pth_barrier2.vgtest new file mode 100644 index 0000000..13036b3 --- /dev/null +++ b/helgrind/tests/pth_barrier2.vgtest @@ -0,0 +1,4 @@ +prereq: test -e bar_trivial +prog: ../../drd/tests/pth_barrier +args: 2 32 1 +vgopts: -q --cmp-race-err-addrs=yes diff --git a/helgrind/tests/pth_barrier3.stderr.exp b/helgrind/tests/pth_barrier3.stderr.exp new file mode 100644 index 0000000..6df3a23 --- /dev/null +++ b/helgrind/tests/pth_barrier3.stderr.exp @@ -0,0 +1,20 @@ +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: barriers_and_races (pth_barrier.c:84) + by 0x........: main (pth_barrier.c:107) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: barriers_and_races (pth_barrier.c:84) + by 0x........: main (pth_barrier.c:107) + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: threadfunc (pth_barrier.c:57) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: threadfunc (pth_barrier.c:57) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... diff --git a/helgrind/tests/pth_barrier3.stdout.exp b/helgrind/tests/pth_barrier3.stdout.exp new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/helgrind/tests/pth_barrier3.stdout.exp diff --git a/helgrind/tests/pth_barrier3.vgtest b/helgrind/tests/pth_barrier3.vgtest new file mode 100644 index 0000000..06ab6c3 --- /dev/null +++ b/helgrind/tests/pth_barrier3.vgtest @@ -0,0 +1,4 @@ +prereq: test -e bar_trivial +prog: ../../drd/tests/pth_barrier +args: 32 1 1 +vgopts: -q diff --git a/helgrind/tests/rwlock_race.stderr.exp b/helgrind/tests/rwlock_race.stderr.exp new file mode 100644 index 0000000..e62847e --- /dev/null +++ b/helgrind/tests/rwlock_race.stderr.exp @@ -0,0 +1,24 @@ + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (rwlock_race.c:48) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (rwlock_race.c:47) + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: thread_func (rwlock_race.c:29) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: thread_func (rwlock_race.c:29) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + Location 0x........ is 0 bytes inside local var "s_racy" + declared at rwlock_race.c:18, in frame #x of thread x +Result: 2 + +ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0) diff --git a/helgrind/tests/rwlock_race.stdout.exp b/helgrind/tests/rwlock_race.stdout.exp new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/helgrind/tests/rwlock_race.stdout.exp diff --git a/helgrind/tests/rwlock_race.vgtest b/helgrind/tests/rwlock_race.vgtest new file mode 100644 index 0000000..00b462f --- /dev/null +++ b/helgrind/tests/rwlock_race.vgtest @@ -0,0 +1,2 @@ +prog: ../../drd/tests/rwlock_race +vgopts: --read-var-info=yes diff --git a/helgrind/tests/rwlock_test.stderr.exp b/helgrind/tests/rwlock_test.stderr.exp new file mode 100644 index 0000000..a7089bb --- /dev/null +++ b/helgrind/tests/rwlock_test.stderr.exp @@ -0,0 +1,4 @@ + +Finished. + +ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) diff --git a/helgrind/tests/rwlock_test.stdout.exp b/helgrind/tests/rwlock_test.stdout.exp new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/helgrind/tests/rwlock_test.stdout.exp diff --git a/helgrind/tests/rwlock_test.vgtest b/helgrind/tests/rwlock_test.vgtest new file mode 100644 index 0000000..4257fc9 --- /dev/null +++ b/helgrind/tests/rwlock_test.vgtest @@ -0,0 +1 @@ +prog: ../../drd/tests/rwlock_test diff --git a/helgrind/tests/tc01_simple_race.c b/helgrind/tests/tc01_simple_race.c new file mode 100644 index 0000000..abf37b5 --- /dev/null +++ b/helgrind/tests/tc01_simple_race.c @@ -0,0 +1,36 @@ + +#include <pthread.h> +#include <stdio.h> +#include <stdlib.h> + +/* Simple test program, has a race. Parent and child both modify x + with no locking. */ + +int x = 0; + +void* child_fn ( void* arg ) +{ + /* Unprotected relative to parent */ + x++; + return NULL; +} + +int main ( void ) +{ + pthread_t child; + + if (pthread_create(&child, NULL, child_fn, NULL)) { + perror("pthread_create"); + exit(1); + } + + /* Unprotected relative to child */ + x++; + + if (pthread_join(child, NULL)) { + perror("pthread join"); + exit(1); + } + + return 0; +} diff --git a/helgrind/tests/tc01_simple_race.stderr.exp b/helgrind/tests/tc01_simple_race.stderr.exp new file mode 100644 index 0000000..1fc04fe --- /dev/null +++ b/helgrind/tests/tc01_simple_race.stderr.exp @@ -0,0 +1,27 @@ + +Thread #x is the program's root thread + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc01_simple_race.c:22) + +Possible data race during read of size 4 at 0x........ by thread #x + at 0x........: main (tc01_simple_race.c:28) + This conflicts with a previous write of size 4 by thread #x + at 0x........: child_fn (tc01_simple_race.c:14) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + Location 0x........ is 0 bytes inside global var "x" + declared at tc01_simple_race.c:9 + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: main (tc01_simple_race.c:28) + This conflicts with a previous write of size 4 by thread #x + at 0x........: child_fn (tc01_simple_race.c:14) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + Location 0x........ is 0 bytes inside global var "x" + declared at tc01_simple_race.c:9 + +ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 0 from 0) diff --git a/helgrind/tests/tc01_simple_race.stdout.exp b/helgrind/tests/tc01_simple_race.stdout.exp new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/helgrind/tests/tc01_simple_race.stdout.exp diff --git a/helgrind/tests/tc01_simple_race.vgtest b/helgrind/tests/tc01_simple_race.vgtest new file mode 100644 index 0000000..be686ab --- /dev/null +++ b/helgrind/tests/tc01_simple_race.vgtest @@ -0,0 +1,2 @@ +prog: tc01_simple_race +vgopts: --read-var-info=yes diff --git a/helgrind/tests/tc02_simple_tls.c b/helgrind/tests/tc02_simple_tls.c new file mode 100644 index 0000000..a23b14c --- /dev/null +++ b/helgrind/tests/tc02_simple_tls.c @@ -0,0 +1,39 @@ + +#include <pthread.h> +#include <stdio.h> +#include <stdlib.h> + +/* Simple test program, no race: parent only modified x after child + has modified it and then joined with the parent. Tests simple + thread lifetime segment handling. */ + +int x = 0; + +void* child_fn ( void* arg ) +{ + /* Unprotected relative to parent, but in child's segment only */ + x++; + return NULL; +} + +int main ( void ) +{ + pthread_t child; + + x++; /* happens in parent's segment */ + + if (pthread_create(&child, NULL, child_fn, NULL)) { + perror("pthread_create"); + exit(1); + } + + if (pthread_join(child, NULL)) { + perror("pthread join"); + exit(1); + } + + /* Now back in parent's segment */ + x++; + + return 0; +} diff --git a/helgrind/tests/tc02_simple_tls.stderr.exp b/helgrind/tests/tc02_simple_tls.stderr.exp new file mode 100644 index 0000000..d18786f --- /dev/null +++ b/helgrind/tests/tc02_simple_tls.stderr.exp @@ -0,0 +1,3 @@ + + +ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) diff --git a/helgrind/tests/tc02_simple_tls.stdout.exp b/helgrind/tests/tc02_simple_tls.stdout.exp new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/helgrind/tests/tc02_simple_tls.stdout.exp diff --git a/helgrind/tests/tc02_simple_tls.vgtest b/helgrind/tests/tc02_simple_tls.vgtest new file mode 100644 index 0000000..57db35c --- /dev/null +++ b/helgrind/tests/tc02_simple_tls.vgtest @@ -0,0 +1 @@ +prog: tc02_simple_tls diff --git a/helgrind/tests/tc03_re_excl.c b/helgrind/tests/tc03_re_excl.c new file mode 100644 index 0000000..4f3ce51 --- /dev/null +++ b/helgrind/tests/tc03_re_excl.c @@ -0,0 +1,44 @@ + +#include <pthread.h> +#include <stdio.h> +#include <stdlib.h> + +/* Simple test program, no race: parent only modifies x after child + has modified it and then joined with the parent. Tests simple + thread lifetime segment handling. */ + +/* A simple function to "use" a value, so that gcc can't + possibly optimise it into nothing. */ +static void use ( int x ) { + __asm__ __volatile__( "nop" : : "r"(x) : "cc","memory" ); +} + +static void* worker_thread ( void* argV ) +{ + int* arg = (int*)argV; + use(arg[5]); /* read access */ + return NULL; +} + +int main ( void ) +{ + pthread_t thread_id; + volatile int* x = malloc(10 * sizeof(int)); + x[5] = 1; + /* x[5] is Excl(parent) */ + + pthread_create(&thread_id, 0, worker_thread, (void*)x); + + use(x[5]); /* read access */ + + /* Just before the threads join, x[5] is ShR (read by both parent + and child) */ + pthread_join(thread_id, 0); + /* x[5] is Excl(parent), because only parent and child accessed it + and child has merged to parent. So now it's ok for parent to + access it without locking. */ + + x[5] = 0; /* write access */ + + return x[5]; +} diff --git a/helgrind/tests/tc03_re_excl.stderr.exp b/helgrind/tests/tc03_re_excl.stderr.exp new file mode 100644 index 0000000..d18786f --- /dev/null +++ b/helgrind/tests/tc03_re_excl.stderr.exp @@ -0,0 +1,3 @@ + + +ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) diff --git a/helgrind/tests/tc03_re_excl.stdout.exp b/helgrind/tests/tc03_re_excl.stdout.exp new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/helgrind/tests/tc03_re_excl.stdout.exp diff --git a/helgrind/tests/tc03_re_excl.vgtest b/helgrind/tests/tc03_re_excl.vgtest new file mode 100644 index 0000000..e12924a --- /dev/null +++ b/helgrind/tests/tc03_re_excl.vgtest @@ -0,0 +1 @@ +prog: tc03_re_excl diff --git a/helgrind/tests/tc04_free_lock.c b/helgrind/tests/tc04_free_lock.c new file mode 100644 index 0000000..c1ffa25 --- /dev/null +++ b/helgrind/tests/tc04_free_lock.c @@ -0,0 +1,50 @@ + +#include <pthread.h> +#include <stdio.h> +#include <stdlib.h> +#include <assert.h> + +/* Delete memory that has a held lock and see what happens. */ + +typedef struct { int stuff[2000]; + pthread_mutex_t lock; int morestuff[2000]; } XX; + +void bar ( void ); +void foo ( void ); + +int main ( void ) +{ + XX* xx = malloc(sizeof(XX)); + assert(xx); + + pthread_mutex_init( &xx->lock, NULL ); + + pthread_mutex_lock( &xx->lock ); + + free(xx); + + bar(); + foo(); + bar(); + + return 0; +} + +/* Try the same, on the stack */ +void bar ( void ) +{ + pthread_mutex_t mx = PTHREAD_MUTEX_INITIALIZER; + // pthread_mutex_init( &mx, NULL ); + pthread_mutex_lock( &mx ); + /* now just abandon mx */ +} + +/* and again ... */ +void foo ( void ) +{ + pthread_mutex_t mx; + pthread_mutex_init( &mx, NULL ); + pthread_mutex_lock( &mx ); + /* now just abandon mx */ +} + diff --git a/helgrind/tests/tc04_free_lock.stderr.exp b/helgrind/tests/tc04_free_lock.stderr.exp new file mode 100644 index 0000000..11a0329 --- /dev/null +++ b/helgrind/tests/tc04_free_lock.stderr.exp @@ -0,0 +1,7 @@ + +Thread #x is the program's root thread + +Thread #x: Exiting thread still holds 2 locks + ... + +ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0) diff --git a/helgrind/tests/tc04_free_lock.stdout.exp b/helgrind/tests/tc04_free_lock.stdout.exp new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/helgrind/tests/tc04_free_lock.stdout.exp diff --git a/helgrind/tests/tc04_free_lock.vgtest b/helgrind/tests/tc04_free_lock.vgtest new file mode 100644 index 0000000..27d28bf --- /dev/null +++ b/helgrind/tests/tc04_free_lock.vgtest @@ -0,0 +1 @@ +prog: tc04_free_lock diff --git a/helgrind/tests/tc05_simple_race.c b/helgrind/tests/tc05_simple_race.c new file mode 100644 index 0000000..287c12c --- /dev/null +++ b/helgrind/tests/tc05_simple_race.c @@ -0,0 +1,44 @@ + +#include <pthread.h> +#include <stdio.h> +#include <stdlib.h> + +/* Simple test program, has a race. Parent and child both modify y + with no locking. This is the program shown in Fig 2 of the + original Eraser paper by Savage et al. */ + +int y = 0, v = 0; +pthread_mutex_t mu = PTHREAD_MUTEX_INITIALIZER; + +void* child_fn ( void* arg ) +{ + /* "Thread 2" in the paper */ + pthread_mutex_lock( &mu ); + v = v + 1; + pthread_mutex_unlock( &mu ); + y = y + 1; + return NULL; +} + +int main ( void ) +{ + pthread_t child; + + if (pthread_create(&child, NULL, child_fn, NULL)) { + perror("pthread_create"); + exit(1); + } + + /* "Thread 1" in the paper */ + y = y + 1; + pthread_mutex_lock( &mu ); + v = v + 1; + pthread_mutex_unlock( &mu ); + + if (pthread_join(child, NULL)) { + perror("pthread join"); + exit(1); + } + + return 0; +} diff --git a/helgrind/tests/tc05_simple_race.stderr.exp b/helgrind/tests/tc05_simple_race.stderr.exp new file mode 100644 index 0000000..f90f6b2 --- /dev/null +++ b/helgrind/tests/tc05_simple_race.stderr.exp @@ -0,0 +1,27 @@ + +Thread #x is the program's root thread + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc05_simple_race.c:27) + +Possible data race during read of size 4 at 0x........ by thread #x + at 0x........: main (tc05_simple_race.c:33) + This conflicts with a previous write of size 4 by thread #x + at 0x........: child_fn (tc05_simple_race.c:19) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + Location 0x........ is 0 bytes inside global var "y" + declared at tc05_simple_race.c:10 + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: main (tc05_simple_race.c:33) + This conflicts with a previous write of size 4 by thread #x + at 0x........: child_fn (tc05_simple_race.c:19) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + Location 0x........ is 0 bytes inside global var "y" + declared at tc05_simple_race.c:10 + +ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 0 from 0) diff --git a/helgrind/tests/tc05_simple_race.stdout.exp b/helgrind/tests/tc05_simple_race.stdout.exp new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/helgrind/tests/tc05_simple_race.stdout.exp diff --git a/helgrind/tests/tc05_simple_race.vgtest b/helgrind/tests/tc05_simple_race.vgtest new file mode 100644 index 0000000..0d6800a --- /dev/null +++ b/helgrind/tests/tc05_simple_race.vgtest @@ -0,0 +1,2 @@ +prog: tc05_simple_race +vgopts: --read-var-info=yes diff --git a/helgrind/tests/tc06_two_races.c b/helgrind/tests/tc06_two_races.c new file mode 100644 index 0000000..4eaf9dd --- /dev/null +++ b/helgrind/tests/tc06_two_races.c @@ -0,0 +1,43 @@ + +#include <pthread.h> +#include <stdio.h> +#include <stdlib.h> + +/* Simple test program, has two races. A happens-before detector can only + ever detect one of them, though. XXX: apparently not so; Drd and H 3.4 detect both. */ + +int unprot1 = 0, unprot2 = 0, prot = 0; +pthread_mutex_t mu = PTHREAD_MUTEX_INITIALIZER; + +void* child_fn ( void* arg ) +{ + unprot1 ++; + pthread_mutex_lock( &mu ); + prot ++; + pthread_mutex_unlock( &mu ); + unprot2 ++; + return NULL; +} + +int main ( void ) +{ + pthread_t child; + + if (pthread_create(&child, NULL, child_fn, NULL)) { + perror("pthread_create"); + exit(1); + } + + unprot1 ++; + pthread_mutex_lock( &mu ); + prot ++; + pthread_mutex_unlock( &mu ); + unprot2 ++; + + if (pthread_join(child, NULL)) { + perror("pthread join"); + exit(1); + } + + return 0; +} diff --git a/helgrind/tests/tc06_two_races.stderr.exp b/helgrind/tests/tc06_two_races.stderr.exp new file mode 100644 index 0000000..c49d364 --- /dev/null +++ b/helgrind/tests/tc06_two_races.stderr.exp @@ -0,0 +1,45 @@ + +Thread #x is the program's root thread + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc06_two_races.c:26) + +Possible data race during read of size 4 at 0x........ by thread #x + at 0x........: main (tc06_two_races.c:31) + This conflicts with a previous write of size 4 by thread #x + at 0x........: child_fn (tc06_two_races.c:14) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + Location 0x........ is 0 bytes inside global var "unprot1" + declared at tc06_two_races.c:9 + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: main (tc06_two_races.c:31) + This conflicts with a previous write of size 4 by thread #x + at 0x........: child_fn (tc06_two_races.c:14) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + Location 0x........ is 0 bytes inside global var "unprot1" + declared at tc06_two_races.c:9 + +Possible data race during read of size 4 at 0x........ by thread #x + at 0x........: main (tc06_two_races.c:35) + This conflicts with a previous write of size 4 by thread #x + at 0x........: child_fn (tc06_two_races.c:18) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + Location 0x........ is 0 bytes inside global var "unprot2" + declared at tc06_two_races.c:9 + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: main (tc06_two_races.c:35) + This conflicts with a previous write of size 4 by thread #x + at 0x........: child_fn (tc06_two_races.c:18) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + Location 0x........ is 0 bytes inside global var "unprot2" + declared at tc06_two_races.c:9 + +ERROR SUMMARY: 4 errors from 4 contexts (suppressed: 0 from 0) diff --git a/helgrind/tests/tc06_two_races.stdout.exp b/helgrind/tests/tc06_two_races.stdout.exp new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/helgrind/tests/tc06_two_races.stdout.exp diff --git a/helgrind/tests/tc06_two_races.vgtest b/helgrind/tests/tc06_two_races.vgtest new file mode 100644 index 0000000..28f9bdf --- /dev/null +++ b/helgrind/tests/tc06_two_races.vgtest @@ -0,0 +1,2 @@ +prog: tc06_two_races +vgopts: --read-var-info=yes diff --git a/helgrind/tests/tc07_hbl1.c b/helgrind/tests/tc07_hbl1.c new file mode 100644 index 0000000..12253aa --- /dev/null +++ b/helgrind/tests/tc07_hbl1.c @@ -0,0 +1,77 @@ + +#include <pthread.h> +#include <stdio.h> +#include <stdlib.h> + +/* Simple test program, no race. Parent and child both modify x and + use the hardware bus lock. */ + +#undef PLAT_x86_linux +#undef PLAT_amd64_linux +#undef PLAT_ppc32_linux +#undef PLAT_ppc64_linux +#undef PLAT_ppc32_aix5 +#undef PLAT_ppc64_aix5 + +#if !defined(_AIX) && defined(__i386__) +# define PLAT_x86_linux 1 +#elif !defined(_AIX) && defined(__x86_64__) +# define PLAT_amd64_linux 1 +#elif !defined(_AIX) && defined(__powerpc__) && !defined(__powerpc64__) +# define PLAT_ppc32_linux 1 +#elif !defined(_AIX) && defined(__powerpc__) && defined(__powerpc64__) +# define PLAT_ppc64_linux 1 +#elif defined(_AIX) && defined(__64BIT__) +# define PLAT_ppc64_aix5 1 +#elif defined(_AIX) && !defined(__64BIT__) +# define PLAT_ppc32_aix5 1 +#endif + +#if defined(PLAT_amd64_linux) || defined(PLAT_x86_linux) +# define INC(_lval,_lqual) \ + __asm__ __volatile__ ( \ + "lock ; incl (%0)" : /*out*/ : /*in*/"r"(&(_lval)) : "memory", "cc" ) +#elif defined(PLAT_ppc32_linux) || defined(PLAT_ppc64_linux) \ + || defined(PLAT_ppc32_aix5) || defined(PLAT_ppc64_aix5) +# define INC(_lval,_lqual) \ + __asm__ __volatile__( \ + "L1xyzzy1" _lqual ":\n" \ + " lwarx 15,0,%0\n" \ + " addi 15,15,1\n" \ + " stwcx. 15,0,%0\n" \ + " bne- L1xyzzy1" _lqual \ + : /*out*/ : /*in*/ "b"(&(_lval)) \ + : /*trash*/ "r15", "cr0", "memory" \ + ) +#else +# error "Fix Me for this platform" +#endif + + +int x = 0; + +void* child_fn ( void* arg ) +{ + INC(x, "childfn"); + return NULL; +} + +int main ( void ) +{ + pthread_t child; + + if (pthread_create(&child, NULL, child_fn, NULL)) { + perror("pthread_create"); + exit(1); + } + + INC(x, "main"); + + if (pthread_join(child, NULL)) { + perror("pthread join"); + exit(1); + } + + printf("x = %d\n", x); + return 0; +} diff --git a/helgrind/tests/tc07_hbl1.stderr.exp b/helgrind/tests/tc07_hbl1.stderr.exp new file mode 100644 index 0000000..d18786f --- /dev/null +++ b/helgrind/tests/tc07_hbl1.stderr.exp @@ -0,0 +1,3 @@ + + +ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) diff --git a/helgrind/tests/tc07_hbl1.stdout.exp b/helgrind/tests/tc07_hbl1.stdout.exp new file mode 100644 index 0000000..407de30 --- /dev/null +++ b/helgrind/tests/tc07_hbl1.stdout.exp @@ -0,0 +1 @@ +x = 2 diff --git a/helgrind/tests/tc07_hbl1.vgtest b/helgrind/tests/tc07_hbl1.vgtest new file mode 100644 index 0000000..71c463f --- /dev/null +++ b/helgrind/tests/tc07_hbl1.vgtest @@ -0,0 +1 @@ +prog: tc07_hbl1 diff --git a/helgrind/tests/tc08_hbl2.c b/helgrind/tests/tc08_hbl2.c new file mode 100644 index 0000000..d67435a --- /dev/null +++ b/helgrind/tests/tc08_hbl2.c @@ -0,0 +1,117 @@ + +/* FIXME: this is basically a bad test as it is scheduling- + sensitive. Sometimes the output is: + + child: new value 6 + child: new value 10 + done, x = 10 + + and sometimes + + child: new value 10 + done, x = 10 +*/ + +#include <pthread.h> +#include <stdio.h> +#include <stdlib.h> +#include <unistd.h> + +/* Simple test program, no race. Parent writes atomically to a counter + whilst child reads it. When counter reaches a prearranged value, + child joins back to parent. Parent (writer) uses hardware bus lock; + child is only reading and so does not need to use a bus lock. */ + + +#undef PLAT_x86_linux +#undef PLAT_amd64_linux +#undef PLAT_ppc32_linux +#undef PLAT_ppc64_linux +#undef PLAT_ppc32_aix5 +#undef PLAT_ppc64_aix5 + +#if !defined(_AIX) && defined(__i386__) +# define PLAT_x86_linux 1 +#elif !defined(_AIX) && defined(__x86_64__) +# define PLAT_amd64_linux 1 +#elif !defined(_AIX) && defined(__powerpc__) && !defined(__powerpc64__) +# define PLAT_ppc32_linux 1 +#elif !defined(_AIX) && defined(__powerpc__) && defined(__powerpc64__) +# define PLAT_ppc64_linux 1 +#elif defined(_AIX) && defined(__64BIT__) +# define PLAT_ppc64_aix5 1 +#elif defined(_AIX) && !defined(__64BIT__) +# define PLAT_ppc32_aix5 1 +#endif + +#if defined(PLAT_amd64_linux) || defined(PLAT_x86_linux) +# define INC(_lval,_lqual) \ + __asm__ __volatile__ ( \ + "lock ; incl (%0)" : /*out*/ : /*in*/"r"(&(_lval)) : "memory", "cc" ) +#elif defined(PLAT_ppc32_linux) || defined(PLAT_ppc64_linux) \ + || defined(PLAT_ppc32_aix5) || defined(PLAT_ppc64_aix5) +# define INC(_lval,_lqual) \ + __asm__ __volatile__( \ + "L1xyzzy1" _lqual ":\n" \ + " lwarx 15,0,%0\n" \ + " addi 15,15,1\n" \ + " stwcx. 15,0,%0\n" \ + " bne- L1xyzzy1" _lqual \ + : /*out*/ : /*in*/ "b"(&(_lval)) \ + : /*trash*/ "r15", "cr0", "memory" \ + ) +#else +# error "Fix Me for this platform" +#endif + + + +#define LIMIT 10 + +volatile int x = 0; + +void* child_fn ( void* arg ) +{ + int q = 0; + int oldx = 0; + int ctr = 0; + while (1) { + q = (x >= LIMIT); + if (x != oldx) { + oldx = x; + printf("child: new value %d\n", oldx); + fflush(stdout); + } + if (q) break; + /* Make sure the parent doesn't starve. Seems to be a problem + on very slow machines. */ + ctr++; + if (ctr == 2000000) sleep(1); + } + return NULL; +} + +int main ( void ) +{ + pthread_t child; + int i; + + if (pthread_create(&child, NULL, child_fn, NULL)) { + perror("pthread_create"); + exit(1); + } + + for (i = 0; i < LIMIT; i++) { + INC(x, "main"); + if (i == 5) sleep(1); /* make sure child doesn't starve */ + } + + if (pthread_join(child, NULL)) { + perror("pthread join"); + exit(1); + } + + printf("done, x = %d\n", x); + + return 0; +} diff --git a/helgrind/tests/tc08_hbl2.stderr.exp b/helgrind/tests/tc08_hbl2.stderr.exp new file mode 100644 index 0000000..d18786f --- /dev/null +++ b/helgrind/tests/tc08_hbl2.stderr.exp @@ -0,0 +1,3 @@ + + +ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) diff --git a/helgrind/tests/tc08_hbl2.stdout.exp b/helgrind/tests/tc08_hbl2.stdout.exp new file mode 100644 index 0000000..ce39ad5 --- /dev/null +++ b/helgrind/tests/tc08_hbl2.stdout.exp @@ -0,0 +1,3 @@ +child: new value 6 +child: new value 10 +done, x = 10 diff --git a/helgrind/tests/tc08_hbl2.vgtest b/helgrind/tests/tc08_hbl2.vgtest new file mode 100644 index 0000000..6d0a2cb --- /dev/null +++ b/helgrind/tests/tc08_hbl2.vgtest @@ -0,0 +1 @@ +prog: tc08_hbl2 diff --git a/helgrind/tests/tc09_bad_unlock.c b/helgrind/tests/tc09_bad_unlock.c new file mode 100644 index 0000000..238ce9b --- /dev/null +++ b/helgrind/tests/tc09_bad_unlock.c @@ -0,0 +1,52 @@ + +/* Check that an error is reported for various kinds of bogus + pthread_mutex_unlock calls. */ + +#include <pthread.h> +#include <stdio.h> +#include <stdlib.h> + +void* child_fn ( void* arg ) +{ + pthread_mutex_unlock( (pthread_mutex_t*)arg ); /* ERROR */ + return NULL; +} + +void nearly_main ( void ) +{ + pthread_t child; + pthread_mutex_t mx1, mx2; + int bogus[100], i; + /* fill bogus with values which will cause glibc's pth_mx_unlock to fail */ + for (i = 0; i < 100; i++) bogus[i] = 0xFFFFFFFF; + /* Unlocking a lock that is already unlocked */ + pthread_mutex_init( &mx1, NULL ); + pthread_mutex_lock( &mx1 ); + pthread_mutex_unlock( &mx1 ); + + pthread_mutex_unlock( &mx1 ); /* ERROR */ + + /* Unlocking a lock that is held by a different thread */ + + pthread_mutex_init( &mx2, NULL ); + pthread_mutex_lock( &mx2 ); + // start child and get it to unlock this lock + + pthread_create( &child, NULL, child_fn, (void*)&mx2 ); + /* child runs and attempts to unlock our lock. Error + is reported in child_fn. */ + pthread_join(child, NULL ); + + /* Unlocking a totally bogus lock. */ + pthread_mutex_unlock( (pthread_mutex_t*) &bogus[50] ); /* ERROR */ + + /* Now we get a freeing-locked-lock error, since the stack + frame is removed whilst mx2 is still locked. */ +} + +int main ( void ) +{ + nearly_main(); fprintf(stderr, "---------------------\n" ); + nearly_main(); + return 0; +} diff --git a/helgrind/tests/tc09_bad_unlock.stderr.exp-glibc23-amd64 b/helgrind/tests/tc09_bad_unlock.stderr.exp-glibc23-amd64 new file mode 100644 index 0000000..d78d98a --- /dev/null +++ b/helgrind/tests/tc09_bad_unlock.stderr.exp-glibc23-amd64 @@ -0,0 +1,80 @@ + +Thread #x is the program's root thread + +Thread #x unlocked a not-locked lock at 0x........ + at 0x........: pthread_mutex_unlock (hg_intercepts.c:...) + by 0x........: nearly_main (tc09_bad_unlock.c:27) + by 0x........: main (tc09_bad_unlock.c:49) + Lock at 0x........ was first observed + at 0x........: pthread_mutex_init (hg_intercepts.c:...) + by 0x........: nearly_main (tc09_bad_unlock.c:23) + by 0x........: main (tc09_bad_unlock.c:49) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: nearly_main (tc09_bad_unlock.c:35) + by 0x........: main (tc09_bad_unlock.c:49) + +Thread #x unlocked lock at 0x........ currently held by thread #x + at 0x........: pthread_mutex_unlock (hg_intercepts.c:...) + by 0x........: child_fn (tc09_bad_unlock.c:11) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + Lock at 0x........ was first observed + at 0x........: pthread_mutex_init (hg_intercepts.c:...) + by 0x........: nearly_main (tc09_bad_unlock.c:31) + by 0x........: main (tc09_bad_unlock.c:49) + +Thread #x unlocked an invalid lock at 0x........ + at 0x........: pthread_mutex_unlock (hg_intercepts.c:...) + by 0x........: nearly_main (tc09_bad_unlock.c:41) + by 0x........: main (tc09_bad_unlock.c:49) + +Thread #x deallocated location 0x........ containing a locked lock + at 0x........: nearly_main (tc09_bad_unlock.c:45) + by 0x........: main (tc09_bad_unlock.c:49) + Lock at 0x........ was first observed + at 0x........: pthread_mutex_init (hg_intercepts.c:...) + by 0x........: nearly_main (tc09_bad_unlock.c:31) + by 0x........: main (tc09_bad_unlock.c:49) + +Thread #x unlocked a not-locked lock at 0x........ + at 0x........: pthread_mutex_unlock (hg_intercepts.c:...) + by 0x........: nearly_main (tc09_bad_unlock.c:27) + by 0x........: main (tc09_bad_unlock.c:50) + Lock at 0x........ was first observed + at 0x........: pthread_mutex_init (hg_intercepts.c:...) + by 0x........: nearly_main (tc09_bad_unlock.c:23) + by 0x........: main (tc09_bad_unlock.c:50) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: nearly_main (tc09_bad_unlock.c:35) + by 0x........: main (tc09_bad_unlock.c:50) + +Thread #x unlocked lock at 0x........ currently held by thread #x + at 0x........: pthread_mutex_unlock (hg_intercepts.c:...) + by 0x........: child_fn (tc09_bad_unlock.c:11) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + Lock at 0x........ was first observed + at 0x........: pthread_mutex_init (hg_intercepts.c:...) + by 0x........: nearly_main (tc09_bad_unlock.c:31) + by 0x........: main (tc09_bad_unlock.c:50) + +Thread #x unlocked an invalid lock at 0x........ + at 0x........: pthread_mutex_unlock (hg_intercepts.c:...) + by 0x........: nearly_main (tc09_bad_unlock.c:41) + by 0x........: main (tc09_bad_unlock.c:50) + +Thread #x deallocated location 0x........ containing a locked lock + at 0x........: nearly_main (tc09_bad_unlock.c:45) + by 0x........: main (tc09_bad_unlock.c:50) + Lock at 0x........ was first observed + at 0x........: pthread_mutex_init (hg_intercepts.c:...) + by 0x........: nearly_main (tc09_bad_unlock.c:31) + by 0x........: main (tc09_bad_unlock.c:50) + +ERROR SUMMARY: 8 errors from 8 contexts (suppressed: 0 from 0) diff --git a/helgrind/tests/tc09_bad_unlock.stderr.exp-glibc25-amd64 b/helgrind/tests/tc09_bad_unlock.stderr.exp-glibc25-amd64 new file mode 100644 index 0000000..51ff990 --- /dev/null +++ b/helgrind/tests/tc09_bad_unlock.stderr.exp-glibc25-amd64 @@ -0,0 +1,90 @@ + +Thread #x is the program's root thread + +Thread #x unlocked a not-locked lock at 0x........ + at 0x........: pthread_mutex_unlock (hg_intercepts.c:...) + by 0x........: nearly_main (tc09_bad_unlock.c:27) + by 0x........: main (tc09_bad_unlock.c:49) + Lock at 0x........ was first observed + at 0x........: pthread_mutex_init (hg_intercepts.c:...) + by 0x........: nearly_main (tc09_bad_unlock.c:23) + by 0x........: main (tc09_bad_unlock.c:49) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: nearly_main (tc09_bad_unlock.c:35) + by 0x........: main (tc09_bad_unlock.c:49) + +Thread #x unlocked lock at 0x........ currently held by thread #x + at 0x........: pthread_mutex_unlock (hg_intercepts.c:...) + by 0x........: child_fn (tc09_bad_unlock.c:11) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + Lock at 0x........ was first observed + at 0x........: pthread_mutex_init (hg_intercepts.c:...) + by 0x........: nearly_main (tc09_bad_unlock.c:31) + by 0x........: main (tc09_bad_unlock.c:49) + +Thread #x unlocked an invalid lock at 0x........ + at 0x........: pthread_mutex_unlock (hg_intercepts.c:...) + by 0x........: nearly_main (tc09_bad_unlock.c:41) + by 0x........: main (tc09_bad_unlock.c:49) + +Thread #x's call to pthread_mutex_unlock failed + with error code 22 (EINVAL: Invalid argument) + at 0x........: pthread_mutex_unlock (hg_intercepts.c:...) + by 0x........: nearly_main (tc09_bad_unlock.c:41) + by 0x........: main (tc09_bad_unlock.c:49) +--------------------- + +Thread #x unlocked a not-locked lock at 0x........ + at 0x........: pthread_mutex_unlock (hg_intercepts.c:...) + by 0x........: nearly_main (tc09_bad_unlock.c:27) + by 0x........: main (tc09_bad_unlock.c:50) + Lock at 0x........ was first observed + at 0x........: pthread_mutex_init (hg_intercepts.c:...) + by 0x........: nearly_main (tc09_bad_unlock.c:23) + by 0x........: main (tc09_bad_unlock.c:49) + +Thread #x: Attempt to re-lock a non-recursive lock I already hold + at 0x........: pthread_mutex_lock (hg_intercepts.c:...) + by 0x........: nearly_main (tc09_bad_unlock.c:32) + by 0x........: main (tc09_bad_unlock.c:50) + +Thread #x: Bug in libpthread: recursive write lock granted on mutex/wrlock which does not support recursion + at 0x........: pthread_mutex_lock (hg_intercepts.c:...) + by 0x........: nearly_main (tc09_bad_unlock.c:32) + by 0x........: main (tc09_bad_unlock.c:50) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: nearly_main (tc09_bad_unlock.c:35) + by 0x........: main (tc09_bad_unlock.c:50) + +Thread #x unlocked lock at 0x........ currently held by thread #x + at 0x........: pthread_mutex_unlock (hg_intercepts.c:...) + by 0x........: child_fn (tc09_bad_unlock.c:11) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + Lock at 0x........ was first observed + at 0x........: pthread_mutex_init (hg_intercepts.c:...) + by 0x........: nearly_main (tc09_bad_unlock.c:31) + by 0x........: main (tc09_bad_unlock.c:49) + +Thread #x unlocked an invalid lock at 0x........ + at 0x........: pthread_mutex_unlock (hg_intercepts.c:...) + by 0x........: nearly_main (tc09_bad_unlock.c:41) + by 0x........: main (tc09_bad_unlock.c:50) + +Thread #x's call to pthread_mutex_unlock failed + with error code 22 (EINVAL: Invalid argument) + at 0x........: pthread_mutex_unlock (hg_intercepts.c:...) + by 0x........: nearly_main (tc09_bad_unlock.c:41) + by 0x........: main (tc09_bad_unlock.c:50) + +Thread #x: Exiting thread still holds 1 lock + ... + +ERROR SUMMARY: 11 errors from 11 contexts (suppressed: 0 from 0) diff --git a/helgrind/tests/tc09_bad_unlock.stderr.exp-glibc25-x86 b/helgrind/tests/tc09_bad_unlock.stderr.exp-glibc25-x86 new file mode 100644 index 0000000..1e53aa6 --- /dev/null +++ b/helgrind/tests/tc09_bad_unlock.stderr.exp-glibc25-x86 @@ -0,0 +1,92 @@ + +Thread #x is the program's root thread + +Thread #x unlocked a not-locked lock at 0x........ + at 0x........: pthread_mutex_unlock (hg_intercepts.c:...) + by 0x........: nearly_main (tc09_bad_unlock.c:27) + by 0x........: main (tc09_bad_unlock.c:49) + Lock at 0x........ was first observed + at 0x........: pthread_mutex_init (hg_intercepts.c:...) + by 0x........: nearly_main (tc09_bad_unlock.c:23) + by 0x........: main (tc09_bad_unlock.c:49) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: nearly_main (tc09_bad_unlock.c:35) + by 0x........: main (tc09_bad_unlock.c:49) + +Thread #x unlocked lock at 0x........ currently held by thread #x + at 0x........: pthread_mutex_unlock (hg_intercepts.c:...) + by 0x........: child_fn (tc09_bad_unlock.c:11) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + Lock at 0x........ was first observed + at 0x........: pthread_mutex_init (hg_intercepts.c:...) + by 0x........: nearly_main (tc09_bad_unlock.c:31) + by 0x........: main (tc09_bad_unlock.c:49) + +Thread #x unlocked an invalid lock at 0x........ + at 0x........: pthread_mutex_unlock (hg_intercepts.c:...) + by 0x........: nearly_main (tc09_bad_unlock.c:41) + by 0x........: main (tc09_bad_unlock.c:49) + +Thread #x's call to pthread_mutex_unlock failed + with error code 22 (EINVAL: Invalid argument) + at 0x........: pthread_mutex_unlock (hg_intercepts.c:...) + by 0x........: nearly_main (tc09_bad_unlock.c:41) + by 0x........: main (tc09_bad_unlock.c:49) + +Thread #x deallocated location 0x........ containing a locked lock + at 0x........: nearly_main (tc09_bad_unlock.c:45) + by 0x........: main (tc09_bad_unlock.c:49) + Lock at 0x........ was first observed + at 0x........: pthread_mutex_init (hg_intercepts.c:...) + by 0x........: nearly_main (tc09_bad_unlock.c:31) + by 0x........: main (tc09_bad_unlock.c:49) + +Thread #x unlocked a not-locked lock at 0x........ + at 0x........: pthread_mutex_unlock (hg_intercepts.c:...) + by 0x........: nearly_main (tc09_bad_unlock.c:27) + by 0x........: main (tc09_bad_unlock.c:50) + Lock at 0x........ was first observed + at 0x........: pthread_mutex_init (hg_intercepts.c:...) + by 0x........: nearly_main (tc09_bad_unlock.c:23) + by 0x........: main (tc09_bad_unlock.c:50) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: nearly_main (tc09_bad_unlock.c:35) + by 0x........: main (tc09_bad_unlock.c:50) + +Thread #x unlocked lock at 0x........ currently held by thread #x + at 0x........: pthread_mutex_unlock (hg_intercepts.c:...) + by 0x........: child_fn (tc09_bad_unlock.c:11) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + Lock at 0x........ was first observed + at 0x........: pthread_mutex_init (hg_intercepts.c:...) + by 0x........: nearly_main (tc09_bad_unlock.c:31) + by 0x........: main (tc09_bad_unlock.c:50) + +Thread #x unlocked an invalid lock at 0x........ + at 0x........: pthread_mutex_unlock (hg_intercepts.c:...) + by 0x........: nearly_main (tc09_bad_unlock.c:41) + by 0x........: main (tc09_bad_unlock.c:50) + +Thread #x's call to pthread_mutex_unlock failed + with error code 22 (EINVAL: Invalid argument) + at 0x........: pthread_mutex_unlock (hg_intercepts.c:...) + by 0x........: nearly_main (tc09_bad_unlock.c:41) + by 0x........: main (tc09_bad_unlock.c:50) + +Thread #x deallocated location 0x........ containing a locked lock + at 0x........: nearly_main (tc09_bad_unlock.c:45) + by 0x........: main (tc09_bad_unlock.c:50) + Lock at 0x........ was first observed + at 0x........: pthread_mutex_init (hg_intercepts.c:...) + by 0x........: nearly_main (tc09_bad_unlock.c:31) + by 0x........: main (tc09_bad_unlock.c:50) + +ERROR SUMMARY: 10 errors from 10 contexts (suppressed: 0 from 0) diff --git a/helgrind/tests/tc09_bad_unlock.stdout.exp b/helgrind/tests/tc09_bad_unlock.stdout.exp new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/helgrind/tests/tc09_bad_unlock.stdout.exp diff --git a/helgrind/tests/tc09_bad_unlock.vgtest b/helgrind/tests/tc09_bad_unlock.vgtest new file mode 100644 index 0000000..d09a702 --- /dev/null +++ b/helgrind/tests/tc09_bad_unlock.vgtest @@ -0,0 +1 @@ +prog: tc09_bad_unlock diff --git a/helgrind/tests/tc10_rec_lock.c b/helgrind/tests/tc10_rec_lock.c new file mode 100644 index 0000000..648305c --- /dev/null +++ b/helgrind/tests/tc10_rec_lock.c @@ -0,0 +1,49 @@ + +/* Do simple things with a recursive mutex. */ + +/* Needed for older glibcs (2.3 and older, at least) who don't + otherwise "know" about pthread_rwlock_anything or about + PTHREAD_MUTEX_RECURSIVE (amongst things). */ +#define _GNU_SOURCE 1 + +#include <stdio.h> +#include <stdlib.h> +#include <assert.h> +#include <pthread.h> + +void nearly_main ( void ) +{ + pthread_mutex_t mx1; + pthread_mutexattr_t attr; + int r; + + r = pthread_mutexattr_init( &attr ); + assert(r==0); + r = pthread_mutexattr_settype( &attr, PTHREAD_MUTEX_RECURSIVE ); + assert(r==0); + r = pthread_mutex_init( &mx1, &attr ); + assert(r==0); + + fprintf(stderr, "before lock #1\n"); + r = pthread_mutex_lock( &mx1 ); assert(r == 0); + fprintf(stderr, "before lock #2\n"); + r = pthread_mutex_lock( &mx1 ); assert(r == 0); + fprintf(stderr, "before lock #3\n"); + r = pthread_mutex_lock( &mx1 ); assert(r == 0); + + fprintf(stderr, "before unlock #1\n"); + r = pthread_mutex_unlock( &mx1 ); assert(r == 0); + fprintf(stderr, "before unlock #2\n"); + r = pthread_mutex_unlock( &mx1 ); assert(r == 0); + fprintf(stderr, "before unlock #3\n"); + r = pthread_mutex_unlock( &mx1 ); assert(r == 0); + + fprintf(stderr, "before unlock #4\n"); + r = pthread_mutex_unlock( &mx1 ); /* FAILS: assert(r == 0); */ +} + +int main ( void ) +{ + nearly_main(); + return 0; +} diff --git a/helgrind/tests/tc10_rec_lock.stderr.exp b/helgrind/tests/tc10_rec_lock.stderr.exp new file mode 100644 index 0000000..7e65ba7 --- /dev/null +++ b/helgrind/tests/tc10_rec_lock.stderr.exp @@ -0,0 +1,26 @@ + +before lock #1 +before lock #2 +before lock #3 +before unlock #1 +before unlock #2 +before unlock #3 +before unlock #4 +Thread #x is the program's root thread + +Thread #x unlocked a not-locked lock at 0x........ + at 0x........: pthread_mutex_unlock (hg_intercepts.c:...) + by 0x........: nearly_main (tc10_rec_lock.c:42) + by 0x........: main (tc10_rec_lock.c:47) + Lock at 0x........ was first observed + at 0x........: pthread_mutex_init (hg_intercepts.c:...) + by 0x........: nearly_main (tc10_rec_lock.c:24) + by 0x........: main (tc10_rec_lock.c:47) + +Thread #x's call to pthread_mutex_unlock failed + with error code 1 (EPERM: Operation not permitted) + at 0x........: pthread_mutex_unlock (hg_intercepts.c:...) + by 0x........: nearly_main (tc10_rec_lock.c:42) + by 0x........: main (tc10_rec_lock.c:47) + +ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 0 from 0) diff --git a/helgrind/tests/tc10_rec_lock.stdout.exp b/helgrind/tests/tc10_rec_lock.stdout.exp new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/helgrind/tests/tc10_rec_lock.stdout.exp diff --git a/helgrind/tests/tc10_rec_lock.vgtest b/helgrind/tests/tc10_rec_lock.vgtest new file mode 100644 index 0000000..bfd0f89 --- /dev/null +++ b/helgrind/tests/tc10_rec_lock.vgtest @@ -0,0 +1 @@ +prog: tc10_rec_lock diff --git a/helgrind/tests/tc11_XCHG.c b/helgrind/tests/tc11_XCHG.c new file mode 100644 index 0000000..22c6baf --- /dev/null +++ b/helgrind/tests/tc11_XCHG.c @@ -0,0 +1,112 @@ + +#include "config.h" +#include <pthread.h> +#include <stdio.h> +#include <stdlib.h> +#include <assert.h> + +/* Simple test program, no race. Parent and child both modify x and + use the hardware bus lock (implicitly, since XCHG r,m on x86/amd64 + does not require an explicit LOCK prefix.). */ + +#undef PLAT_x86_linux +#undef PLAT_amd64_linux +#undef PLAT_ppc32_linux +#undef PLAT_ppc64_linux +#undef PLAT_ppc32_aix5 +#undef PLAT_ppc64_aix5 + +#if !defined(_AIX) && defined(__i386__) +# define PLAT_x86_linux 1 +#elif !defined(_AIX) && defined(__x86_64__) +# define PLAT_amd64_linux 1 +#elif !defined(_AIX) && defined(__powerpc__) && !defined(__powerpc64__) +# define PLAT_ppc32_linux 1 +#elif !defined(_AIX) && defined(__powerpc__) && defined(__powerpc64__) +# define PLAT_ppc64_linux 1 +#elif defined(_AIX) && defined(__64BIT__) +# define PLAT_ppc64_aix5 1 +#elif defined(_AIX) && !defined(__64BIT__) +# define PLAT_ppc32_aix5 1 +#endif + + +#if defined(PLAT_amd64_linux) || defined(PLAT_x86_linux) +# define XCHG_M_R(_addr,_lval) \ + __asm__ __volatile__( \ + "xchgl %0, %1" \ + : /*out*/ "+r"(_lval) \ + : /*in*/ "m"(_addr) \ + : "memory", "cc" \ + ) +# define XCHG_M_R_with_redundant_LOCK(_addr,_lval) \ + __asm__ __volatile__( \ + "lock xchgl %0, %1" \ + : /*out*/ "+r"(_lval) \ + : /*in*/ "m"(_addr) \ + : "memory", "cc" \ + ) + +#elif defined(PLAT_ppc32_linux) || defined(PLAT_ppc64_linux) \ + || defined(PLAT_ppc32_aix5) || defined(PLAT_ppc64_aix5) +# if defined(HAVE_BUILTIN_ATOMIC) +# define XCHG_M_R(_addr,_lval) \ + do { \ + int tmp; \ + while ((tmp = *(int*)(& _addr)), \ + ! __sync_bool_compare_and_swap((int*)&_addr, tmp, _lval)) \ + ; \ + _lval = tmp; \ + } while (0) +# else +# warning "XCHG_M_R() implementation is missing. Either" \ + "provide one or use a newer gcc version." +# define XCHG_M_R(_addr,_lval) \ + do { int tmp = *(int*)(& _addr); \ + *(int*)(& _addr) = (_lval); \ + _lval = tmp; \ + } while (0) +# endif +# define XCHG_M_R_with_redundant_LOCK(_addr,_lval) \ + XCHG_M_R(_addr,_lval) + +#else +# error "Unsupported architecture" + +#endif + +int x = 0; + +void* child_fn ( void* arg ) +{ + int v = 12345; + XCHG_M_R_with_redundant_LOCK(x, v); + assert(v == 0 || v == 6789); + return NULL; +} + +int main ( void ) +{ + int v = 6789; + pthread_t child; + + if (pthread_create(&child, NULL, child_fn, NULL)) { + perror("pthread_create"); + exit(1); + } + + XCHG_M_R(x, v); + assert(v == 0 || v == 12345); + + if (pthread_join(child, NULL)) { + perror("pthread join"); + exit(1); + } + + if (v == 0 || v == 12345) + printf("success\n"); + else + printf("failure\n"); + + return v; +} diff --git a/helgrind/tests/tc11_XCHG.stderr.exp b/helgrind/tests/tc11_XCHG.stderr.exp new file mode 100644 index 0000000..d18786f --- /dev/null +++ b/helgrind/tests/tc11_XCHG.stderr.exp @@ -0,0 +1,3 @@ + + +ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) diff --git a/helgrind/tests/tc11_XCHG.stdout.exp b/helgrind/tests/tc11_XCHG.stdout.exp new file mode 100644 index 0000000..2e9ba47 --- /dev/null +++ b/helgrind/tests/tc11_XCHG.stdout.exp @@ -0,0 +1 @@ +success diff --git a/helgrind/tests/tc11_XCHG.vgtest b/helgrind/tests/tc11_XCHG.vgtest new file mode 100644 index 0000000..342199b --- /dev/null +++ b/helgrind/tests/tc11_XCHG.vgtest @@ -0,0 +1 @@ +prog: tc11_XCHG diff --git a/helgrind/tests/tc12_rwl_trivial.c b/helgrind/tests/tc12_rwl_trivial.c new file mode 100644 index 0000000..9dc8e84 --- /dev/null +++ b/helgrind/tests/tc12_rwl_trivial.c @@ -0,0 +1,34 @@ + +/* Needed for older glibcs (2.3 and older, at least) who don't + otherwise "know" about pthread_rwlock_anything or about + PTHREAD_MUTEX_RECURSIVE (amongst things). */ +#define _GNU_SOURCE 1 + +#include <stdio.h> +#include <pthread.h> +#include <assert.h> + +/* Do trivial stuff with a reader-writer lock. */ + +int main ( void ) +{ + int r; + pthread_rwlock_t rwl; + + r = pthread_rwlock_init( &rwl, NULL ); assert(r == 0); + + r = pthread_rwlock_wrlock( &rwl ); assert(r == 0); + r = pthread_rwlock_unlock( &rwl ); assert(r == 0); + + r = pthread_rwlock_rdlock( &rwl ); assert(r == 0); + r = pthread_rwlock_rdlock( &rwl ); assert(r == 0); + r = pthread_rwlock_unlock( &rwl ); assert(r == 0); + r = pthread_rwlock_unlock( &rwl ); assert(r == 0); + + /* this should fail - lock is unowned now */ + r = pthread_rwlock_unlock( &rwl ); assert(r == 0); + + r = pthread_rwlock_destroy( &rwl ); assert(r == 0); + + return 0; +} diff --git a/helgrind/tests/tc12_rwl_trivial.stderr.exp b/helgrind/tests/tc12_rwl_trivial.stderr.exp new file mode 100644 index 0000000..5d4f383 --- /dev/null +++ b/helgrind/tests/tc12_rwl_trivial.stderr.exp @@ -0,0 +1,11 @@ + +Thread #x is the program's root thread + +Thread #x unlocked a not-locked lock at 0x........ + at 0x........: pthread_rwlock_unlock (hg_intercepts.c:...) + by 0x........: main (tc12_rwl_trivial.c:29) + Lock at 0x........ was first observed + at 0x........: pthread_rwlock_init (hg_intercepts.c:...) + by 0x........: main (tc12_rwl_trivial.c:18) + +ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0) diff --git a/helgrind/tests/tc12_rwl_trivial.stdout.exp b/helgrind/tests/tc12_rwl_trivial.stdout.exp new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/helgrind/tests/tc12_rwl_trivial.stdout.exp diff --git a/helgrind/tests/tc12_rwl_trivial.vgtest b/helgrind/tests/tc12_rwl_trivial.vgtest new file mode 100644 index 0000000..fdcd644 --- /dev/null +++ b/helgrind/tests/tc12_rwl_trivial.vgtest @@ -0,0 +1 @@ +prog: tc12_rwl_trivial diff --git a/helgrind/tests/tc13_laog1.c b/helgrind/tests/tc13_laog1.c new file mode 100644 index 0000000..e42ca98 --- /dev/null +++ b/helgrind/tests/tc13_laog1.c @@ -0,0 +1,33 @@ + +#include <pthread.h> +#include <stdio.h> +#include <stdlib.h> +#include <assert.h> + +/* The simplest possible test that triggers a lock order acquisition + error. */ + +int main ( void ) +{ + int r; + pthread_mutex_t mx1, mx2; + r = pthread_mutex_init( &mx1, NULL ); assert(r==0); + r = pthread_mutex_init( &mx2, NULL ); assert(r==0); + + r = pthread_mutex_lock( &mx1 ); assert(r==0); + r = pthread_mutex_lock( &mx2 ); assert(r==0); + + r = pthread_mutex_unlock( &mx1 ); assert(r==0); + r = pthread_mutex_unlock( &mx2 ); assert(r==0); + + r = pthread_mutex_lock( &mx2 ); assert(r==0); /* error */ + r = pthread_mutex_lock( &mx1 ); assert(r==0); + + r = pthread_mutex_unlock( &mx1 ); assert(r==0); + r = pthread_mutex_unlock( &mx2 ); assert(r==0); + + r = pthread_mutex_destroy( &mx1 ); + r = pthread_mutex_destroy( &mx2 ); + + return 0; +} diff --git a/helgrind/tests/tc13_laog1.stderr.exp b/helgrind/tests/tc13_laog1.stderr.exp new file mode 100644 index 0000000..643aef9 --- /dev/null +++ b/helgrind/tests/tc13_laog1.stderr.exp @@ -0,0 +1,14 @@ + +Thread #x is the program's root thread + +Thread #x: lock order "0x........ before 0x........" violated + at 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........: pthread_mutex_lock (hg_intercepts.c:...) + by 0x........: main (tc13_laog1.c:17) + followed by a later acquisition of lock at 0x........ + at 0x........: pthread_mutex_lock (hg_intercepts.c:...) + by 0x........: main (tc13_laog1.c:18) + +ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0) diff --git a/helgrind/tests/tc13_laog1.stdout.exp b/helgrind/tests/tc13_laog1.stdout.exp new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/helgrind/tests/tc13_laog1.stdout.exp diff --git a/helgrind/tests/tc13_laog1.vgtest b/helgrind/tests/tc13_laog1.vgtest new file mode 100644 index 0000000..9fa71cd --- /dev/null +++ b/helgrind/tests/tc13_laog1.vgtest @@ -0,0 +1 @@ +prog: tc13_laog1 diff --git a/helgrind/tests/tc14_laog_dinphils.c b/helgrind/tests/tc14_laog_dinphils.c new file mode 100644 index 0000000..c5af8c1 --- /dev/null +++ b/helgrind/tests/tc14_laog_dinphils.c @@ -0,0 +1,42 @@ + +#include <pthread.h> +#include <stdlib.h> +#include <unistd.h> + +/* Naive dining philosophers with inconsistent lock acquisition + ordering. */ + +static pthread_t phil[5]; +static pthread_mutex_t chop[5]; + +void* dine ( void* arg ) +{ + int i; + long left = (long)arg; + long right = (left + 1) % 5; + for (i = 0; i < 1000/*arbitrary*/; i++) { + pthread_mutex_lock(&chop[left]); + pthread_mutex_lock(&chop[right]); + /* eating */ + pthread_mutex_unlock(&chop[left]); + pthread_mutex_unlock(&chop[right]); + } + return NULL; +} + +int main ( void ) +{ + long i; + for (i = 0; i < 5; i++) + pthread_mutex_init( &chop[i], NULL); + + for (i = 0; i < 5; i++) + pthread_create(&phil[i], NULL, dine, (void*)i ); + + sleep(1); + + for (i = 0; i < 5; i++) + pthread_join(phil[i], NULL); + + return 0; +} diff --git a/helgrind/tests/tc14_laog_dinphils.stderr.exp b/helgrind/tests/tc14_laog_dinphils.stderr.exp new file mode 100644 index 0000000..f2e710f --- /dev/null +++ b/helgrind/tests/tc14_laog_dinphils.stderr.exp @@ -0,0 +1,13 @@ + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc14_laog_dinphils.c:34) + +Thread #x: lock order "0x........ before 0x........" violated + at 0x........: pthread_mutex_lock (hg_intercepts.c:...) + by 0x........: dine (tc14_laog_dinphils.c:19) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +ERROR SUMMARY: 1000 errors from 1 contexts (suppressed: 0 from 0) diff --git a/helgrind/tests/tc14_laog_dinphils.stdout.exp b/helgrind/tests/tc14_laog_dinphils.stdout.exp new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/helgrind/tests/tc14_laog_dinphils.stdout.exp diff --git a/helgrind/tests/tc14_laog_dinphils.vgtest b/helgrind/tests/tc14_laog_dinphils.vgtest new file mode 100644 index 0000000..5871b73 --- /dev/null +++ b/helgrind/tests/tc14_laog_dinphils.vgtest @@ -0,0 +1 @@ +prog: tc14_laog_dinphils diff --git a/helgrind/tests/tc15_laog_lockdel.c b/helgrind/tests/tc15_laog_lockdel.c new file mode 100644 index 0000000..68668b1 --- /dev/null +++ b/helgrind/tests/tc15_laog_lockdel.c @@ -0,0 +1,77 @@ + +#include <pthread.h> +#include <stdio.h> +#include <stdlib.h> +#include <assert.h> + +/* Test that locks, having entered the lock acquisition tracking + machinery, are forgotten by it when the client does + pthread_{mutex,rwlock}_destroy. 2008-Nov-10: see comments below. */ + +int main ( void ) +{ + int r; + pthread_mutex_t *mx1, *mx2; + + mx1 = malloc(sizeof(pthread_mutex_t)); + mx2 = malloc(sizeof(pthread_mutex_t)); + + assert(mx1); + assert(mx2); + + r = pthread_mutex_init( mx1, NULL ); assert(r==0); + r = pthread_mutex_init( mx2, NULL ); assert(r==0); + + /* Establish order 1 -> 2 */ + fprintf(stderr, "Establish order 1 -> 2\n"); + r = pthread_mutex_lock( mx1 ); assert(r==0); + r = pthread_mutex_lock( mx2 ); assert(r==0); + + r = pthread_mutex_unlock( mx1 ); assert(r==0); + r = pthread_mutex_unlock( mx2 ); assert(r==0); + + /* Try order 2 -> 1. This gives an error. */ + fprintf(stderr, "Try order 2 -> 1. This gives an error.\n"); + r = pthread_mutex_lock( mx2 ); assert(r==0); /* error */ + r = pthread_mutex_lock( mx1 ); assert(r==0); + + r = pthread_mutex_unlock( mx1 ); assert(r==0); + r = pthread_mutex_unlock( mx2 ); assert(r==0); + + /* De-initialise 2 and re-initialise it. This gives it a new + identity, so a second locking sequence 2 -> 1 should now be OK. */ + fprintf(stderr, + "Free 2 and re-allocate it. This gives it a new identity,\n"); + fprintf(stderr, "so a second locking sequence 2 -> 1 should now be OK.\n"); + pthread_mutex_destroy( mx2 ); + + + + r = pthread_mutex_init( mx2, NULL ); assert(r==0); + + r = pthread_mutex_lock( mx2 ); assert(r==0); + r = pthread_mutex_lock( mx1 ); assert(r==0); /* no error */ + + r = pthread_mutex_unlock( mx1 ); assert(r==0); + r = pthread_mutex_unlock( mx2 ); assert(r==0); + + /* done */ + + fprintf(stderr, "done\n"); + r = pthread_mutex_destroy( mx1 ); + r = pthread_mutex_destroy( mx2 ); + + free( mx1 ); + free( mx2 ); + + return 0; +} + +/* 2008-Nov-10: I believe this test is flawed and requires further + investigation. I don't think it really tests what it claims to + test. In particular, it still gives the right results if + "pthread_mutex_destroy( mx2 );" at line 46 is commented out. In + other words, laog somehow forgets about mx2 so that 2->1 lock + sequence at lines 52/3 does not produce a complaint, EVEN WHEN the + preceding "pthread_mutex_destroy( mx2 );" is not observed. I don't + know why this is, but it seems highly suspicious to me. */ diff --git a/helgrind/tests/tc15_laog_lockdel.stderr.exp b/helgrind/tests/tc15_laog_lockdel.stderr.exp new file mode 100644 index 0000000..cf7fce9 --- /dev/null +++ b/helgrind/tests/tc15_laog_lockdel.stderr.exp @@ -0,0 +1,19 @@ + +Establish order 1 -> 2 +Try order 2 -> 1. This gives an error. +Thread #x is the program's root thread + +Thread #x: lock order "0x........ before 0x........" violated + at 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........: 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........: pthread_mutex_lock (hg_intercepts.c:...) + by 0x........: main (tc15_laog_lockdel.c:28) +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) diff --git a/helgrind/tests/tc15_laog_lockdel.stdout.exp b/helgrind/tests/tc15_laog_lockdel.stdout.exp new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/helgrind/tests/tc15_laog_lockdel.stdout.exp diff --git a/helgrind/tests/tc15_laog_lockdel.vgtest b/helgrind/tests/tc15_laog_lockdel.vgtest new file mode 100644 index 0000000..bd7a2ec --- /dev/null +++ b/helgrind/tests/tc15_laog_lockdel.vgtest @@ -0,0 +1 @@ +prog: tc15_laog_lockdel diff --git a/helgrind/tests/tc16_byterace.c b/helgrind/tests/tc16_byterace.c new file mode 100644 index 0000000..70a9101 --- /dev/null +++ b/helgrind/tests/tc16_byterace.c @@ -0,0 +1,42 @@ +#include <pthread.h> +#include <stdio.h> +#include <stdlib.h> + +/* Simple demonstration of lockset tracking at byte granularity. */ + +char bytes[10]; + +void* child_fn ( void* arg ) +{ + int i; + for (i = 0; i < 5; i++) + bytes[2*i + 0] ++; /* child accesses: 0 2 4 6 8 */ + return NULL; +} + +int main ( void ) +{ + int i; + pthread_t child; + + if (pthread_create(&child, NULL, child_fn, NULL)) { + perror("pthread_create"); + exit(1); + } + + /* Unprotected relative to child, but harmless, since different + bytes accessed */ + for (i = 0; i < 5; i++) + bytes[2*i + 1] ++; /* accesses: 1 3 5 7 9 */ + + /* Unprotected relative to child, but harmful; same bytes */ + for (i = 0; i < 3; i++) + bytes[3*i + 1] ++; /* accesses: 1 4(race!) 7 */ + + if (pthread_join(child, NULL)) { + perror("pthread join"); + exit(1); + } + + return 0; +} diff --git a/helgrind/tests/tc16_byterace.stderr.exp b/helgrind/tests/tc16_byterace.stderr.exp new file mode 100644 index 0000000..95d0011 --- /dev/null +++ b/helgrind/tests/tc16_byterace.stderr.exp @@ -0,0 +1,27 @@ + +Thread #x is the program's root thread + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc16_byterace.c:22) + +Possible data race during read of size 1 at 0x........ by thread #x + at 0x........: main (tc16_byterace.c:34) + This conflicts with a previous write of size 1 by thread #x + at 0x........: child_fn (tc16_byterace.c:13) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + Location 0x........ is 0 bytes inside bytes[4], + a global variable declared at tc16_byterace.c:7 + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: main (tc16_byterace.c:34) + This conflicts with a previous write of size 1 by thread #x + at 0x........: child_fn (tc16_byterace.c:13) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + Location 0x........ is 0 bytes inside bytes[4], + a global variable declared at tc16_byterace.c:7 + +ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 0 from 0) diff --git a/helgrind/tests/tc16_byterace.stdout.exp b/helgrind/tests/tc16_byterace.stdout.exp new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/helgrind/tests/tc16_byterace.stdout.exp diff --git a/helgrind/tests/tc16_byterace.vgtest b/helgrind/tests/tc16_byterace.vgtest new file mode 100644 index 0000000..0b424a4 --- /dev/null +++ b/helgrind/tests/tc16_byterace.vgtest @@ -0,0 +1,2 @@ +prog: tc16_byterace +vgopts: --read-var-info=yes diff --git a/helgrind/tests/tc17_sembar.c b/helgrind/tests/tc17_sembar.c new file mode 100644 index 0000000..cc91f5e --- /dev/null +++ b/helgrind/tests/tc17_sembar.c @@ -0,0 +1,213 @@ + +#include <stdio.h> +#include <stdlib.h> +#include <assert.h> +#include <pthread.h> +#include <semaphore.h> + +/* This is really a test of semaphore handling + (sem_{init,destroy,post,wait}). Using semaphores a barrier + function is created. Helgrind-3.3 (p.k.a Thrcheck) does understand + the barrier semantics implied by the barrier, as pieced together + from happens-before relationships obtained from the component + semaphores. However, it does falsely report one race. Ah well. + Helgrind-3.4 is pure h-b and so reports no races (yay!). */ + +/* This code is derived from + gcc-4.3-20071012/libgomp/config/posix/bar.c, which is + + Copyright (C) 2005 Free Software Foundation, Inc. + Contributed by Richard Henderson <rth@redhat.com>. + + and available under version 2.1 or later of the GNU Lesser General + Public License. + + Relative to the libgomp sources, the gomp_barrier_t type here has + an extra semaphore field, xxx. This is not functionally useful, + but it is used to create enough extra inter-thread dependencies + that the barrier-like behaviour of gomp_barrier_t is evident to + Thrcheck. There is no other purpose for the .xxx field. */ + +typedef struct +{ + pthread_mutex_t mutex1; + pthread_mutex_t mutex2; + sem_t sem1; + sem_t sem2; + unsigned total; + unsigned arrived; + sem_t xxx; +} gomp_barrier_t; + +typedef long bool; + +void +gomp_barrier_init (gomp_barrier_t *bar, unsigned count) +{ + pthread_mutex_init (&bar->mutex1, NULL); + pthread_mutex_init (&bar->mutex2, NULL); + sem_init (&bar->sem1, 0, 0); + sem_init (&bar->sem2, 0, 0); + sem_init (&bar->xxx, 0, 0); + bar->total = count; + bar->arrived = 0; +} + +void +gomp_barrier_destroy (gomp_barrier_t *bar) +{ + /* Before destroying, make sure all threads have left the barrier. */ + pthread_mutex_lock (&bar->mutex1); + pthread_mutex_unlock (&bar->mutex1); + + pthread_mutex_destroy (&bar->mutex1); + pthread_mutex_destroy (&bar->mutex2); + sem_destroy (&bar->sem1); + sem_destroy (&bar->sem2); + sem_destroy(&bar->xxx); +} + +void +gomp_barrier_reinit (gomp_barrier_t *bar, unsigned count) +{ + pthread_mutex_lock (&bar->mutex1); + bar->total = count; + pthread_mutex_unlock (&bar->mutex1); +} + +void +gomp_barrier_wait (gomp_barrier_t *bar) +{ + unsigned int n; + pthread_mutex_lock (&bar->mutex1); + + ++bar->arrived; + + if (bar->arrived == bar->total) + { + bar->arrived--; + n = bar->arrived; + if (n > 0) + { + { unsigned int i; + for (i = 0; i < n; i++) + sem_wait(&bar->xxx); // acquire an obvious dependency from + // all other threads arriving at the barrier + } + // 1 up n times, 2 down once + // now let all the other threads past the barrier, giving them + // an obvious dependency with this thread. + do + sem_post (&bar->sem1); // 1 up + while (--n != 0); + // and wait till the last thread has left + sem_wait (&bar->sem2); // 2 down + } + pthread_mutex_unlock (&bar->mutex1); + /* «Résultats professionnels!» First we made this thread have an + obvious (Thrcheck-visible) dependency on all other threads + calling gomp_barrier_wait. Then, we released them all again, + so they all have a (visible) dependency on this thread. + Transitively, the result is that all threads leaving the + barrier have a a Thrcheck-visible dependency on all threads + arriving at the barrier. As required. */ + } + else + { + pthread_mutex_unlock (&bar->mutex1); + sem_post(&bar->xxx); + // first N-1 threads wind up waiting here + sem_wait (&bar->sem1); // 1 down + + pthread_mutex_lock (&bar->mutex2); + n = --bar->arrived; /* XXX see below */ + pthread_mutex_unlock (&bar->mutex2); + + if (n == 0) + sem_post (&bar->sem2); // 2 up + } +} + + +/* re XXX, thrcheck reports a race at this point. It doesn't + understand that bar->arrived is protected by mutex1 whilst threads + are arriving at the barrier and by mutex2 whilst they are leaving, + but not consistently by either of them. Oh well. */ + +static gomp_barrier_t bar; + +/* What's with the volatile here? It stops gcc compiling + "if (myid == 4) { unprotected = 99; }" and + "if (myid == 3) { unprotected = 88; }" into a conditional + load followed by a store. The cmov/store sequence reads and + writes memory in all threads and cause Thrcheck to (correctly) + report a race, the underlying cause of which is that gcc is + generating non threadsafe code. + + (The lack of) thread safe code generation by gcc is currently a + hot topic. See the following discussions: + http://gcc.gnu.org/ml/gcc/2007-10/msg00266.html + http://lkml.org/lkml/2007/10/24/673 + and this is interesting background: + www.hpl.hp.com/techreports/2004/HPL-2004-209.pdf +*/ +static volatile long unprotected = 0; + +void* child ( void* argV ) +{ + long myid = (long)argV; + // assert(myid >= 2 && myid <= 5); + + /* First, we all wait to get to this point. */ + gomp_barrier_wait( &bar ); + + /* Now, thread #4 writes to 'unprotected' and so becomes its + owner. */ + if (myid == 4) { + unprotected = 99; + } + + /* Now we all wait again. */ + gomp_barrier_wait( &bar ); + + /* This time, thread #3 writes to 'unprotected'. If all goes well, + Thrcheck sees the dependency through the barrier back to thread + #4 before it, and so thread #3 becomes the exclusive owner of + 'unprotected'. */ + if (myid == 3) { + unprotected = 88; + } + + /* And just to be on the safe side ... */ + gomp_barrier_wait( &bar ); + return NULL; +} + + +int main (int argc, char *argv[]) +{ + long i; int res; + pthread_t thr[4]; + fprintf(stderr, "starting\n"); + + gomp_barrier_init( &bar, 4 ); + + for (i = 0; i < 4; i++) { + res = pthread_create( &thr[i], NULL, child, (void*)(i+2) ); + assert(!res); + } + + for (i = 0; i < 4; i++) { + res = pthread_join( thr[i], NULL ); + assert(!res); + } + + gomp_barrier_destroy( &bar ); + + /* And finally here, the root thread can get exclusive ownership + back from thread #4, because #4 has exited by this point and so + we have a dependency edge back to the write it did. */ + fprintf(stderr, "done, result is %ld, should be 88\n", unprotected); + + return 0; +} diff --git a/helgrind/tests/tc17_sembar.stderr.exp b/helgrind/tests/tc17_sembar.stderr.exp new file mode 100644 index 0000000..b3f318e --- /dev/null +++ b/helgrind/tests/tc17_sembar.stderr.exp @@ -0,0 +1,5 @@ + +starting +done, result is 88, should be 88 + +ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) diff --git a/helgrind/tests/tc17_sembar.stdout.exp b/helgrind/tests/tc17_sembar.stdout.exp new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/helgrind/tests/tc17_sembar.stdout.exp diff --git a/helgrind/tests/tc17_sembar.vgtest b/helgrind/tests/tc17_sembar.vgtest new file mode 100644 index 0000000..643ed8a --- /dev/null +++ b/helgrind/tests/tc17_sembar.vgtest @@ -0,0 +1 @@ +prog: tc17_sembar diff --git a/helgrind/tests/tc18_semabuse.c b/helgrind/tests/tc18_semabuse.c new file mode 100644 index 0000000..40c068b --- /dev/null +++ b/helgrind/tests/tc18_semabuse.c @@ -0,0 +1,57 @@ + +/* Do stupid things with semaphores, and check that Thrcheck doesn't + fall over and does report errors appropriately. If nothing else + this just checks that the relevant functions are getting + intercepted. */ + +/* This is pretty lame, because making the sem_ functions fail is + difficult. Not sure it's really worth having. */ +#include <unistd.h> +#include <stdio.h> +#include <stdlib.h> +#include <assert.h> +#include <pthread.h> +#include <semaphore.h> +#include <string.h> +void start_watchdog ( void ); +int main ( void ) +{ + int r; + sem_t s1; + start_watchdog(); + /* Do sem_init with huge initial count */ + r= sem_init(&s1, 0, ~0); + + /* initialise properly */ + r= sem_init(&s1, 0, 0); + + /* in glibc, sem_destroy is a no-op; making it fail is + impossible. */ + + /* Do 'wait' on a bogus semaphore. This should fail, but on glibc + it succeeds. */ + memset(&s1, 0x55, sizeof(s1)); + r= sem_wait(&s1); /* assert(r != 0); */ + + /* this only fails with glibc 2.7 and later. */ + r= sem_post(&s1); + + sem_destroy(&s1); + + return 0; +} + +void* watchdog ( void* v ) +{ + sleep(10); + fprintf(stderr, "watchdog timer expired - not a good sign\n"); + exit(0); +} + +void start_watchdog ( void ) +{ + pthread_t t; + int r; + r= pthread_create(&t, NULL, watchdog, NULL); + assert(!r); +} diff --git a/helgrind/tests/tc18_semabuse.stderr.exp-glibc25-amd64 b/helgrind/tests/tc18_semabuse.stderr.exp-glibc25-amd64 new file mode 100644 index 0000000..c2077ed --- /dev/null +++ b/helgrind/tests/tc18_semabuse.stderr.exp-glibc25-amd64 @@ -0,0 +1,14 @@ + +Thread #x is the program's root thread + +Thread #x's call to sem_init failed + with error code 22 (EINVAL: Invalid argument) + at 0x........: sem_init@* (hg_intercepts.c:...) + by 0x........: main (tc18_semabuse.c:23) + +Thread #x: Bug in libpthread: sem_wait succeeded on semaphore without prior sem_post + at 0x........: sem_wait_WRK (hg_intercepts.c:...) + by 0x........: sem_wait (hg_intercepts.c:...) + by 0x........: main (tc18_semabuse.c:34) + +ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 0 from 0) diff --git a/helgrind/tests/tc18_semabuse.stderr.exp-glibc28-amd64 b/helgrind/tests/tc18_semabuse.stderr.exp-glibc28-amd64 new file mode 100644 index 0000000..ac8baaa --- /dev/null +++ b/helgrind/tests/tc18_semabuse.stderr.exp-glibc28-amd64 @@ -0,0 +1,20 @@ + +Thread #x is the program's root thread + +Thread #x's call to sem_init failed + with error code 22 (EINVAL: Invalid argument) + at 0x........: sem_init@* (hg_intercepts.c:...) + by 0x........: main (tc18_semabuse.c:23) + +Thread #x: Bug in libpthread: sem_wait succeeded on semaphore without prior sem_post + at 0x........: sem_wait_WRK (hg_intercepts.c:...) + by 0x........: sem_wait (hg_intercepts.c:...) + by 0x........: main (tc18_semabuse.c:34) + +Thread #x's call to sem_post failed + with error code 22 (EINVAL: Invalid argument) + at 0x........: sem_post_WRK (hg_intercepts.c:...) + by 0x........: sem_post (hg_intercepts.c:...) + by 0x........: main (tc18_semabuse.c:37) + +ERROR SUMMARY: 3 errors from 3 contexts (suppressed: 0 from 0) diff --git a/helgrind/tests/tc18_semabuse.stdout.exp b/helgrind/tests/tc18_semabuse.stdout.exp new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/helgrind/tests/tc18_semabuse.stdout.exp diff --git a/helgrind/tests/tc18_semabuse.vgtest b/helgrind/tests/tc18_semabuse.vgtest new file mode 100644 index 0000000..fe4d22b --- /dev/null +++ b/helgrind/tests/tc18_semabuse.vgtest @@ -0,0 +1 @@ +prog: tc18_semabuse diff --git a/helgrind/tests/tc19_shadowmem.c b/helgrind/tests/tc19_shadowmem.c new file mode 100644 index 0000000..ec05061 --- /dev/null +++ b/helgrind/tests/tc19_shadowmem.c @@ -0,0 +1,2291 @@ + +#include <pthread.h> +#include <assert.h> +#include <stdlib.h> +#include <stdio.h> + +#include "helgrind/helgrind.h" + +typedef + struct { + void* (*child)(void*); + char* arr; + int firstoff; + int lastoff; + int skipoff; + } + Info; + +pthread_mutex_t mx; + +void* child8 ( void* infoV ) +{ + int r, i, firstoff, lastoff, skipoff; + char* arr; + Info* info = (Info*)infoV; + firstoff = info->firstoff; + lastoff = info->lastoff; + skipoff = info->skipoff; + arr = info->arr; + assert( sizeof(char) == 1 ); + assert( info->child == &child8 ); + { char* ptr = (char*)&arr[skipoff]; + *ptr = 0; } + for (i = firstoff; i <= lastoff; i += 1) { + char* ptr = (char*)&arr[i]; + if (i != skipoff) { + r= pthread_mutex_lock( &mx ); assert(!r); + *ptr = 0; + r= pthread_mutex_unlock( &mx ); assert(!r); + } + } + return NULL; +} + +void* child16 ( void* infoV ) +{ + int r, i, firstoff, lastoff, skipoff; + char* arr; + Info* info = (Info*)infoV; + firstoff = info->firstoff; + lastoff = info->lastoff; + skipoff = info->skipoff; + arr = info->arr; + assert( sizeof(short) == 2 ); + assert( info->child == &child16 ); + { short* ptr = (short*)&arr[skipoff]; + *ptr = 0; } + for (i = firstoff; i <= lastoff; i += 2) { + short* ptr = (short*)&arr[i]; + if (i != skipoff) { + r= pthread_mutex_lock( &mx ); assert(!r); + *ptr = 0; + r= pthread_mutex_unlock( &mx ); assert(!r); + } + } + return NULL; +} + +void* child32 ( void* infoV ) +{ + int r, i, firstoff, lastoff, skipoff; + char* arr; + Info* info = (Info*)infoV; + firstoff = info->firstoff; + lastoff = info->lastoff; + skipoff = info->skipoff; + arr = info->arr; + assert( sizeof(int) == 4 ); + assert( info->child == &child32 ); + { int* ptr = (int*)&arr[skipoff]; + *ptr = 0; } + for (i = firstoff; i <= lastoff; i += 4) { + int* ptr = (int*)&arr[i]; + if (i != skipoff) { + r= pthread_mutex_lock( &mx ); assert(!r); + *ptr = 0; + r= pthread_mutex_unlock( &mx ); assert(!r); + } + } + return NULL; +} + +void* child64 ( void* infoV ) +{ + int r, i, firstoff, lastoff, skipoff; + char* arr; + Info* info = (Info*)infoV; + firstoff = info->firstoff; + lastoff = info->lastoff; + skipoff = info->skipoff; + arr = info->arr; + assert( sizeof(double) == 8 ); + assert( info->child == &child64 ); + { double* ptr = (double*)&arr[skipoff]; + *ptr = 0.0; } + for (i = firstoff; i <= lastoff; i += 8) { + double* ptr = (double*)&arr[i]; + if (i != skipoff) { + r= pthread_mutex_lock( &mx ); assert(!r); + *ptr = 0.0; + r= pthread_mutex_unlock( &mx ); assert(!r); + } + } + return NULL; +} + + +void* steer ( void* infoV ); + +#define MAXXX 100 /* re 100: should cover at least 2 cycles +of length 1 << N_LINE_BITS */ +/* This is all a bit subtle. First, after every inner loop over the + data, we have to VALGRIND_TC_CLEAN_MEMORY it to get it back to a + decent starting state. Because info.arr is 8-aligned (is asserted + for), the address range painter will paint at top level granularity + (8-byte), which means we are guaranteed to see any errors from the + next iteration at the maximum granularity that their alignment + allows. + + Also, the pthread_joins cause the shadow mem cache to be flushed + each iteration. Given that all trees are pulled up to 64-bit by + the abovementioned VALGRIND_TC_CLEAN_MEMORY, I think this + irrelevant. +*/ + +int main ( void ) +{ + pthread_t t1, t2; + Info info; + int off; + + pthread_mutex_init( &mx, NULL ); + + info.arr = malloc(MAXXX); + assert(info.arr); + + /* ensure array is 8-aligned. this is important, as per comment + above. */ + assert(0 == (7 & (unsigned long)info.arr)); + +#if 1 + /* Test 8 bit granularity */ + + fprintf(stderr, "\n"); + fprintf(stderr, + "===========================================================\n"); + fprintf(stderr, + "=== 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 ===\n"); + fprintf(stderr, + "===========================================================\n"); + fprintf(stderr, "\n"); + for (off = 0; off < MAXXX-1; off++) { + + info.firstoff = off & 0; + info.lastoff = MAXXX - 1; + info.skipoff = off; + info.child = child8; + + fprintf(stderr, "---------- char gran, %d .. %d, skip %d ----------\n", + info.firstoff, info.lastoff, info.skipoff ); + + pthread_create( &t1, NULL, steer, (void*)&info ); + pthread_create( &t2, NULL, steer, (void*)&info ); + + pthread_join( t1, NULL ); + pthread_join( t2, NULL ); + + VALGRIND_HG_CLEAN_MEMORY(&info.arr[0], MAXXX); + + } +#endif +#if 1 + /* Test 16 bit granularity */ + + fprintf(stderr, "\n"); + fprintf(stderr, + "==========================================================\n"); + fprintf(stderr, + "=== 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 ===\n"); + fprintf(stderr, + "==========================================================\n"); + fprintf(stderr, "\n"); + for (off = 0; off < MAXXX-2; off++) { + + info.firstoff = off & 1; + info.lastoff = MAXXX - 2; + info.skipoff = off; + info.child = child16; + + fprintf(stderr, "---------- short gran, %d .. %d, skip %d ----------\n", + info.firstoff, info.lastoff, info.skipoff ); + + pthread_create( &t1, NULL, steer, (void*)&info ); + pthread_create( &t2, NULL, steer, (void*)&info ); + + pthread_join( t1, NULL ); + pthread_join( t2, NULL ); + + VALGRIND_HG_CLEAN_MEMORY(&info.arr[0], MAXXX); + + } +#endif +#if 1 + /* Test 32 bit granularity */ + + fprintf(stderr, "\n"); + fprintf(stderr, + "==========================================================\n"); + fprintf(stderr, + "=== 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 ===\n"); + fprintf(stderr, + "==========================================================\n"); + fprintf(stderr, "\n"); + for (off = 0; off < MAXXX-4; off++) { + + info.firstoff = off & 3; + info.lastoff = MAXXX - 4; + info.skipoff = off; + info.child = child32; + + fprintf(stderr, "---------- int gran, %d .. %d, skip %d ----------\n", + info.firstoff, info.lastoff, info.skipoff ); + + pthread_create( &t1, NULL, steer, (void*)&info ); + pthread_create( &t2, NULL, steer, (void*)&info ); + + pthread_join( t1, NULL ); + pthread_join( t2, NULL ); + + VALGRIND_HG_CLEAN_MEMORY(&info.arr[0], MAXXX); + + } +#endif +#if 1 + /* Test 64 bit granularity */ + + fprintf(stderr, "\n"); + fprintf(stderr, + "==========================================================\n"); + fprintf(stderr, + "=== 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 ===\n"); + fprintf(stderr, + "==========================================================\n"); + fprintf(stderr, "\n"); + for (off = 0; off < MAXXX-8; off++) { + + info.firstoff = off & 7; + info.lastoff = MAXXX - 8; + info.skipoff = off; + info.child = child64; + + fprintf(stderr, "---------- double gran, %d .. %d, skip %d ----------\n", + info.firstoff, info.lastoff, info.skipoff ); + + pthread_create( &t1, NULL, steer, (void*)&info ); + pthread_create( &t2, NULL, steer, (void*)&info ); + + pthread_join( t1, NULL ); + pthread_join( t2, NULL ); + + VALGRIND_HG_CLEAN_MEMORY(&info.arr[0], MAXXX); + + } +#endif + free(info.arr); + + return 0; +} + +void* steer ( void* infoV ) +{ + Info* info = (Info*)infoV; + int wot = info->skipoff; + void*(*fn)(void*) = info->child; + if (wot >= 500) goto halfway; + + __asm__ __volatile__(""); + if (wot == 0) return fn(info); + __asm__ __volatile__(""); + if (wot == 1) return fn(info); + __asm__ __volatile__(""); + if (wot == 2) return fn(info); + __asm__ __volatile__(""); + if (wot == 3) return fn(info); + __asm__ __volatile__(""); + if (wot == 4) return fn(info); + __asm__ __volatile__(""); + if (wot == 5) return fn(info); + __asm__ __volatile__(""); + if (wot == 6) return fn(info); + __asm__ __volatile__(""); + if (wot == 7) return fn(info); + __asm__ __volatile__(""); + if (wot == 8) return fn(info); + __asm__ __volatile__(""); + if (wot == 9) return fn(info); + __asm__ __volatile__(""); + if (wot == 10) return fn(info); + __asm__ __volatile__(""); + if (wot == 11) return fn(info); + __asm__ __volatile__(""); + if (wot == 12) return fn(info); + __asm__ __volatile__(""); + if (wot == 13) return fn(info); + __asm__ __volatile__(""); + if (wot == 14) return fn(info); + __asm__ __volatile__(""); + if (wot == 15) return fn(info); + __asm__ __volatile__(""); + if (wot == 16) return fn(info); + __asm__ __volatile__(""); + if (wot == 17) return fn(info); + __asm__ __volatile__(""); + if (wot == 18) return fn(info); + __asm__ __volatile__(""); + if (wot == 19) return fn(info); + __asm__ __volatile__(""); + if (wot == 20) return fn(info); + __asm__ __volatile__(""); + if (wot == 21) return fn(info); + __asm__ __volatile__(""); + if (wot == 22) return fn(info); + __asm__ __volatile__(""); + if (wot == 23) return fn(info); + __asm__ __volatile__(""); + if (wot == 24) return fn(info); + __asm__ __volatile__(""); + if (wot == 25) return fn(info); + __asm__ __volatile__(""); + if (wot == 26) return fn(info); + __asm__ __volatile__(""); + if (wot == 27) return fn(info); + __asm__ __volatile__(""); + if (wot == 28) return fn(info); + __asm__ __volatile__(""); + if (wot == 29) return fn(info); + __asm__ __volatile__(""); + if (wot == 30) return fn(info); + __asm__ __volatile__(""); + if (wot == 31) return fn(info); + __asm__ __volatile__(""); + if (wot == 32) return fn(info); + __asm__ __volatile__(""); + if (wot == 33) return fn(info); + __asm__ __volatile__(""); + if (wot == 34) return fn(info); + __asm__ __volatile__(""); + if (wot == 35) return fn(info); + __asm__ __volatile__(""); + if (wot == 36) return fn(info); + __asm__ __volatile__(""); + if (wot == 37) return fn(info); + __asm__ __volatile__(""); + if (wot == 38) return fn(info); + __asm__ __volatile__(""); + if (wot == 39) return fn(info); + __asm__ __volatile__(""); + if (wot == 40) return fn(info); + __asm__ __volatile__(""); + if (wot == 41) return fn(info); + __asm__ __volatile__(""); + if (wot == 42) return fn(info); + __asm__ __volatile__(""); + if (wot == 43) return fn(info); + __asm__ __volatile__(""); + if (wot == 44) return fn(info); + __asm__ __volatile__(""); + if (wot == 45) return fn(info); + __asm__ __volatile__(""); + if (wot == 46) return fn(info); + __asm__ __volatile__(""); + if (wot == 47) return fn(info); + __asm__ __volatile__(""); + if (wot == 48) return fn(info); + __asm__ __volatile__(""); + if (wot == 49) return fn(info); + __asm__ __volatile__(""); + if (wot == 50) return fn(info); + __asm__ __volatile__(""); + if (wot == 51) return fn(info); + __asm__ __volatile__(""); + if (wot == 52) return fn(info); + __asm__ __volatile__(""); + if (wot == 53) return fn(info); + __asm__ __volatile__(""); + if (wot == 54) return fn(info); + __asm__ __volatile__(""); + if (wot == 55) return fn(info); + __asm__ __volatile__(""); + if (wot == 56) return fn(info); + __asm__ __volatile__(""); + if (wot == 57) return fn(info); + __asm__ __volatile__(""); + if (wot == 58) return fn(info); + __asm__ __volatile__(""); + if (wot == 59) return fn(info); + __asm__ __volatile__(""); + if (wot == 60) return fn(info); + __asm__ __volatile__(""); + if (wot == 61) return fn(info); + __asm__ __volatile__(""); + if (wot == 62) return fn(info); + __asm__ __volatile__(""); + if (wot == 63) return fn(info); + __asm__ __volatile__(""); + if (wot == 64) return fn(info); + __asm__ __volatile__(""); + if (wot == 65) return fn(info); + __asm__ __volatile__(""); + if (wot == 66) return fn(info); + __asm__ __volatile__(""); + if (wot == 67) return fn(info); + __asm__ __volatile__(""); + if (wot == 68) return fn(info); + __asm__ __volatile__(""); + if (wot == 69) return fn(info); + __asm__ __volatile__(""); + if (wot == 70) return fn(info); + __asm__ __volatile__(""); + if (wot == 71) return fn(info); + __asm__ __volatile__(""); + if (wot == 72) return fn(info); + __asm__ __volatile__(""); + if (wot == 73) return fn(info); + __asm__ __volatile__(""); + if (wot == 74) return fn(info); + __asm__ __volatile__(""); + if (wot == 75) return fn(info); + __asm__ __volatile__(""); + if (wot == 76) return fn(info); + __asm__ __volatile__(""); + if (wot == 77) return fn(info); + __asm__ __volatile__(""); + if (wot == 78) return fn(info); + __asm__ __volatile__(""); + if (wot == 79) return fn(info); + __asm__ __volatile__(""); + if (wot == 80) return fn(info); + __asm__ __volatile__(""); + if (wot == 81) return fn(info); + __asm__ __volatile__(""); + if (wot == 82) return fn(info); + __asm__ __volatile__(""); + if (wot == 83) return fn(info); + __asm__ __volatile__(""); + if (wot == 84) return fn(info); + __asm__ __volatile__(""); + if (wot == 85) return fn(info); + __asm__ __volatile__(""); + if (wot == 86) return fn(info); + __asm__ __volatile__(""); + if (wot == 87) return fn(info); + __asm__ __volatile__(""); + if (wot == 88) return fn(info); + __asm__ __volatile__(""); + if (wot == 89) return fn(info); + __asm__ __volatile__(""); + if (wot == 90) return fn(info); + __asm__ __volatile__(""); + if (wot == 91) return fn(info); + __asm__ __volatile__(""); + if (wot == 92) return fn(info); + __asm__ __volatile__(""); + if (wot == 93) return fn(info); + __asm__ __volatile__(""); + if (wot == 94) return fn(info); + __asm__ __volatile__(""); + if (wot == 95) return fn(info); + __asm__ __volatile__(""); + if (wot == 96) return fn(info); + __asm__ __volatile__(""); + if (wot == 97) return fn(info); + __asm__ __volatile__(""); + if (wot == 98) return fn(info); + __asm__ __volatile__(""); + if (wot == 99) return fn(info); + __asm__ __volatile__(""); + if (wot == 100) return fn(info); + __asm__ __volatile__(""); + if (wot == 101) return fn(info); + __asm__ __volatile__(""); + if (wot == 102) return fn(info); + __asm__ __volatile__(""); + if (wot == 103) return fn(info); + __asm__ __volatile__(""); + if (wot == 104) return fn(info); + __asm__ __volatile__(""); + if (wot == 105) return fn(info); + __asm__ __volatile__(""); + if (wot == 106) return fn(info); + __asm__ __volatile__(""); + if (wot == 107) return fn(info); + __asm__ __volatile__(""); + if (wot == 108) return fn(info); + __asm__ __volatile__(""); + if (wot == 109) return fn(info); + __asm__ __volatile__(""); + if (wot == 110) return fn(info); + __asm__ __volatile__(""); + if (wot == 111) return fn(info); + __asm__ __volatile__(""); + if (wot == 112) return fn(info); + __asm__ __volatile__(""); + if (wot == 113) return fn(info); + __asm__ __volatile__(""); + if (wot == 114) return fn(info); + __asm__ __volatile__(""); + if (wot == 115) return fn(info); + __asm__ __volatile__(""); + if (wot == 116) return fn(info); + __asm__ __volatile__(""); + if (wot == 117) return fn(info); + __asm__ __volatile__(""); + if (wot == 118) return fn(info); + __asm__ __volatile__(""); + if (wot == 119) return fn(info); + __asm__ __volatile__(""); + if (wot == 120) return fn(info); + __asm__ __volatile__(""); + if (wot == 121) return fn(info); + __asm__ __volatile__(""); + if (wot == 122) return fn(info); + __asm__ __volatile__(""); + if (wot == 123) return fn(info); + __asm__ __volatile__(""); + if (wot == 124) return fn(info); + __asm__ __volatile__(""); + if (wot == 125) return fn(info); + __asm__ __volatile__(""); + if (wot == 126) return fn(info); + __asm__ __volatile__(""); + if (wot == 127) return fn(info); + __asm__ __volatile__(""); + if (wot == 128) return fn(info); + __asm__ __volatile__(""); + if (wot == 129) return fn(info); + __asm__ __volatile__(""); + if (wot == 130) return fn(info); + __asm__ __volatile__(""); + if (wot == 131) return fn(info); + __asm__ __volatile__(""); + if (wot == 132) return fn(info); + __asm__ __volatile__(""); + if (wot == 133) return fn(info); + __asm__ __volatile__(""); + if (wot == 134) return fn(info); + __asm__ __volatile__(""); + if (wot == 135) return fn(info); + __asm__ __volatile__(""); + if (wot == 136) return fn(info); + __asm__ __volatile__(""); + if (wot == 137) return fn(info); + __asm__ __volatile__(""); + if (wot == 138) return fn(info); + __asm__ __volatile__(""); + if (wot == 139) return fn(info); + __asm__ __volatile__(""); + if (wot == 140) return fn(info); + __asm__ __volatile__(""); + if (wot == 141) return fn(info); + __asm__ __volatile__(""); + if (wot == 142) return fn(info); + __asm__ __volatile__(""); + if (wot == 143) return fn(info); + __asm__ __volatile__(""); + if (wot == 144) return fn(info); + __asm__ __volatile__(""); + if (wot == 145) return fn(info); + __asm__ __volatile__(""); + if (wot == 146) return fn(info); + __asm__ __volatile__(""); + if (wot == 147) return fn(info); + __asm__ __volatile__(""); + if (wot == 148) return fn(info); + __asm__ __volatile__(""); + if (wot == 149) return fn(info); + __asm__ __volatile__(""); + if (wot == 150) return fn(info); + __asm__ __volatile__(""); + if (wot == 151) return fn(info); + __asm__ __volatile__(""); + if (wot == 152) return fn(info); + __asm__ __volatile__(""); + if (wot == 153) return fn(info); + __asm__ __volatile__(""); + if (wot == 154) return fn(info); + __asm__ __volatile__(""); + if (wot == 155) return fn(info); + __asm__ __volatile__(""); + if (wot == 156) return fn(info); + __asm__ __volatile__(""); + if (wot == 157) return fn(info); + __asm__ __volatile__(""); + if (wot == 158) return fn(info); + __asm__ __volatile__(""); + if (wot == 159) return fn(info); + __asm__ __volatile__(""); + if (wot == 160) return fn(info); + __asm__ __volatile__(""); + if (wot == 161) return fn(info); + __asm__ __volatile__(""); + if (wot == 162) return fn(info); + __asm__ __volatile__(""); + if (wot == 163) return fn(info); + __asm__ __volatile__(""); + if (wot == 164) return fn(info); + __asm__ __volatile__(""); + if (wot == 165) return fn(info); + __asm__ __volatile__(""); + if (wot == 166) return fn(info); + __asm__ __volatile__(""); + if (wot == 167) return fn(info); + __asm__ __volatile__(""); + if (wot == 168) return fn(info); + __asm__ __volatile__(""); + if (wot == 169) return fn(info); + __asm__ __volatile__(""); + if (wot == 170) return fn(info); + __asm__ __volatile__(""); + if (wot == 171) return fn(info); + __asm__ __volatile__(""); + if (wot == 172) return fn(info); + __asm__ __volatile__(""); + if (wot == 173) return fn(info); + __asm__ __volatile__(""); + if (wot == 174) return fn(info); + __asm__ __volatile__(""); + if (wot == 175) return fn(info); + __asm__ __volatile__(""); + if (wot == 176) return fn(info); + __asm__ __volatile__(""); + if (wot == 177) return fn(info); + __asm__ __volatile__(""); + if (wot == 178) return fn(info); + __asm__ __volatile__(""); + if (wot == 179) return fn(info); + __asm__ __volatile__(""); + if (wot == 180) return fn(info); + __asm__ __volatile__(""); + if (wot == 181) return fn(info); + __asm__ __volatile__(""); + if (wot == 182) return fn(info); + __asm__ __volatile__(""); + if (wot == 183) return fn(info); + __asm__ __volatile__(""); + if (wot == 184) return fn(info); + __asm__ __volatile__(""); + if (wot == 185) return fn(info); + __asm__ __volatile__(""); + if (wot == 186) return fn(info); + __asm__ __volatile__(""); + if (wot == 187) return fn(info); + __asm__ __volatile__(""); + if (wot == 188) return fn(info); + __asm__ __volatile__(""); + if (wot == 189) return fn(info); + __asm__ __volatile__(""); + if (wot == 190) return fn(info); + __asm__ __volatile__(""); + if (wot == 191) return fn(info); + __asm__ __volatile__(""); + if (wot == 192) return fn(info); + __asm__ __volatile__(""); + if (wot == 193) return fn(info); + __asm__ __volatile__(""); + if (wot == 194) return fn(info); + __asm__ __volatile__(""); + if (wot == 195) return fn(info); + __asm__ __volatile__(""); + if (wot == 196) return fn(info); + __asm__ __volatile__(""); + if (wot == 197) return fn(info); + __asm__ __volatile__(""); + if (wot == 198) return fn(info); + __asm__ __volatile__(""); + if (wot == 199) return fn(info); + __asm__ __volatile__(""); + if (wot == 200) return fn(info); + __asm__ __volatile__(""); + if (wot == 201) return fn(info); + __asm__ __volatile__(""); + if (wot == 202) return fn(info); + __asm__ __volatile__(""); + if (wot == 203) return fn(info); + __asm__ __volatile__(""); + if (wot == 204) return fn(info); + __asm__ __volatile__(""); + if (wot == 205) return fn(info); + __asm__ __volatile__(""); + if (wot == 206) return fn(info); + __asm__ __volatile__(""); + if (wot == 207) return fn(info); + __asm__ __volatile__(""); + if (wot == 208) return fn(info); + __asm__ __volatile__(""); + if (wot == 209) return fn(info); + __asm__ __volatile__(""); + if (wot == 210) return fn(info); + __asm__ __volatile__(""); + if (wot == 211) return fn(info); + __asm__ __volatile__(""); + if (wot == 212) return fn(info); + __asm__ __volatile__(""); + if (wot == 213) return fn(info); + __asm__ __volatile__(""); + if (wot == 214) return fn(info); + __asm__ __volatile__(""); + if (wot == 215) return fn(info); + __asm__ __volatile__(""); + if (wot == 216) return fn(info); + __asm__ __volatile__(""); + if (wot == 217) return fn(info); + __asm__ __volatile__(""); + if (wot == 218) return fn(info); + __asm__ __volatile__(""); + if (wot == 219) return fn(info); + __asm__ __volatile__(""); + if (wot == 220) return fn(info); + __asm__ __volatile__(""); + if (wot == 221) return fn(info); + __asm__ __volatile__(""); + if (wot == 222) return fn(info); + __asm__ __volatile__(""); + if (wot == 223) return fn(info); + __asm__ __volatile__(""); + if (wot == 224) return fn(info); + __asm__ __volatile__(""); + if (wot == 225) return fn(info); + __asm__ __volatile__(""); + if (wot == 226) return fn(info); + __asm__ __volatile__(""); + if (wot == 227) return fn(info); + __asm__ __volatile__(""); + if (wot == 228) return fn(info); + __asm__ __volatile__(""); + if (wot == 229) return fn(info); + __asm__ __volatile__(""); + if (wot == 230) return fn(info); + __asm__ __volatile__(""); + if (wot == 231) return fn(info); + __asm__ __volatile__(""); + if (wot == 232) return fn(info); + __asm__ __volatile__(""); + if (wot == 233) return fn(info); + __asm__ __volatile__(""); + if (wot == 234) return fn(info); + __asm__ __volatile__(""); + if (wot == 235) return fn(info); + __asm__ __volatile__(""); + if (wot == 236) return fn(info); + __asm__ __volatile__(""); + if (wot == 237) return fn(info); + __asm__ __volatile__(""); + if (wot == 238) return fn(info); + __asm__ __volatile__(""); + if (wot == 239) return fn(info); + __asm__ __volatile__(""); + if (wot == 240) return fn(info); + __asm__ __volatile__(""); + if (wot == 241) return fn(info); + __asm__ __volatile__(""); + if (wot == 242) return fn(info); + __asm__ __volatile__(""); + if (wot == 243) return fn(info); + __asm__ __volatile__(""); + if (wot == 244) return fn(info); + __asm__ __volatile__(""); + if (wot == 245) return fn(info); + __asm__ __volatile__(""); + if (wot == 246) return fn(info); + __asm__ __volatile__(""); + if (wot == 247) return fn(info); + __asm__ __volatile__(""); + if (wot == 248) return fn(info); + __asm__ __volatile__(""); + if (wot == 249) return fn(info); + __asm__ __volatile__(""); + if (wot == 250) return fn(info); + __asm__ __volatile__(""); + if (wot == 251) return fn(info); + __asm__ __volatile__(""); + if (wot == 252) return fn(info); + __asm__ __volatile__(""); + if (wot == 253) return fn(info); + __asm__ __volatile__(""); + if (wot == 254) return fn(info); + __asm__ __volatile__(""); + if (wot == 255) return fn(info); + __asm__ __volatile__(""); + if (wot == 256) return fn(info); + __asm__ __volatile__(""); + if (wot == 257) return fn(info); + __asm__ __volatile__(""); + if (wot == 258) return fn(info); + __asm__ __volatile__(""); + if (wot == 259) return fn(info); + __asm__ __volatile__(""); + if (wot == 260) return fn(info); + __asm__ __volatile__(""); + if (wot == 261) return fn(info); + __asm__ __volatile__(""); + if (wot == 262) return fn(info); + __asm__ __volatile__(""); + if (wot == 263) return fn(info); + __asm__ __volatile__(""); + if (wot == 264) return fn(info); + __asm__ __volatile__(""); + if (wot == 265) return fn(info); + __asm__ __volatile__(""); + if (wot == 266) return fn(info); + __asm__ __volatile__(""); + if (wot == 267) return fn(info); + __asm__ __volatile__(""); + if (wot == 268) return fn(info); + __asm__ __volatile__(""); + if (wot == 269) return fn(info); + __asm__ __volatile__(""); + if (wot == 270) return fn(info); + __asm__ __volatile__(""); + if (wot == 271) return fn(info); + __asm__ __volatile__(""); + if (wot == 272) return fn(info); + __asm__ __volatile__(""); + if (wot == 273) return fn(info); + __asm__ __volatile__(""); + if (wot == 274) return fn(info); + __asm__ __volatile__(""); + if (wot == 275) return fn(info); + __asm__ __volatile__(""); + if (wot == 276) return fn(info); + __asm__ __volatile__(""); + if (wot == 277) return fn(info); + __asm__ __volatile__(""); + if (wot == 278) return fn(info); + __asm__ __volatile__(""); + if (wot == 279) return fn(info); + __asm__ __volatile__(""); + if (wot == 280) return fn(info); + __asm__ __volatile__(""); + if (wot == 281) return fn(info); + __asm__ __volatile__(""); + if (wot == 282) return fn(info); + __asm__ __volatile__(""); + if (wot == 283) return fn(info); + __asm__ __volatile__(""); + if (wot == 284) return fn(info); + __asm__ __volatile__(""); + if (wot == 285) return fn(info); + __asm__ __volatile__(""); + if (wot == 286) return fn(info); + __asm__ __volatile__(""); + if (wot == 287) return fn(info); + __asm__ __volatile__(""); + if (wot == 288) return fn(info); + __asm__ __volatile__(""); + if (wot == 289) return fn(info); + __asm__ __volatile__(""); + if (wot == 290) return fn(info); + __asm__ __volatile__(""); + if (wot == 291) return fn(info); + __asm__ __volatile__(""); + if (wot == 292) return fn(info); + __asm__ __volatile__(""); + if (wot == 293) return fn(info); + __asm__ __volatile__(""); + if (wot == 294) return fn(info); + __asm__ __volatile__(""); + if (wot == 295) return fn(info); + __asm__ __volatile__(""); + if (wot == 296) return fn(info); + __asm__ __volatile__(""); + if (wot == 297) return fn(info); + __asm__ __volatile__(""); + if (wot == 298) return fn(info); + __asm__ __volatile__(""); + if (wot == 299) return fn(info); + __asm__ __volatile__(""); + if (wot == 300) return fn(info); + __asm__ __volatile__(""); + if (wot == 301) return fn(info); + __asm__ __volatile__(""); + if (wot == 302) return fn(info); + __asm__ __volatile__(""); + if (wot == 303) return fn(info); + __asm__ __volatile__(""); + if (wot == 304) return fn(info); + __asm__ __volatile__(""); + if (wot == 305) return fn(info); + __asm__ __volatile__(""); + if (wot == 306) return fn(info); + __asm__ __volatile__(""); + if (wot == 307) return fn(info); + __asm__ __volatile__(""); + if (wot == 308) return fn(info); + __asm__ __volatile__(""); + if (wot == 309) return fn(info); + __asm__ __volatile__(""); + if (wot == 310) return fn(info); + __asm__ __volatile__(""); + if (wot == 311) return fn(info); + __asm__ __volatile__(""); + if (wot == 312) return fn(info); + __asm__ __volatile__(""); + if (wot == 313) return fn(info); + __asm__ __volatile__(""); + if (wot == 314) return fn(info); + __asm__ __volatile__(""); + if (wot == 315) return fn(info); + __asm__ __volatile__(""); + if (wot == 316) return fn(info); + __asm__ __volatile__(""); + if (wot == 317) return fn(info); + __asm__ __volatile__(""); + if (wot == 318) return fn(info); + __asm__ __volatile__(""); + if (wot == 319) return fn(info); + __asm__ __volatile__(""); + if (wot == 320) return fn(info); + __asm__ __volatile__(""); + if (wot == 321) return fn(info); + __asm__ __volatile__(""); + if (wot == 322) return fn(info); + __asm__ __volatile__(""); + if (wot == 323) return fn(info); + __asm__ __volatile__(""); + if (wot == 324) return fn(info); + __asm__ __volatile__(""); + if (wot == 325) return fn(info); + __asm__ __volatile__(""); + if (wot == 326) return fn(info); + __asm__ __volatile__(""); + if (wot == 327) return fn(info); + __asm__ __volatile__(""); + if (wot == 328) return fn(info); + __asm__ __volatile__(""); + if (wot == 329) return fn(info); + __asm__ __volatile__(""); + if (wot == 330) return fn(info); + __asm__ __volatile__(""); + if (wot == 331) return fn(info); + __asm__ __volatile__(""); + if (wot == 332) return fn(info); + __asm__ __volatile__(""); + if (wot == 333) return fn(info); + __asm__ __volatile__(""); + if (wot == 334) return fn(info); + __asm__ __volatile__(""); + if (wot == 335) return fn(info); + __asm__ __volatile__(""); + if (wot == 336) return fn(info); + __asm__ __volatile__(""); + if (wot == 337) return fn(info); + __asm__ __volatile__(""); + if (wot == 338) return fn(info); + __asm__ __volatile__(""); + if (wot == 339) return fn(info); + __asm__ __volatile__(""); + if (wot == 340) return fn(info); + __asm__ __volatile__(""); + if (wot == 341) return fn(info); + __asm__ __volatile__(""); + if (wot == 342) return fn(info); + __asm__ __volatile__(""); + if (wot == 343) return fn(info); + __asm__ __volatile__(""); + if (wot == 344) return fn(info); + __asm__ __volatile__(""); + if (wot == 345) return fn(info); + __asm__ __volatile__(""); + if (wot == 346) return fn(info); + __asm__ __volatile__(""); + if (wot == 347) return fn(info); + __asm__ __volatile__(""); + if (wot == 348) return fn(info); + __asm__ __volatile__(""); + if (wot == 349) return fn(info); + __asm__ __volatile__(""); + if (wot == 350) return fn(info); + __asm__ __volatile__(""); + if (wot == 351) return fn(info); + __asm__ __volatile__(""); + if (wot == 352) return fn(info); + __asm__ __volatile__(""); + if (wot == 353) return fn(info); + __asm__ __volatile__(""); + if (wot == 354) return fn(info); + __asm__ __volatile__(""); + if (wot == 355) return fn(info); + __asm__ __volatile__(""); + if (wot == 356) return fn(info); + __asm__ __volatile__(""); + if (wot == 357) return fn(info); + __asm__ __volatile__(""); + if (wot == 358) return fn(info); + __asm__ __volatile__(""); + if (wot == 359) return fn(info); + __asm__ __volatile__(""); + if (wot == 360) return fn(info); + __asm__ __volatile__(""); + if (wot == 361) return fn(info); + __asm__ __volatile__(""); + if (wot == 362) return fn(info); + __asm__ __volatile__(""); + if (wot == 363) return fn(info); + __asm__ __volatile__(""); + if (wot == 364) return fn(info); + __asm__ __volatile__(""); + if (wot == 365) return fn(info); + __asm__ __volatile__(""); + if (wot == 366) return fn(info); + __asm__ __volatile__(""); + if (wot == 367) return fn(info); + __asm__ __volatile__(""); + if (wot == 368) return fn(info); + __asm__ __volatile__(""); + if (wot == 369) return fn(info); + __asm__ __volatile__(""); + if (wot == 370) return fn(info); + __asm__ __volatile__(""); + if (wot == 371) return fn(info); + __asm__ __volatile__(""); + if (wot == 372) return fn(info); + __asm__ __volatile__(""); + if (wot == 373) return fn(info); + __asm__ __volatile__(""); + if (wot == 374) return fn(info); + __asm__ __volatile__(""); + if (wot == 375) return fn(info); + __asm__ __volatile__(""); + if (wot == 376) return fn(info); + __asm__ __volatile__(""); + if (wot == 377) return fn(info); + __asm__ __volatile__(""); + if (wot == 378) return fn(info); + __asm__ __volatile__(""); + if (wot == 379) return fn(info); + __asm__ __volatile__(""); + if (wot == 380) return fn(info); + __asm__ __volatile__(""); + if (wot == 381) return fn(info); + __asm__ __volatile__(""); + if (wot == 382) return fn(info); + __asm__ __volatile__(""); + if (wot == 383) return fn(info); + __asm__ __volatile__(""); + if (wot == 384) return fn(info); + __asm__ __volatile__(""); + if (wot == 385) return fn(info); + __asm__ __volatile__(""); + if (wot == 386) return fn(info); + __asm__ __volatile__(""); + if (wot == 387) return fn(info); + __asm__ __volatile__(""); + if (wot == 388) return fn(info); + __asm__ __volatile__(""); + if (wot == 389) return fn(info); + __asm__ __volatile__(""); + if (wot == 390) return fn(info); + __asm__ __volatile__(""); + if (wot == 391) return fn(info); + __asm__ __volatile__(""); + if (wot == 392) return fn(info); + __asm__ __volatile__(""); + if (wot == 393) return fn(info); + __asm__ __volatile__(""); + if (wot == 394) return fn(info); + __asm__ __volatile__(""); + if (wot == 395) return fn(info); + __asm__ __volatile__(""); + if (wot == 396) return fn(info); + __asm__ __volatile__(""); + if (wot == 397) return fn(info); + __asm__ __volatile__(""); + if (wot == 398) return fn(info); + __asm__ __volatile__(""); + if (wot == 399) return fn(info); + __asm__ __volatile__(""); + if (wot == 400) return fn(info); + __asm__ __volatile__(""); + if (wot == 401) return fn(info); + __asm__ __volatile__(""); + if (wot == 402) return fn(info); + __asm__ __volatile__(""); + if (wot == 403) return fn(info); + __asm__ __volatile__(""); + if (wot == 404) return fn(info); + __asm__ __volatile__(""); + if (wot == 405) return fn(info); + __asm__ __volatile__(""); + if (wot == 406) return fn(info); + __asm__ __volatile__(""); + if (wot == 407) return fn(info); + __asm__ __volatile__(""); + if (wot == 408) return fn(info); + __asm__ __volatile__(""); + if (wot == 409) return fn(info); + __asm__ __volatile__(""); + if (wot == 410) return fn(info); + __asm__ __volatile__(""); + if (wot == 411) return fn(info); + __asm__ __volatile__(""); + if (wot == 412) return fn(info); + __asm__ __volatile__(""); + if (wot == 413) return fn(info); + __asm__ __volatile__(""); + if (wot == 414) return fn(info); + __asm__ __volatile__(""); + if (wot == 415) return fn(info); + __asm__ __volatile__(""); + if (wot == 416) return fn(info); + __asm__ __volatile__(""); + if (wot == 417) return fn(info); + __asm__ __volatile__(""); + if (wot == 418) return fn(info); + __asm__ __volatile__(""); + if (wot == 419) return fn(info); + __asm__ __volatile__(""); + if (wot == 420) return fn(info); + __asm__ __volatile__(""); + if (wot == 421) return fn(info); + __asm__ __volatile__(""); + if (wot == 422) return fn(info); + __asm__ __volatile__(""); + if (wot == 423) return fn(info); + __asm__ __volatile__(""); + if (wot == 424) return fn(info); + __asm__ __volatile__(""); + if (wot == 425) return fn(info); + __asm__ __volatile__(""); + if (wot == 426) return fn(info); + __asm__ __volatile__(""); + if (wot == 427) return fn(info); + __asm__ __volatile__(""); + if (wot == 428) return fn(info); + __asm__ __volatile__(""); + if (wot == 429) return fn(info); + __asm__ __volatile__(""); + if (wot == 430) return fn(info); + __asm__ __volatile__(""); + if (wot == 431) return fn(info); + __asm__ __volatile__(""); + if (wot == 432) return fn(info); + __asm__ __volatile__(""); + if (wot == 433) return fn(info); + __asm__ __volatile__(""); + if (wot == 434) return fn(info); + __asm__ __volatile__(""); + if (wot == 435) return fn(info); + __asm__ __volatile__(""); + if (wot == 436) return fn(info); + __asm__ __volatile__(""); + if (wot == 437) return fn(info); + __asm__ __volatile__(""); + if (wot == 438) return fn(info); + __asm__ __volatile__(""); + if (wot == 439) return fn(info); + __asm__ __volatile__(""); + if (wot == 440) return fn(info); + __asm__ __volatile__(""); + if (wot == 441) return fn(info); + __asm__ __volatile__(""); + if (wot == 442) return fn(info); + __asm__ __volatile__(""); + if (wot == 443) return fn(info); + __asm__ __volatile__(""); + if (wot == 444) return fn(info); + __asm__ __volatile__(""); + if (wot == 445) return fn(info); + __asm__ __volatile__(""); + if (wot == 446) return fn(info); + __asm__ __volatile__(""); + if (wot == 447) return fn(info); + __asm__ __volatile__(""); + if (wot == 448) return fn(info); + __asm__ __volatile__(""); + if (wot == 449) return fn(info); + __asm__ __volatile__(""); + if (wot == 450) return fn(info); + __asm__ __volatile__(""); + if (wot == 451) return fn(info); + __asm__ __volatile__(""); + if (wot == 452) return fn(info); + __asm__ __volatile__(""); + if (wot == 453) return fn(info); + __asm__ __volatile__(""); + if (wot == 454) return fn(info); + __asm__ __volatile__(""); + if (wot == 455) return fn(info); + __asm__ __volatile__(""); + if (wot == 456) return fn(info); + __asm__ __volatile__(""); + if (wot == 457) return fn(info); + __asm__ __volatile__(""); + if (wot == 458) return fn(info); + __asm__ __volatile__(""); + if (wot == 459) return fn(info); + __asm__ __volatile__(""); + if (wot == 460) return fn(info); + __asm__ __volatile__(""); + if (wot == 461) return fn(info); + __asm__ __volatile__(""); + if (wot == 462) return fn(info); + __asm__ __volatile__(""); + if (wot == 463) return fn(info); + __asm__ __volatile__(""); + if (wot == 464) return fn(info); + __asm__ __volatile__(""); + if (wot == 465) return fn(info); + __asm__ __volatile__(""); + if (wot == 466) return fn(info); + __asm__ __volatile__(""); + if (wot == 467) return fn(info); + __asm__ __volatile__(""); + if (wot == 468) return fn(info); + __asm__ __volatile__(""); + if (wot == 469) return fn(info); + __asm__ __volatile__(""); + if (wot == 470) return fn(info); + __asm__ __volatile__(""); + if (wot == 471) return fn(info); + __asm__ __volatile__(""); + if (wot == 472) return fn(info); + __asm__ __volatile__(""); + if (wot == 473) return fn(info); + __asm__ __volatile__(""); + if (wot == 474) return fn(info); + __asm__ __volatile__(""); + if (wot == 475) return fn(info); + __asm__ __volatile__(""); + if (wot == 476) return fn(info); + __asm__ __volatile__(""); + if (wot == 477) return fn(info); + __asm__ __volatile__(""); + if (wot == 478) return fn(info); + __asm__ __volatile__(""); + if (wot == 479) return fn(info); + __asm__ __volatile__(""); + if (wot == 480) return fn(info); + __asm__ __volatile__(""); + if (wot == 481) return fn(info); + __asm__ __volatile__(""); + if (wot == 482) return fn(info); + __asm__ __volatile__(""); + if (wot == 483) return fn(info); + __asm__ __volatile__(""); + if (wot == 484) return fn(info); + __asm__ __volatile__(""); + if (wot == 485) return fn(info); + __asm__ __volatile__(""); + if (wot == 486) return fn(info); + __asm__ __volatile__(""); + if (wot == 487) return fn(info); + __asm__ __volatile__(""); + if (wot == 488) return fn(info); + __asm__ __volatile__(""); + if (wot == 489) return fn(info); + __asm__ __volatile__(""); + if (wot == 490) return fn(info); + __asm__ __volatile__(""); + if (wot == 491) return fn(info); + __asm__ __volatile__(""); + if (wot == 492) return fn(info); + __asm__ __volatile__(""); + if (wot == 493) return fn(info); + __asm__ __volatile__(""); + if (wot == 494) return fn(info); + __asm__ __volatile__(""); + if (wot == 495) return fn(info); + __asm__ __volatile__(""); + if (wot == 496) return fn(info); + __asm__ __volatile__(""); + if (wot == 497) return fn(info); + __asm__ __volatile__(""); + if (wot == 498) return fn(info); + __asm__ __volatile__(""); + if (wot == 499) return fn(info); + __asm__ __volatile__(""); + halfway: + if (wot == 500) return fn(info); + __asm__ __volatile__(""); + if (wot == 501) return fn(info); + __asm__ __volatile__(""); + if (wot == 502) return fn(info); + __asm__ __volatile__(""); + if (wot == 503) return fn(info); + __asm__ __volatile__(""); + if (wot == 504) return fn(info); + __asm__ __volatile__(""); + if (wot == 505) return fn(info); + __asm__ __volatile__(""); + if (wot == 506) return fn(info); + __asm__ __volatile__(""); + if (wot == 507) return fn(info); + __asm__ __volatile__(""); + if (wot == 508) return fn(info); + __asm__ __volatile__(""); + if (wot == 509) return fn(info); + __asm__ __volatile__(""); + if (wot == 510) return fn(info); + __asm__ __volatile__(""); + if (wot == 511) return fn(info); + __asm__ __volatile__(""); + if (wot == 512) return fn(info); + __asm__ __volatile__(""); + if (wot == 513) return fn(info); + __asm__ __volatile__(""); + if (wot == 514) return fn(info); + __asm__ __volatile__(""); + if (wot == 515) return fn(info); + __asm__ __volatile__(""); + if (wot == 516) return fn(info); + __asm__ __volatile__(""); + if (wot == 517) return fn(info); + __asm__ __volatile__(""); + if (wot == 518) return fn(info); + __asm__ __volatile__(""); + if (wot == 519) return fn(info); + __asm__ __volatile__(""); + if (wot == 520) return fn(info); + __asm__ __volatile__(""); + if (wot == 521) return fn(info); + __asm__ __volatile__(""); + if (wot == 522) return fn(info); + __asm__ __volatile__(""); + if (wot == 523) return fn(info); + __asm__ __volatile__(""); + if (wot == 524) return fn(info); + __asm__ __volatile__(""); + if (wot == 525) return fn(info); + __asm__ __volatile__(""); + if (wot == 526) return fn(info); + __asm__ __volatile__(""); + if (wot == 527) return fn(info); + __asm__ __volatile__(""); + if (wot == 528) return fn(info); + __asm__ __volatile__(""); + if (wot == 529) return fn(info); + __asm__ __volatile__(""); + if (wot == 530) return fn(info); + __asm__ __volatile__(""); + if (wot == 531) return fn(info); + __asm__ __volatile__(""); + if (wot == 532) return fn(info); + __asm__ __volatile__(""); + if (wot == 533) return fn(info); + __asm__ __volatile__(""); + if (wot == 534) return fn(info); + __asm__ __volatile__(""); + if (wot == 535) return fn(info); + __asm__ __volatile__(""); + if (wot == 536) return fn(info); + __asm__ __volatile__(""); + if (wot == 537) return fn(info); + __asm__ __volatile__(""); + if (wot == 538) return fn(info); + __asm__ __volatile__(""); + if (wot == 539) return fn(info); + __asm__ __volatile__(""); + if (wot == 540) return fn(info); + __asm__ __volatile__(""); + if (wot == 541) return fn(info); + __asm__ __volatile__(""); + if (wot == 542) return fn(info); + __asm__ __volatile__(""); + if (wot == 543) return fn(info); + __asm__ __volatile__(""); + if (wot == 544) return fn(info); + __asm__ __volatile__(""); + if (wot == 545) return fn(info); + __asm__ __volatile__(""); + if (wot == 546) return fn(info); + __asm__ __volatile__(""); + if (wot == 547) return fn(info); + __asm__ __volatile__(""); + if (wot == 548) return fn(info); + __asm__ __volatile__(""); + if (wot == 549) return fn(info); + __asm__ __volatile__(""); + if (wot == 550) return fn(info); + __asm__ __volatile__(""); + if (wot == 551) return fn(info); + __asm__ __volatile__(""); + if (wot == 552) return fn(info); + __asm__ __volatile__(""); + if (wot == 553) return fn(info); + __asm__ __volatile__(""); + if (wot == 554) return fn(info); + __asm__ __volatile__(""); + if (wot == 555) return fn(info); + __asm__ __volatile__(""); + if (wot == 556) return fn(info); + __asm__ __volatile__(""); + if (wot == 557) return fn(info); + __asm__ __volatile__(""); + if (wot == 558) return fn(info); + __asm__ __volatile__(""); + if (wot == 559) return fn(info); + __asm__ __volatile__(""); + if (wot == 560) return fn(info); + __asm__ __volatile__(""); + if (wot == 561) return fn(info); + __asm__ __volatile__(""); + if (wot == 562) return fn(info); + __asm__ __volatile__(""); + if (wot == 563) return fn(info); + __asm__ __volatile__(""); + if (wot == 564) return fn(info); + __asm__ __volatile__(""); + if (wot == 565) return fn(info); + __asm__ __volatile__(""); + if (wot == 566) return fn(info); + __asm__ __volatile__(""); + if (wot == 567) return fn(info); + __asm__ __volatile__(""); + if (wot == 568) return fn(info); + __asm__ __volatile__(""); + if (wot == 569) return fn(info); + __asm__ __volatile__(""); + if (wot == 570) return fn(info); + __asm__ __volatile__(""); + if (wot == 571) return fn(info); + __asm__ __volatile__(""); + if (wot == 572) return fn(info); + __asm__ __volatile__(""); + if (wot == 573) return fn(info); + __asm__ __volatile__(""); + if (wot == 574) return fn(info); + __asm__ __volatile__(""); + if (wot == 575) return fn(info); + __asm__ __volatile__(""); + if (wot == 576) return fn(info); + __asm__ __volatile__(""); + if (wot == 577) return fn(info); + __asm__ __volatile__(""); + if (wot == 578) return fn(info); + __asm__ __volatile__(""); + if (wot == 579) return fn(info); + __asm__ __volatile__(""); + if (wot == 580) return fn(info); + __asm__ __volatile__(""); + if (wot == 581) return fn(info); + __asm__ __volatile__(""); + if (wot == 582) return fn(info); + __asm__ __volatile__(""); + if (wot == 583) return fn(info); + __asm__ __volatile__(""); + if (wot == 584) return fn(info); + __asm__ __volatile__(""); + if (wot == 585) return fn(info); + __asm__ __volatile__(""); + if (wot == 586) return fn(info); + __asm__ __volatile__(""); + if (wot == 587) return fn(info); + __asm__ __volatile__(""); + if (wot == 588) return fn(info); + __asm__ __volatile__(""); + if (wot == 589) return fn(info); + __asm__ __volatile__(""); + if (wot == 590) return fn(info); + __asm__ __volatile__(""); + if (wot == 591) return fn(info); + __asm__ __volatile__(""); + if (wot == 592) return fn(info); + __asm__ __volatile__(""); + if (wot == 593) return fn(info); + __asm__ __volatile__(""); + if (wot == 594) return fn(info); + __asm__ __volatile__(""); + if (wot == 595) return fn(info); + __asm__ __volatile__(""); + if (wot == 596) return fn(info); + __asm__ __volatile__(""); + if (wot == 597) return fn(info); + __asm__ __volatile__(""); + if (wot == 598) return fn(info); + __asm__ __volatile__(""); + if (wot == 599) return fn(info); + __asm__ __volatile__(""); + if (wot == 600) return fn(info); + __asm__ __volatile__(""); + if (wot == 601) return fn(info); + __asm__ __volatile__(""); + if (wot == 602) return fn(info); + __asm__ __volatile__(""); + if (wot == 603) return fn(info); + __asm__ __volatile__(""); + if (wot == 604) return fn(info); + __asm__ __volatile__(""); + if (wot == 605) return fn(info); + __asm__ __volatile__(""); + if (wot == 606) return fn(info); + __asm__ __volatile__(""); + if (wot == 607) return fn(info); + __asm__ __volatile__(""); + if (wot == 608) return fn(info); + __asm__ __volatile__(""); + if (wot == 609) return fn(info); + __asm__ __volatile__(""); + if (wot == 610) return fn(info); + __asm__ __volatile__(""); + if (wot == 611) return fn(info); + __asm__ __volatile__(""); + if (wot == 612) return fn(info); + __asm__ __volatile__(""); + if (wot == 613) return fn(info); + __asm__ __volatile__(""); + if (wot == 614) return fn(info); + __asm__ __volatile__(""); + if (wot == 615) return fn(info); + __asm__ __volatile__(""); + if (wot == 616) return fn(info); + __asm__ __volatile__(""); + if (wot == 617) return fn(info); + __asm__ __volatile__(""); + if (wot == 618) return fn(info); + __asm__ __volatile__(""); + if (wot == 619) return fn(info); + __asm__ __volatile__(""); + if (wot == 620) return fn(info); + __asm__ __volatile__(""); + if (wot == 621) return fn(info); + __asm__ __volatile__(""); + if (wot == 622) return fn(info); + __asm__ __volatile__(""); + if (wot == 623) return fn(info); + __asm__ __volatile__(""); + if (wot == 624) return fn(info); + __asm__ __volatile__(""); + if (wot == 625) return fn(info); + __asm__ __volatile__(""); + if (wot == 626) return fn(info); + __asm__ __volatile__(""); + if (wot == 627) return fn(info); + __asm__ __volatile__(""); + if (wot == 628) return fn(info); + __asm__ __volatile__(""); + if (wot == 629) return fn(info); + __asm__ __volatile__(""); + if (wot == 630) return fn(info); + __asm__ __volatile__(""); + if (wot == 631) return fn(info); + __asm__ __volatile__(""); + if (wot == 632) return fn(info); + __asm__ __volatile__(""); + if (wot == 633) return fn(info); + __asm__ __volatile__(""); + if (wot == 634) return fn(info); + __asm__ __volatile__(""); + if (wot == 635) return fn(info); + __asm__ __volatile__(""); + if (wot == 636) return fn(info); + __asm__ __volatile__(""); + if (wot == 637) return fn(info); + __asm__ __volatile__(""); + if (wot == 638) return fn(info); + __asm__ __volatile__(""); + if (wot == 639) return fn(info); + __asm__ __volatile__(""); + if (wot == 640) return fn(info); + __asm__ __volatile__(""); + if (wot == 641) return fn(info); + __asm__ __volatile__(""); + if (wot == 642) return fn(info); + __asm__ __volatile__(""); + if (wot == 643) return fn(info); + __asm__ __volatile__(""); + if (wot == 644) return fn(info); + __asm__ __volatile__(""); + if (wot == 645) return fn(info); + __asm__ __volatile__(""); + if (wot == 646) return fn(info); + __asm__ __volatile__(""); + if (wot == 647) return fn(info); + __asm__ __volatile__(""); + if (wot == 648) return fn(info); + __asm__ __volatile__(""); + if (wot == 649) return fn(info); + __asm__ __volatile__(""); + if (wot == 650) return fn(info); + __asm__ __volatile__(""); + if (wot == 651) return fn(info); + __asm__ __volatile__(""); + if (wot == 652) return fn(info); + __asm__ __volatile__(""); + if (wot == 653) return fn(info); + __asm__ __volatile__(""); + if (wot == 654) return fn(info); + __asm__ __volatile__(""); + if (wot == 655) return fn(info); + __asm__ __volatile__(""); + if (wot == 656) return fn(info); + __asm__ __volatile__(""); + if (wot == 657) return fn(info); + __asm__ __volatile__(""); + if (wot == 658) return fn(info); + __asm__ __volatile__(""); + if (wot == 659) return fn(info); + __asm__ __volatile__(""); + if (wot == 660) return fn(info); + __asm__ __volatile__(""); + if (wot == 661) return fn(info); + __asm__ __volatile__(""); + if (wot == 662) return fn(info); + __asm__ __volatile__(""); + if (wot == 663) return fn(info); + __asm__ __volatile__(""); + if (wot == 664) return fn(info); + __asm__ __volatile__(""); + if (wot == 665) return fn(info); + __asm__ __volatile__(""); + if (wot == 666) return fn(info); + __asm__ __volatile__(""); + if (wot == 667) return fn(info); + __asm__ __volatile__(""); + if (wot == 668) return fn(info); + __asm__ __volatile__(""); + if (wot == 669) return fn(info); + __asm__ __volatile__(""); + if (wot == 670) return fn(info); + __asm__ __volatile__(""); + if (wot == 671) return fn(info); + __asm__ __volatile__(""); + if (wot == 672) return fn(info); + __asm__ __volatile__(""); + if (wot == 673) return fn(info); + __asm__ __volatile__(""); + if (wot == 674) return fn(info); + __asm__ __volatile__(""); + if (wot == 675) return fn(info); + __asm__ __volatile__(""); + if (wot == 676) return fn(info); + __asm__ __volatile__(""); + if (wot == 677) return fn(info); + __asm__ __volatile__(""); + if (wot == 678) return fn(info); + __asm__ __volatile__(""); + if (wot == 679) return fn(info); + __asm__ __volatile__(""); + if (wot == 680) return fn(info); + __asm__ __volatile__(""); + if (wot == 681) return fn(info); + __asm__ __volatile__(""); + if (wot == 682) return fn(info); + __asm__ __volatile__(""); + if (wot == 683) return fn(info); + __asm__ __volatile__(""); + if (wot == 684) return fn(info); + __asm__ __volatile__(""); + if (wot == 685) return fn(info); + __asm__ __volatile__(""); + if (wot == 686) return fn(info); + __asm__ __volatile__(""); + if (wot == 687) return fn(info); + __asm__ __volatile__(""); + if (wot == 688) return fn(info); + __asm__ __volatile__(""); + if (wot == 689) return fn(info); + __asm__ __volatile__(""); + if (wot == 690) return fn(info); + __asm__ __volatile__(""); + if (wot == 691) return fn(info); + __asm__ __volatile__(""); + if (wot == 692) return fn(info); + __asm__ __volatile__(""); + if (wot == 693) return fn(info); + __asm__ __volatile__(""); + if (wot == 694) return fn(info); + __asm__ __volatile__(""); + if (wot == 695) return fn(info); + __asm__ __volatile__(""); + if (wot == 696) return fn(info); + __asm__ __volatile__(""); + if (wot == 697) return fn(info); + __asm__ __volatile__(""); + if (wot == 698) return fn(info); + __asm__ __volatile__(""); + if (wot == 699) return fn(info); + __asm__ __volatile__(""); + if (wot == 700) return fn(info); + __asm__ __volatile__(""); + if (wot == 701) return fn(info); + __asm__ __volatile__(""); + if (wot == 702) return fn(info); + __asm__ __volatile__(""); + if (wot == 703) return fn(info); + __asm__ __volatile__(""); + if (wot == 704) return fn(info); + __asm__ __volatile__(""); + if (wot == 705) return fn(info); + __asm__ __volatile__(""); + if (wot == 706) return fn(info); + __asm__ __volatile__(""); + if (wot == 707) return fn(info); + __asm__ __volatile__(""); + if (wot == 708) return fn(info); + __asm__ __volatile__(""); + if (wot == 709) return fn(info); + __asm__ __volatile__(""); + if (wot == 710) return fn(info); + __asm__ __volatile__(""); + if (wot == 711) return fn(info); + __asm__ __volatile__(""); + if (wot == 712) return fn(info); + __asm__ __volatile__(""); + if (wot == 713) return fn(info); + __asm__ __volatile__(""); + if (wot == 714) return fn(info); + __asm__ __volatile__(""); + if (wot == 715) return fn(info); + __asm__ __volatile__(""); + if (wot == 716) return fn(info); + __asm__ __volatile__(""); + if (wot == 717) return fn(info); + __asm__ __volatile__(""); + if (wot == 718) return fn(info); + __asm__ __volatile__(""); + if (wot == 719) return fn(info); + __asm__ __volatile__(""); + if (wot == 720) return fn(info); + __asm__ __volatile__(""); + if (wot == 721) return fn(info); + __asm__ __volatile__(""); + if (wot == 722) return fn(info); + __asm__ __volatile__(""); + if (wot == 723) return fn(info); + __asm__ __volatile__(""); + if (wot == 724) return fn(info); + __asm__ __volatile__(""); + if (wot == 725) return fn(info); + __asm__ __volatile__(""); + if (wot == 726) return fn(info); + __asm__ __volatile__(""); + if (wot == 727) return fn(info); + __asm__ __volatile__(""); + if (wot == 728) return fn(info); + __asm__ __volatile__(""); + if (wot == 729) return fn(info); + __asm__ __volatile__(""); + if (wot == 730) return fn(info); + __asm__ __volatile__(""); + if (wot == 731) return fn(info); + __asm__ __volatile__(""); + if (wot == 732) return fn(info); + __asm__ __volatile__(""); + if (wot == 733) return fn(info); + __asm__ __volatile__(""); + if (wot == 734) return fn(info); + __asm__ __volatile__(""); + if (wot == 735) return fn(info); + __asm__ __volatile__(""); + if (wot == 736) return fn(info); + __asm__ __volatile__(""); + if (wot == 737) return fn(info); + __asm__ __volatile__(""); + if (wot == 738) return fn(info); + __asm__ __volatile__(""); + if (wot == 739) return fn(info); + __asm__ __volatile__(""); + if (wot == 740) return fn(info); + __asm__ __volatile__(""); + if (wot == 741) return fn(info); + __asm__ __volatile__(""); + if (wot == 742) return fn(info); + __asm__ __volatile__(""); + if (wot == 743) return fn(info); + __asm__ __volatile__(""); + if (wot == 744) return fn(info); + __asm__ __volatile__(""); + if (wot == 745) return fn(info); + __asm__ __volatile__(""); + if (wot == 746) return fn(info); + __asm__ __volatile__(""); + if (wot == 747) return fn(info); + __asm__ __volatile__(""); + if (wot == 748) return fn(info); + __asm__ __volatile__(""); + if (wot == 749) return fn(info); + __asm__ __volatile__(""); + if (wot == 750) return fn(info); + __asm__ __volatile__(""); + if (wot == 751) return fn(info); + __asm__ __volatile__(""); + if (wot == 752) return fn(info); + __asm__ __volatile__(""); + if (wot == 753) return fn(info); + __asm__ __volatile__(""); + if (wot == 754) return fn(info); + __asm__ __volatile__(""); + if (wot == 755) return fn(info); + __asm__ __volatile__(""); + if (wot == 756) return fn(info); + __asm__ __volatile__(""); + if (wot == 757) return fn(info); + __asm__ __volatile__(""); + if (wot == 758) return fn(info); + __asm__ __volatile__(""); + if (wot == 759) return fn(info); + __asm__ __volatile__(""); + if (wot == 760) return fn(info); + __asm__ __volatile__(""); + if (wot == 761) return fn(info); + __asm__ __volatile__(""); + if (wot == 762) return fn(info); + __asm__ __volatile__(""); + if (wot == 763) return fn(info); + __asm__ __volatile__(""); + if (wot == 764) return fn(info); + __asm__ __volatile__(""); + if (wot == 765) return fn(info); + __asm__ __volatile__(""); + if (wot == 766) return fn(info); + __asm__ __volatile__(""); + if (wot == 767) return fn(info); + __asm__ __volatile__(""); + if (wot == 768) return fn(info); + __asm__ __volatile__(""); + if (wot == 769) return fn(info); + __asm__ __volatile__(""); + if (wot == 770) return fn(info); + __asm__ __volatile__(""); + if (wot == 771) return fn(info); + __asm__ __volatile__(""); + if (wot == 772) return fn(info); + __asm__ __volatile__(""); + if (wot == 773) return fn(info); + __asm__ __volatile__(""); + if (wot == 774) return fn(info); + __asm__ __volatile__(""); + if (wot == 775) return fn(info); + __asm__ __volatile__(""); + if (wot == 776) return fn(info); + __asm__ __volatile__(""); + if (wot == 777) return fn(info); + __asm__ __volatile__(""); + if (wot == 778) return fn(info); + __asm__ __volatile__(""); + if (wot == 779) return fn(info); + __asm__ __volatile__(""); + if (wot == 780) return fn(info); + __asm__ __volatile__(""); + if (wot == 781) return fn(info); + __asm__ __volatile__(""); + if (wot == 782) return fn(info); + __asm__ __volatile__(""); + if (wot == 783) return fn(info); + __asm__ __volatile__(""); + if (wot == 784) return fn(info); + __asm__ __volatile__(""); + if (wot == 785) return fn(info); + __asm__ __volatile__(""); + if (wot == 786) return fn(info); + __asm__ __volatile__(""); + if (wot == 787) return fn(info); + __asm__ __volatile__(""); + if (wot == 788) return fn(info); + __asm__ __volatile__(""); + if (wot == 789) return fn(info); + __asm__ __volatile__(""); + if (wot == 790) return fn(info); + __asm__ __volatile__(""); + if (wot == 791) return fn(info); + __asm__ __volatile__(""); + if (wot == 792) return fn(info); + __asm__ __volatile__(""); + if (wot == 793) return fn(info); + __asm__ __volatile__(""); + if (wot == 794) return fn(info); + __asm__ __volatile__(""); + if (wot == 795) return fn(info); + __asm__ __volatile__(""); + if (wot == 796) return fn(info); + __asm__ __volatile__(""); + if (wot == 797) return fn(info); + __asm__ __volatile__(""); + if (wot == 798) return fn(info); + __asm__ __volatile__(""); + if (wot == 799) return fn(info); + __asm__ __volatile__(""); + if (wot == 800) return fn(info); + __asm__ __volatile__(""); + if (wot == 801) return fn(info); + __asm__ __volatile__(""); + if (wot == 802) return fn(info); + __asm__ __volatile__(""); + if (wot == 803) return fn(info); + __asm__ __volatile__(""); + if (wot == 804) return fn(info); + __asm__ __volatile__(""); + if (wot == 805) return fn(info); + __asm__ __volatile__(""); + if (wot == 806) return fn(info); + __asm__ __volatile__(""); + if (wot == 807) return fn(info); + __asm__ __volatile__(""); + if (wot == 808) return fn(info); + __asm__ __volatile__(""); + if (wot == 809) return fn(info); + __asm__ __volatile__(""); + if (wot == 810) return fn(info); + __asm__ __volatile__(""); + if (wot == 811) return fn(info); + __asm__ __volatile__(""); + if (wot == 812) return fn(info); + __asm__ __volatile__(""); + if (wot == 813) return fn(info); + __asm__ __volatile__(""); + if (wot == 814) return fn(info); + __asm__ __volatile__(""); + if (wot == 815) return fn(info); + __asm__ __volatile__(""); + if (wot == 816) return fn(info); + __asm__ __volatile__(""); + if (wot == 817) return fn(info); + __asm__ __volatile__(""); + if (wot == 818) return fn(info); + __asm__ __volatile__(""); + if (wot == 819) return fn(info); + __asm__ __volatile__(""); + if (wot == 820) return fn(info); + __asm__ __volatile__(""); + if (wot == 821) return fn(info); + __asm__ __volatile__(""); + if (wot == 822) return fn(info); + __asm__ __volatile__(""); + if (wot == 823) return fn(info); + __asm__ __volatile__(""); + if (wot == 824) return fn(info); + __asm__ __volatile__(""); + if (wot == 825) return fn(info); + __asm__ __volatile__(""); + if (wot == 826) return fn(info); + __asm__ __volatile__(""); + if (wot == 827) return fn(info); + __asm__ __volatile__(""); + if (wot == 828) return fn(info); + __asm__ __volatile__(""); + if (wot == 829) return fn(info); + __asm__ __volatile__(""); + if (wot == 830) return fn(info); + __asm__ __volatile__(""); + if (wot == 831) return fn(info); + __asm__ __volatile__(""); + if (wot == 832) return fn(info); + __asm__ __volatile__(""); + if (wot == 833) return fn(info); + __asm__ __volatile__(""); + if (wot == 834) return fn(info); + __asm__ __volatile__(""); + if (wot == 835) return fn(info); + __asm__ __volatile__(""); + if (wot == 836) return fn(info); + __asm__ __volatile__(""); + if (wot == 837) return fn(info); + __asm__ __volatile__(""); + if (wot == 838) return fn(info); + __asm__ __volatile__(""); + if (wot == 839) return fn(info); + __asm__ __volatile__(""); + if (wot == 840) return fn(info); + __asm__ __volatile__(""); + if (wot == 841) return fn(info); + __asm__ __volatile__(""); + if (wot == 842) return fn(info); + __asm__ __volatile__(""); + if (wot == 843) return fn(info); + __asm__ __volatile__(""); + if (wot == 844) return fn(info); + __asm__ __volatile__(""); + if (wot == 845) return fn(info); + __asm__ __volatile__(""); + if (wot == 846) return fn(info); + __asm__ __volatile__(""); + if (wot == 847) return fn(info); + __asm__ __volatile__(""); + if (wot == 848) return fn(info); + __asm__ __volatile__(""); + if (wot == 849) return fn(info); + __asm__ __volatile__(""); + if (wot == 850) return fn(info); + __asm__ __volatile__(""); + if (wot == 851) return fn(info); + __asm__ __volatile__(""); + if (wot == 852) return fn(info); + __asm__ __volatile__(""); + if (wot == 853) return fn(info); + __asm__ __volatile__(""); + if (wot == 854) return fn(info); + __asm__ __volatile__(""); + if (wot == 855) return fn(info); + __asm__ __volatile__(""); + if (wot == 856) return fn(info); + __asm__ __volatile__(""); + if (wot == 857) return fn(info); + __asm__ __volatile__(""); + if (wot == 858) return fn(info); + __asm__ __volatile__(""); + if (wot == 859) return fn(info); + __asm__ __volatile__(""); + if (wot == 860) return fn(info); + __asm__ __volatile__(""); + if (wot == 861) return fn(info); + __asm__ __volatile__(""); + if (wot == 862) return fn(info); + __asm__ __volatile__(""); + if (wot == 863) return fn(info); + __asm__ __volatile__(""); + if (wot == 864) return fn(info); + __asm__ __volatile__(""); + if (wot == 865) return fn(info); + __asm__ __volatile__(""); + if (wot == 866) return fn(info); + __asm__ __volatile__(""); + if (wot == 867) return fn(info); + __asm__ __volatile__(""); + if (wot == 868) return fn(info); + __asm__ __volatile__(""); + if (wot == 869) return fn(info); + __asm__ __volatile__(""); + if (wot == 870) return fn(info); + __asm__ __volatile__(""); + if (wot == 871) return fn(info); + __asm__ __volatile__(""); + if (wot == 872) return fn(info); + __asm__ __volatile__(""); + if (wot == 873) return fn(info); + __asm__ __volatile__(""); + if (wot == 874) return fn(info); + __asm__ __volatile__(""); + if (wot == 875) return fn(info); + __asm__ __volatile__(""); + if (wot == 876) return fn(info); + __asm__ __volatile__(""); + if (wot == 877) return fn(info); + __asm__ __volatile__(""); + if (wot == 878) return fn(info); + __asm__ __volatile__(""); + if (wot == 879) return fn(info); + __asm__ __volatile__(""); + if (wot == 880) return fn(info); + __asm__ __volatile__(""); + if (wot == 881) return fn(info); + __asm__ __volatile__(""); + if (wot == 882) return fn(info); + __asm__ __volatile__(""); + if (wot == 883) return fn(info); + __asm__ __volatile__(""); + if (wot == 884) return fn(info); + __asm__ __volatile__(""); + if (wot == 885) return fn(info); + __asm__ __volatile__(""); + if (wot == 886) return fn(info); + __asm__ __volatile__(""); + if (wot == 887) return fn(info); + __asm__ __volatile__(""); + if (wot == 888) return fn(info); + __asm__ __volatile__(""); + if (wot == 889) return fn(info); + __asm__ __volatile__(""); + if (wot == 890) return fn(info); + __asm__ __volatile__(""); + if (wot == 891) return fn(info); + __asm__ __volatile__(""); + if (wot == 892) return fn(info); + __asm__ __volatile__(""); + if (wot == 893) return fn(info); + __asm__ __volatile__(""); + if (wot == 894) return fn(info); + __asm__ __volatile__(""); + if (wot == 895) return fn(info); + __asm__ __volatile__(""); + if (wot == 896) return fn(info); + __asm__ __volatile__(""); + if (wot == 897) return fn(info); + __asm__ __volatile__(""); + if (wot == 898) return fn(info); + __asm__ __volatile__(""); + if (wot == 899) return fn(info); + __asm__ __volatile__(""); + if (wot == 900) return fn(info); + __asm__ __volatile__(""); + if (wot == 901) return fn(info); + __asm__ __volatile__(""); + if (wot == 902) return fn(info); + __asm__ __volatile__(""); + if (wot == 903) return fn(info); + __asm__ __volatile__(""); + if (wot == 904) return fn(info); + __asm__ __volatile__(""); + if (wot == 905) return fn(info); + __asm__ __volatile__(""); + if (wot == 906) return fn(info); + __asm__ __volatile__(""); + if (wot == 907) return fn(info); + __asm__ __volatile__(""); + if (wot == 908) return fn(info); + __asm__ __volatile__(""); + if (wot == 909) return fn(info); + __asm__ __volatile__(""); + if (wot == 910) return fn(info); + __asm__ __volatile__(""); + if (wot == 911) return fn(info); + __asm__ __volatile__(""); + if (wot == 912) return fn(info); + __asm__ __volatile__(""); + if (wot == 913) return fn(info); + __asm__ __volatile__(""); + if (wot == 914) return fn(info); + __asm__ __volatile__(""); + if (wot == 915) return fn(info); + __asm__ __volatile__(""); + if (wot == 916) return fn(info); + __asm__ __volatile__(""); + if (wot == 917) return fn(info); + __asm__ __volatile__(""); + if (wot == 918) return fn(info); + __asm__ __volatile__(""); + if (wot == 919) return fn(info); + __asm__ __volatile__(""); + if (wot == 920) return fn(info); + __asm__ __volatile__(""); + if (wot == 921) return fn(info); + __asm__ __volatile__(""); + if (wot == 922) return fn(info); + __asm__ __volatile__(""); + if (wot == 923) return fn(info); + __asm__ __volatile__(""); + if (wot == 924) return fn(info); + __asm__ __volatile__(""); + if (wot == 925) return fn(info); + __asm__ __volatile__(""); + if (wot == 926) return fn(info); + __asm__ __volatile__(""); + if (wot == 927) return fn(info); + __asm__ __volatile__(""); + if (wot == 928) return fn(info); + __asm__ __volatile__(""); + if (wot == 929) return fn(info); + __asm__ __volatile__(""); + if (wot == 930) return fn(info); + __asm__ __volatile__(""); + if (wot == 931) return fn(info); + __asm__ __volatile__(""); + if (wot == 932) return fn(info); + __asm__ __volatile__(""); + if (wot == 933) return fn(info); + __asm__ __volatile__(""); + if (wot == 934) return fn(info); + __asm__ __volatile__(""); + if (wot == 935) return fn(info); + __asm__ __volatile__(""); + if (wot == 936) return fn(info); + __asm__ __volatile__(""); + if (wot == 937) return fn(info); + __asm__ __volatile__(""); + if (wot == 938) return fn(info); + __asm__ __volatile__(""); + if (wot == 939) return fn(info); + __asm__ __volatile__(""); + if (wot == 940) return fn(info); + __asm__ __volatile__(""); + if (wot == 941) return fn(info); + __asm__ __volatile__(""); + if (wot == 942) return fn(info); + __asm__ __volatile__(""); + if (wot == 943) return fn(info); + __asm__ __volatile__(""); + if (wot == 944) return fn(info); + __asm__ __volatile__(""); + if (wot == 945) return fn(info); + __asm__ __volatile__(""); + if (wot == 946) return fn(info); + __asm__ __volatile__(""); + if (wot == 947) return fn(info); + __asm__ __volatile__(""); + if (wot == 948) return fn(info); + __asm__ __volatile__(""); + if (wot == 949) return fn(info); + __asm__ __volatile__(""); + if (wot == 950) return fn(info); + __asm__ __volatile__(""); + if (wot == 951) return fn(info); + __asm__ __volatile__(""); + if (wot == 952) return fn(info); + __asm__ __volatile__(""); + if (wot == 953) return fn(info); + __asm__ __volatile__(""); + if (wot == 954) return fn(info); + __asm__ __volatile__(""); + if (wot == 955) return fn(info); + __asm__ __volatile__(""); + if (wot == 956) return fn(info); + __asm__ __volatile__(""); + if (wot == 957) return fn(info); + __asm__ __volatile__(""); + if (wot == 958) return fn(info); + __asm__ __volatile__(""); + if (wot == 959) return fn(info); + __asm__ __volatile__(""); + if (wot == 960) return fn(info); + __asm__ __volatile__(""); + if (wot == 961) return fn(info); + __asm__ __volatile__(""); + if (wot == 962) return fn(info); + __asm__ __volatile__(""); + if (wot == 963) return fn(info); + __asm__ __volatile__(""); + if (wot == 964) return fn(info); + __asm__ __volatile__(""); + if (wot == 965) return fn(info); + __asm__ __volatile__(""); + if (wot == 966) return fn(info); + __asm__ __volatile__(""); + if (wot == 967) return fn(info); + __asm__ __volatile__(""); + if (wot == 968) return fn(info); + __asm__ __volatile__(""); + if (wot == 969) return fn(info); + __asm__ __volatile__(""); + if (wot == 970) return fn(info); + __asm__ __volatile__(""); + if (wot == 971) return fn(info); + __asm__ __volatile__(""); + if (wot == 972) return fn(info); + __asm__ __volatile__(""); + if (wot == 973) return fn(info); + __asm__ __volatile__(""); + if (wot == 974) return fn(info); + __asm__ __volatile__(""); + if (wot == 975) return fn(info); + __asm__ __volatile__(""); + if (wot == 976) return fn(info); + __asm__ __volatile__(""); + if (wot == 977) return fn(info); + __asm__ __volatile__(""); + if (wot == 978) return fn(info); + __asm__ __volatile__(""); + if (wot == 979) return fn(info); + __asm__ __volatile__(""); + if (wot == 980) return fn(info); + __asm__ __volatile__(""); + if (wot == 981) return fn(info); + __asm__ __volatile__(""); + if (wot == 982) return fn(info); + __asm__ __volatile__(""); + if (wot == 983) return fn(info); + __asm__ __volatile__(""); + if (wot == 984) return fn(info); + __asm__ __volatile__(""); + if (wot == 985) return fn(info); + __asm__ __volatile__(""); + if (wot == 986) return fn(info); + __asm__ __volatile__(""); + if (wot == 987) return fn(info); + __asm__ __volatile__(""); + if (wot == 988) return fn(info); + __asm__ __volatile__(""); + if (wot == 989) return fn(info); + __asm__ __volatile__(""); + if (wot == 990) return fn(info); + __asm__ __volatile__(""); + if (wot == 991) return fn(info); + __asm__ __volatile__(""); + if (wot == 992) return fn(info); + __asm__ __volatile__(""); + if (wot == 993) return fn(info); + __asm__ __volatile__(""); + if (wot == 994) return fn(info); + __asm__ __volatile__(""); + if (wot == 995) return fn(info); + __asm__ __volatile__(""); + if (wot == 996) return fn(info); + __asm__ __volatile__(""); + if (wot == 997) return fn(info); + __asm__ __volatile__(""); + if (wot == 998) return fn(info); + __asm__ __volatile__(""); + if (wot == 999) return fn(info); + __asm__ __volatile__(""); + assert(0); + return 0; /* keep gcc happy on AIX */ +} diff --git a/helgrind/tests/tc19_shadowmem.stderr.exp b/helgrind/tests/tc19_shadowmem.stderr.exp new file mode 100644 index 0000000..1e580d2 --- /dev/null +++ b/helgrind/tests/tc19_shadowmem.stderr.exp @@ -0,0 +1,15304 @@ + + +=========================================================== +=== 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 === +=========================================================== + +---------- char gran, 0 .. 99, skip 0 ---------- +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:288) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:288) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 1 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:290) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:290) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 2 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:292) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:292) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 3 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:294) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:294) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 4 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:296) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:296) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 5 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:298) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:298) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 6 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:300) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:300) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 7 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:302) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:302) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 8 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:304) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:304) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 9 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:306) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:306) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 10 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:308) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:308) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 11 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:310) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:310) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 12 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:312) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:312) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 13 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:314) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:314) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 14 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:316) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:316) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 15 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:318) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:318) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 16 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:320) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:320) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 17 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:322) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:322) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 18 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:324) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:324) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 19 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:326) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:326) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 20 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:328) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:328) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 21 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:330) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:330) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 22 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:332) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:332) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 23 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:334) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:334) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 24 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:336) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:336) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 25 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:338) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:338) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 26 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:340) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:340) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 27 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:342) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:342) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 28 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:344) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:344) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 29 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:346) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:346) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 30 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:348) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:348) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 31 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:350) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:350) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 32 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:352) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:352) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 33 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:354) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:354) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 34 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:356) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:356) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 35 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:358) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:358) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 36 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:360) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:360) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 37 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:362) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:362) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 38 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:364) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:364) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 39 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:366) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:366) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 40 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:368) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:368) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 41 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:370) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:370) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 42 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:372) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:372) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 43 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:374) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:374) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 44 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:376) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:376) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 45 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:378) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:378) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 46 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:380) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:380) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 47 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:382) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:382) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 48 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:384) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:384) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 49 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:386) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:386) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 50 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:388) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:388) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 51 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:390) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:390) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 52 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:392) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:392) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 53 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:394) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:394) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 54 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:396) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:396) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 55 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:398) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:398) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 56 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:400) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:400) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 57 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:402) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:402) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 58 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:404) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:404) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 59 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:406) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:406) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 60 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:408) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:408) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 61 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:410) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:410) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 62 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:412) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:412) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 63 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:414) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:414) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 64 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:416) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:416) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 65 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:418) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:418) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 66 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:420) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:420) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 67 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:422) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:422) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 68 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:424) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:424) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 69 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:426) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:426) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 70 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:428) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:428) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 71 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:430) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:430) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 72 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:432) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:432) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 73 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:434) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:434) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 74 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:436) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:436) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 75 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:438) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:438) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 76 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:440) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:440) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 77 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:442) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:442) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 78 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:444) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:444) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 79 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:446) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:446) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 80 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:448) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:448) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 81 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:450) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:450) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 82 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:452) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:452) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 83 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:454) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:454) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 84 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:456) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:456) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 85 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:458) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:458) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 86 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:460) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:460) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 87 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:462) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:462) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 88 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:464) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:464) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 89 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:466) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:466) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 90 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:468) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:468) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 91 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:470) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:470) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 92 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:472) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:472) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 93 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:474) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:474) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 94 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:476) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:476) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 95 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:478) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:478) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 96 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:480) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:480) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 97 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:482) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:482) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- char gran, 0 .. 99, skip 98 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:173) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:172) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:484) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child8 (tc19_shadowmem.c:33) + by 0x........: steer (tc19_shadowmem.c:484) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +========================================================== +=== 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 === +========================================================== + +---------- short gran, 0 .. 98, skip 0 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:288) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:288) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +More than 100 errors detected. Subsequent errors +will still be recorded, but in less detail than before. +---------- short gran, 1 .. 98, skip 1 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:290) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:290) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:290) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:290) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 0 .. 98, skip 2 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:292) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:292) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 1 .. 98, skip 3 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:294) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:294) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:294) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:294) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 0 .. 98, skip 4 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:296) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:296) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 1 .. 98, skip 5 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:298) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:298) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:298) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:298) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 0 .. 98, skip 6 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:300) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:300) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 1 .. 98, skip 7 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:302) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:302) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:302) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:302) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 0 .. 98, skip 8 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:304) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:304) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 1 .. 98, skip 9 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:306) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:306) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:306) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:306) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 0 .. 98, skip 10 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:308) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:308) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 1 .. 98, skip 11 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:310) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:310) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:310) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:310) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 0 .. 98, skip 12 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:312) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:312) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 1 .. 98, skip 13 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:314) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:314) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:314) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:314) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 0 .. 98, skip 14 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:316) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:316) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 1 .. 98, skip 15 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:318) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:318) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:318) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:318) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 0 .. 98, skip 16 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:320) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:320) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 1 .. 98, skip 17 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:322) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:322) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:322) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:322) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 0 .. 98, skip 18 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:324) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:324) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 1 .. 98, skip 19 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:326) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:326) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:326) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:326) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 0 .. 98, skip 20 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:328) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:328) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 1 .. 98, skip 21 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:330) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:330) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:330) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:330) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 0 .. 98, skip 22 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:332) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:332) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 1 .. 98, skip 23 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:334) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:334) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:334) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:334) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 0 .. 98, skip 24 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:336) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:336) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 1 .. 98, skip 25 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:338) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:338) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:338) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:338) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 0 .. 98, skip 26 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:340) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:340) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 1 .. 98, skip 27 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:342) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:342) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:342) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:342) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 0 .. 98, skip 28 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:344) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:344) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 1 .. 98, skip 29 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:346) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:346) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:346) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:346) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 0 .. 98, skip 30 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:348) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:348) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 1 .. 98, skip 31 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:350) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:350) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:350) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:350) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 0 .. 98, skip 32 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:352) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:352) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 1 .. 98, skip 33 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:354) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:354) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:354) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:354) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 0 .. 98, skip 34 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:356) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:356) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 1 .. 98, skip 35 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:358) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:358) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:358) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:358) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 0 .. 98, skip 36 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:360) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:360) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 1 .. 98, skip 37 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:362) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:362) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:362) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:362) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 0 .. 98, skip 38 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:364) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:364) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 1 .. 98, skip 39 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:366) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:366) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:366) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:366) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 0 .. 98, skip 40 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:368) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:368) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 1 .. 98, skip 41 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:370) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:370) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:370) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:370) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 0 .. 98, skip 42 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:372) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:372) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 1 .. 98, skip 43 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:374) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:374) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:374) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:374) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 0 .. 98, skip 44 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:376) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:376) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 1 .. 98, skip 45 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:378) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:378) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:378) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:378) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 0 .. 98, skip 46 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:380) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:380) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 1 .. 98, skip 47 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:382) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:382) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:382) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:382) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 0 .. 98, skip 48 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:384) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:384) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 1 .. 98, skip 49 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:386) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:386) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:386) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:386) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 0 .. 98, skip 50 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:388) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:388) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 1 .. 98, skip 51 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:390) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:390) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:390) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:390) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 0 .. 98, skip 52 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:392) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:392) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 1 .. 98, skip 53 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:394) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:394) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:394) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:394) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 0 .. 98, skip 54 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:396) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:396) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 1 .. 98, skip 55 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:398) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:398) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:398) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:398) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 0 .. 98, skip 56 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:400) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:400) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 1 .. 98, skip 57 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:402) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:402) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:402) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:402) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 0 .. 98, skip 58 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:404) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:404) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 1 .. 98, skip 59 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:406) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:406) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:406) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:406) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 0 .. 98, skip 60 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:408) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:408) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 1 .. 98, skip 61 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:410) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:410) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:410) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:410) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 0 .. 98, skip 62 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:412) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:412) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 1 .. 98, skip 63 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:414) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:414) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:414) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:414) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 0 .. 98, skip 64 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:416) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:416) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 1 .. 98, skip 65 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:418) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:418) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:418) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:418) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 0 .. 98, skip 66 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:420) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:420) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 1 .. 98, skip 67 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:422) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:422) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:422) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:422) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 0 .. 98, skip 68 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:424) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:424) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 1 .. 98, skip 69 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:426) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:426) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:426) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:426) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 0 .. 98, skip 70 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:428) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:428) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 1 .. 98, skip 71 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:430) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:430) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:430) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:430) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 0 .. 98, skip 72 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:432) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:432) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 1 .. 98, skip 73 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:434) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:434) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:434) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:434) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 0 .. 98, skip 74 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:436) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:436) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 1 .. 98, skip 75 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:438) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:438) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:438) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:438) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 0 .. 98, skip 76 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:440) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:440) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 1 .. 98, skip 77 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:442) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:442) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:442) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:442) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 0 .. 98, skip 78 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:444) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:444) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 1 .. 98, skip 79 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:446) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:446) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:446) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:446) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 0 .. 98, skip 80 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:448) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:448) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 1 .. 98, skip 81 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:450) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:450) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:450) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:450) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 0 .. 98, skip 82 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:452) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:452) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 1 .. 98, skip 83 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:454) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:454) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:454) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:454) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 0 .. 98, skip 84 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:456) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:456) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 1 .. 98, skip 85 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:458) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:458) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:458) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:458) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 0 .. 98, skip 86 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:460) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:460) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 1 .. 98, skip 87 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:462) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:462) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:462) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:462) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 0 .. 98, skip 88 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:464) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:464) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 1 .. 98, skip 89 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:466) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:466) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:466) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:466) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 0 .. 98, skip 90 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:468) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:468) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 1 .. 98, skip 91 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:470) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:470) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:470) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:470) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 0 .. 98, skip 92 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:472) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:472) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 1 .. 98, skip 93 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:474) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:474) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:474) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:474) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 0 .. 98, skip 94 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:476) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:476) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 1 .. 98, skip 95 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:478) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:478) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:478) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:478) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 0 .. 98, skip 96 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:480) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:480) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- short gran, 1 .. 98, skip 97 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:204) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:203) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:482) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:482) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:482) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child16 (tc19_shadowmem.c:57) + by 0x........: steer (tc19_shadowmem.c:482) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +========================================================== +=== 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 === +========================================================== + +---------- int gran, 0 .. 96, skip 0 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:288) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:288) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 1 .. 96, skip 1 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:290) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:290) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:290) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:290) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:290) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:290) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:290) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:290) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 2 .. 96, skip 2 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:292) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:292) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:292) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:292) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 3 .. 96, skip 3 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:294) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:294) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:294) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:294) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:294) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:294) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:294) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:294) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 0 .. 96, skip 4 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:296) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:296) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 1 .. 96, skip 5 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:298) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:298) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:298) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:298) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:298) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:298) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:298) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:298) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 2 .. 96, skip 6 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:300) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:300) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:300) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:300) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 3 .. 96, skip 7 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:302) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:302) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:302) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:302) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:302) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:302) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:302) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:302) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 0 .. 96, skip 8 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:304) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:304) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 1 .. 96, skip 9 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:306) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:306) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:306) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:306) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:306) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:306) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:306) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:306) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 2 .. 96, skip 10 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:308) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:308) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:308) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:308) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 3 .. 96, skip 11 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:310) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:310) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:310) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:310) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:310) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:310) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:310) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:310) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 0 .. 96, skip 12 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:312) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:312) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 1 .. 96, skip 13 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:314) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:314) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:314) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:314) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:314) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:314) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:314) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:314) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 2 .. 96, skip 14 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:316) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:316) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:316) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:316) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 3 .. 96, skip 15 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:318) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:318) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:318) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:318) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:318) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:318) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:318) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:318) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 0 .. 96, skip 16 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:320) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:320) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 1 .. 96, skip 17 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:322) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:322) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:322) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:322) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:322) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:322) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:322) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:322) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 2 .. 96, skip 18 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:324) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:324) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:324) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:324) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 3 .. 96, skip 19 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:326) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:326) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:326) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:326) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:326) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:326) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:326) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:326) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 0 .. 96, skip 20 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:328) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:328) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 1 .. 96, skip 21 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:330) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:330) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:330) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:330) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:330) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:330) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:330) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:330) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 2 .. 96, skip 22 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:332) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:332) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:332) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:332) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 3 .. 96, skip 23 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:334) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:334) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:334) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:334) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:334) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:334) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:334) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:334) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 0 .. 96, skip 24 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:336) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:336) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 1 .. 96, skip 25 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:338) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:338) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:338) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:338) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:338) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:338) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:338) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:338) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 2 .. 96, skip 26 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:340) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:340) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:340) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:340) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 3 .. 96, skip 27 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:342) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:342) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:342) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:342) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:342) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:342) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:342) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:342) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 0 .. 96, skip 28 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:344) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:344) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 1 .. 96, skip 29 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:346) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:346) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:346) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:346) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:346) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:346) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:346) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:346) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 2 .. 96, skip 30 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:348) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:348) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:348) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:348) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 3 .. 96, skip 31 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:350) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:350) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:350) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:350) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:350) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:350) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:350) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:350) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 0 .. 96, skip 32 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:352) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:352) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 1 .. 96, skip 33 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:354) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:354) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:354) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:354) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:354) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:354) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:354) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:354) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 2 .. 96, skip 34 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:356) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:356) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:356) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:356) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 3 .. 96, skip 35 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:358) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:358) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:358) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:358) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:358) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:358) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:358) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:358) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 0 .. 96, skip 36 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:360) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:360) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 1 .. 96, skip 37 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:362) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:362) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:362) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:362) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:362) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:362) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:362) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:362) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 2 .. 96, skip 38 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:364) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:364) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:364) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:364) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 3 .. 96, skip 39 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:366) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:366) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:366) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:366) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:366) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:366) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:366) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:366) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 0 .. 96, skip 40 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:368) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:368) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 1 .. 96, skip 41 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:370) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:370) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:370) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:370) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:370) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:370) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:370) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:370) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 2 .. 96, skip 42 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:372) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:372) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:372) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:372) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 3 .. 96, skip 43 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:374) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:374) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:374) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:374) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:374) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:374) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:374) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:374) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 0 .. 96, skip 44 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:376) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:376) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 1 .. 96, skip 45 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:378) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:378) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:378) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:378) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:378) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:378) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:378) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:378) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 2 .. 96, skip 46 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:380) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:380) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:380) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:380) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 3 .. 96, skip 47 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:382) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:382) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:382) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:382) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:382) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:382) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:382) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:382) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 0 .. 96, skip 48 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:384) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:384) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 1 .. 96, skip 49 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:386) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:386) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:386) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:386) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:386) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:386) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:386) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:386) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 2 .. 96, skip 50 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:388) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:388) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:388) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:388) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 3 .. 96, skip 51 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:390) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:390) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:390) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:390) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:390) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:390) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:390) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:390) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 0 .. 96, skip 52 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:392) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:392) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 1 .. 96, skip 53 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:394) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:394) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:394) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:394) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:394) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:394) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:394) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:394) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 2 .. 96, skip 54 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:396) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:396) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:396) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:396) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 3 .. 96, skip 55 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:398) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:398) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:398) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:398) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:398) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:398) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:398) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:398) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 0 .. 96, skip 56 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:400) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:400) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 1 .. 96, skip 57 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:402) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:402) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:402) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:402) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:402) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:402) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:402) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:402) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 2 .. 96, skip 58 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:404) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:404) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:404) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:404) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 3 .. 96, skip 59 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:406) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:406) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:406) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:406) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:406) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:406) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:406) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:406) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 0 .. 96, skip 60 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:408) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:408) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 1 .. 96, skip 61 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:410) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:410) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:410) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:410) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:410) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:410) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:410) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:410) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 2 .. 96, skip 62 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:412) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:412) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:412) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:412) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 3 .. 96, skip 63 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:414) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:414) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:414) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:414) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:414) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:414) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:414) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:414) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 0 .. 96, skip 64 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:416) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:416) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 1 .. 96, skip 65 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:418) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:418) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:418) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:418) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:418) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:418) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:418) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:418) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 2 .. 96, skip 66 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:420) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:420) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:420) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:420) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 3 .. 96, skip 67 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:422) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:422) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:422) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:422) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:422) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:422) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:422) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:422) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 0 .. 96, skip 68 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:424) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:424) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 1 .. 96, skip 69 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:426) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:426) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:426) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:426) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:426) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:426) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:426) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:426) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 2 .. 96, skip 70 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:428) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:428) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:428) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:428) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 3 .. 96, skip 71 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:430) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:430) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:430) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:430) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:430) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:430) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:430) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:430) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 0 .. 96, skip 72 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:432) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:432) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 1 .. 96, skip 73 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:434) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:434) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:434) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:434) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:434) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:434) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:434) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:434) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 2 .. 96, skip 74 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:436) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:436) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:436) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:436) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 3 .. 96, skip 75 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:438) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:438) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:438) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:438) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:438) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:438) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:438) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:438) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 0 .. 96, skip 76 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:440) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:440) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 1 .. 96, skip 77 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:442) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:442) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:442) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:442) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:442) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:442) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:442) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:442) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 2 .. 96, skip 78 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:444) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:444) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:444) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:444) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 3 .. 96, skip 79 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:446) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:446) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:446) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:446) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:446) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:446) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:446) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:446) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 0 .. 96, skip 80 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:448) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:448) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 1 .. 96, skip 81 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:450) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:450) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:450) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:450) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:450) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:450) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:450) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:450) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 2 .. 96, skip 82 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:452) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:452) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:452) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:452) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 3 .. 96, skip 83 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:454) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:454) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:454) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:454) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:454) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:454) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:454) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:454) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 0 .. 96, skip 84 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:456) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:456) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 1 .. 96, skip 85 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:458) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:458) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:458) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:458) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:458) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:458) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:458) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:458) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 2 .. 96, skip 86 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:460) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:460) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:460) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:460) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 3 .. 96, skip 87 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:462) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:462) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:462) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:462) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:462) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:462) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:462) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:462) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 0 .. 96, skip 88 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:464) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:464) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 1 .. 96, skip 89 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:466) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:466) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:466) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:466) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:466) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:466) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:466) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:466) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 2 .. 96, skip 90 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:468) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:468) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:468) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:468) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 3 .. 96, skip 91 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:470) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:470) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:470) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:470) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:470) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:470) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:470) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:470) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 0 .. 96, skip 92 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:472) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:472) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 1 .. 96, skip 93 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:474) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:474) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:474) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:474) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:474) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:474) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:474) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:474) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 2 .. 96, skip 94 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:476) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:476) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:476) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:476) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- int gran, 3 .. 96, skip 95 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:235) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:234) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:478) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:478) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:478) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:478) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:478) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:478) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:478) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child32 (tc19_shadowmem.c:81) + by 0x........: steer (tc19_shadowmem.c:478) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +========================================================== +=== 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 === +========================================================== + +---------- double gran, 0 .. 92, skip 0 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 8 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:288) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 8 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:288) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 1 .. 92, skip 1 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:290) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:290) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:290) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:290) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:290) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:290) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:290) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:290) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:290) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:290) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:290) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:290) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:290) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:290) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:290) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:290) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 2 .. 92, skip 2 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:292) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:292) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:292) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:292) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:292) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:292) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:292) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:292) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 3 .. 92, skip 3 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:294) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:294) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:294) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:294) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:294) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:294) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:294) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:294) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:294) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:294) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:294) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:294) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:294) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:294) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:294) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:294) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 4 .. 92, skip 4 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:296) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:296) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:296) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:296) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 5 .. 92, skip 5 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:298) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:298) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:298) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:298) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:298) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:298) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:298) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:298) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:298) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:298) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:298) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:298) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:298) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:298) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:298) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:298) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 6 .. 92, skip 6 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:300) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:300) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:300) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:300) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:300) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:300) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:300) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:300) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 7 .. 92, skip 7 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:302) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:302) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:302) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:302) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:302) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:302) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:302) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:302) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:302) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:302) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:302) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:302) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:302) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:302) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:302) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:302) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 0 .. 92, skip 8 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 8 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:304) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 8 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:304) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 1 .. 92, skip 9 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:306) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:306) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:306) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:306) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:306) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:306) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:306) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:306) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:306) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:306) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:306) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:306) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:306) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:306) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:306) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:306) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 2 .. 92, skip 10 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:308) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:308) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:308) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:308) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:308) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:308) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:308) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:308) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 3 .. 92, skip 11 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:310) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:310) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:310) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:310) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:310) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:310) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:310) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:310) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:310) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:310) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:310) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:310) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:310) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:310) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:310) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:310) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 4 .. 92, skip 12 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:312) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:312) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:312) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:312) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 5 .. 92, skip 13 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:314) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:314) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:314) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:314) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:314) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:314) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:314) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:314) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:314) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:314) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:314) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:314) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:314) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:314) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:314) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:314) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 6 .. 92, skip 14 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:316) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:316) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:316) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:316) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:316) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:316) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:316) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:316) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 7 .. 92, skip 15 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:318) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:318) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:318) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:318) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:318) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:318) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:318) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:318) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:318) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:318) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:318) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:318) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:318) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:318) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:318) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:318) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 0 .. 92, skip 16 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 8 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:320) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 8 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:320) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 1 .. 92, skip 17 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:322) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:322) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:322) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:322) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:322) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:322) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:322) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:322) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:322) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:322) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:322) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:322) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:322) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:322) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:322) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:322) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 2 .. 92, skip 18 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:324) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:324) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:324) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:324) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:324) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:324) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:324) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:324) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 3 .. 92, skip 19 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:326) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:326) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:326) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:326) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:326) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:326) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:326) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:326) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:326) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:326) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:326) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:326) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:326) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:326) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:326) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:326) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 4 .. 92, skip 20 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:328) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:328) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:328) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:328) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 5 .. 92, skip 21 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:330) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:330) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:330) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:330) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:330) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:330) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:330) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:330) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:330) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:330) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:330) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:330) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:330) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:330) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:330) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:330) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 6 .. 92, skip 22 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:332) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:332) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:332) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:332) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:332) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:332) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:332) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:332) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 7 .. 92, skip 23 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:334) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:334) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:334) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:334) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:334) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:334) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:334) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:334) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:334) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:334) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:334) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:334) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:334) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:334) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:334) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:334) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 0 .. 92, skip 24 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 8 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:336) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 8 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:336) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 1 .. 92, skip 25 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:338) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:338) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:338) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:338) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:338) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:338) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:338) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:338) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:338) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:338) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:338) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:338) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:338) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:338) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:338) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:338) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 2 .. 92, skip 26 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:340) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:340) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:340) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:340) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:340) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:340) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:340) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:340) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 3 .. 92, skip 27 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:342) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:342) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:342) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:342) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:342) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:342) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:342) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:342) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:342) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:342) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:342) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:342) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:342) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:342) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:342) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:342) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 4 .. 92, skip 28 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:344) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:344) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:344) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:344) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 5 .. 92, skip 29 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:346) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:346) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:346) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:346) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:346) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:346) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:346) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:346) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:346) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:346) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:346) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:346) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:346) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:346) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:346) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:346) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 6 .. 92, skip 30 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:348) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:348) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:348) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:348) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:348) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:348) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:348) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:348) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 7 .. 92, skip 31 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:350) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:350) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:350) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:350) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:350) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:350) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:350) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:350) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:350) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:350) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:350) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:350) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:350) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:350) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:350) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:350) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 0 .. 92, skip 32 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 8 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:352) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 8 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:352) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 1 .. 92, skip 33 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:354) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:354) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:354) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:354) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:354) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:354) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:354) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:354) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:354) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:354) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:354) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:354) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:354) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:354) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:354) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:354) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 2 .. 92, skip 34 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:356) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:356) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:356) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:356) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:356) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:356) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:356) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:356) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 3 .. 92, skip 35 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:358) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:358) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:358) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:358) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:358) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:358) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:358) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:358) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:358) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:358) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:358) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:358) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:358) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:358) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:358) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:358) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 4 .. 92, skip 36 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:360) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:360) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:360) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:360) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 5 .. 92, skip 37 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:362) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:362) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:362) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:362) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:362) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:362) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:362) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:362) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:362) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:362) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:362) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:362) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:362) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:362) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:362) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:362) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 6 .. 92, skip 38 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:364) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:364) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:364) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:364) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:364) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:364) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:364) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:364) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 7 .. 92, skip 39 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:366) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:366) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:366) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:366) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:366) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:366) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:366) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:366) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:366) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:366) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:366) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:366) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:366) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:366) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:366) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:366) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 0 .. 92, skip 40 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 8 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:368) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 8 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:368) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 1 .. 92, skip 41 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:370) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:370) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:370) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:370) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:370) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:370) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:370) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:370) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:370) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:370) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:370) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:370) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:370) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:370) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:370) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:370) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 2 .. 92, skip 42 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:372) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:372) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:372) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:372) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:372) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:372) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:372) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:372) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 3 .. 92, skip 43 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:374) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:374) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:374) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:374) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:374) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:374) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:374) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:374) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:374) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:374) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:374) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:374) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:374) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:374) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:374) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:374) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 4 .. 92, skip 44 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:376) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:376) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:376) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:376) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 5 .. 92, skip 45 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:378) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:378) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:378) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:378) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:378) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:378) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:378) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:378) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:378) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:378) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:378) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:378) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:378) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:378) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:378) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:378) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 6 .. 92, skip 46 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:380) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:380) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:380) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:380) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:380) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:380) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:380) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:380) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 7 .. 92, skip 47 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:382) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:382) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:382) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:382) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:382) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:382) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:382) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:382) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:382) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:382) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:382) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:382) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:382) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:382) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:382) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:382) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 0 .. 92, skip 48 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 8 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:384) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 8 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:384) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 1 .. 92, skip 49 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:386) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:386) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:386) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:386) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:386) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:386) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:386) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:386) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:386) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:386) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:386) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:386) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:386) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:386) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:386) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:386) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 2 .. 92, skip 50 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:388) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:388) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:388) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:388) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:388) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:388) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:388) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:388) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 3 .. 92, skip 51 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:390) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:390) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:390) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:390) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:390) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:390) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:390) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:390) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:390) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:390) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:390) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:390) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:390) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:390) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:390) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:390) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 4 .. 92, skip 52 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:392) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:392) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:392) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:392) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 5 .. 92, skip 53 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:394) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:394) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:394) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:394) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:394) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:394) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:394) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:394) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:394) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:394) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:394) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:394) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:394) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:394) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:394) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:394) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 6 .. 92, skip 54 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:396) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:396) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:396) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:396) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:396) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:396) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:396) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:396) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 7 .. 92, skip 55 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:398) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:398) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:398) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:398) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:398) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:398) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:398) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:398) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:398) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:398) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:398) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:398) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:398) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:398) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:398) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:398) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 0 .. 92, skip 56 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 8 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:400) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 8 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:400) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 1 .. 92, skip 57 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:402) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:402) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:402) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:402) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:402) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:402) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:402) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:402) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:402) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:402) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:402) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:402) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:402) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:402) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:402) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:402) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 2 .. 92, skip 58 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:404) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:404) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:404) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:404) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:404) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:404) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:404) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:404) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 3 .. 92, skip 59 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:406) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:406) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:406) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:406) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:406) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:406) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:406) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:406) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:406) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:406) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:406) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:406) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:406) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:406) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:406) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:406) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 4 .. 92, skip 60 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:408) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:408) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:408) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:408) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 5 .. 92, skip 61 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:410) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:410) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:410) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:410) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:410) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:410) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:410) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:410) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:410) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:410) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:410) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:410) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:410) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:410) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:410) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:410) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 6 .. 92, skip 62 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:412) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:412) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:412) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:412) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:412) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:412) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:412) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:412) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 7 .. 92, skip 63 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:414) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:414) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:414) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:414) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:414) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:414) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:414) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:414) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:414) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:414) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:414) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:414) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:414) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:414) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:414) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:414) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 0 .. 92, skip 64 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 8 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:416) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 8 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:416) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 1 .. 92, skip 65 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:418) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:418) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:418) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:418) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:418) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:418) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:418) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:418) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:418) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:418) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:418) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:418) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:418) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:418) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:418) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:418) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 2 .. 92, skip 66 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:420) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:420) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:420) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:420) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:420) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:420) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:420) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:420) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 3 .. 92, skip 67 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:422) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:422) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:422) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:422) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:422) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:422) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:422) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:422) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:422) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:422) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:422) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:422) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:422) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:422) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:422) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:422) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 4 .. 92, skip 68 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:424) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:424) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:424) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:424) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 5 .. 92, skip 69 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:426) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:426) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:426) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:426) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:426) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:426) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:426) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:426) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:426) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:426) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:426) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:426) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:426) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:426) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:426) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:426) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 6 .. 92, skip 70 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:428) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:428) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:428) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:428) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:428) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:428) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:428) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:428) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 7 .. 92, skip 71 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:430) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:430) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:430) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:430) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:430) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:430) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:430) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:430) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:430) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:430) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:430) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:430) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:430) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:430) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:430) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:430) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 0 .. 92, skip 72 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 8 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:432) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 8 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:432) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 1 .. 92, skip 73 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:434) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:434) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:434) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:434) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:434) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:434) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:434) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:434) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:434) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:434) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:434) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:434) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:434) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:434) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:434) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:434) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 2 .. 92, skip 74 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:436) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:436) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:436) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:436) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:436) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:436) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:436) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:436) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 3 .. 92, skip 75 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:438) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:438) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:438) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:438) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:438) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:438) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:438) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:438) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:438) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:438) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:438) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:438) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:438) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:438) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:438) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:438) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 4 .. 92, skip 76 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:440) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:440) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:440) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:440) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 5 .. 92, skip 77 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:442) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:442) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:442) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:442) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:442) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:442) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:442) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:442) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:442) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:442) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:442) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:442) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:442) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:442) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:442) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:442) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 6 .. 92, skip 78 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:444) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:444) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:444) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:444) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:444) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:444) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:444) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:444) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 7 .. 92, skip 79 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:446) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:446) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:446) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:446) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:446) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:446) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:446) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:446) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:446) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:446) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:446) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:446) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:446) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:446) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:446) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:446) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 0 .. 92, skip 80 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 8 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:448) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 8 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:448) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 1 .. 92, skip 81 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:450) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:450) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:450) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:450) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:450) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:450) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:450) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:450) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:450) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:450) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:450) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:450) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:450) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:450) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:450) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:450) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 2 .. 92, skip 82 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:452) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:452) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:452) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:452) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:452) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:452) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:452) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:452) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 3 .. 92, skip 83 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:454) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:454) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:454) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:454) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:454) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:454) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:454) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:454) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:454) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:454) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:454) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:454) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:454) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:454) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:454) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:454) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 4 .. 92, skip 84 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:456) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:456) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:456) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:456) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 5 .. 92, skip 85 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:458) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:458) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:458) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:458) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:458) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:458) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:458) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:458) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:458) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:458) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:458) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:458) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:458) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:458) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:458) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:458) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 6 .. 92, skip 86 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:460) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:460) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:460) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:460) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:460) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:460) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:460) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:460) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 7 .. 92, skip 87 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:462) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:462) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:462) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:462) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:462) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:462) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:462) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:462) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:462) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:462) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:462) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:462) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:462) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:462) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:462) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:462) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 0 .. 92, skip 88 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 8 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:464) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 8 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:464) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 1 .. 92, skip 89 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:466) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:466) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:466) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:466) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:466) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:466) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:466) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:466) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:466) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:466) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:466) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:466) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:466) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:466) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:466) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:466) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 2 .. 92, skip 90 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:468) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:468) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:468) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:468) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:468) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:468) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:468) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 2 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:468) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... +---------- double gran, 3 .. 92, skip 91 ---------- + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:266) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc19_shadowmem.c:265) + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:470) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:470) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:470) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:470) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:470) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:470) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:470) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:470) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:470) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:470) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:470) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:470) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:470) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:470) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Possible data race during write of size 1 at 0x........ by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:470) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 1 by thread #x + at 0x........: child64 (tc19_shadowmem.c:105) + by 0x........: steer (tc19_shadowmem.c:470) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +ERROR SUMMARY: 1004 errors from 1004 contexts (suppressed: 0 from 0) diff --git a/helgrind/tests/tc19_shadowmem.stdout.exp b/helgrind/tests/tc19_shadowmem.stdout.exp new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/helgrind/tests/tc19_shadowmem.stdout.exp diff --git a/helgrind/tests/tc19_shadowmem.vgtest b/helgrind/tests/tc19_shadowmem.vgtest new file mode 100644 index 0000000..233e8e4 --- /dev/null +++ b/helgrind/tests/tc19_shadowmem.vgtest @@ -0,0 +1,2 @@ +prog: tc19_shadowmem +vgopts: --cmp-race-err-addrs=yes --error-limit=no diff --git a/helgrind/tests/tc20_verifywrap.c b/helgrind/tests/tc20_verifywrap.c new file mode 100644 index 0000000..667aafa --- /dev/null +++ b/helgrind/tests/tc20_verifywrap.c @@ -0,0 +1,270 @@ +/* This program attempts to verify that all functions that are + supposed to be wrapped by tc_intercepts.c really are wrapped. The + main way it does this is to cause failures in those functions, so + as to obtain various error messages which imply that the wrapper + really did engage. + + Any regressions shown up by this program are potentially serious + and should be investigated carefully. */ + +/* Needed for older glibcs (2.3 and older, at least) who don't + otherwise "know" about some more exotic pthread stuff, in this case + PTHREAD_MUTEX_ERRORCHECK. */ +#define _GNU_SOURCE 1 +#include <stdio.h> +#include <string.h> +#include <assert.h> +#include <unistd.h> +#include <pthread.h> +#include <semaphore.h> + +#if !defined(_AIX) + +#if !defined(__GLIBC_PREREQ) +# error "This program needs __GLIBC_PREREQ (in /usr/include/features.h)" +#endif + +short unprotected = 0; + +void* lazy_child ( void* v ) { + assert(0); /* does not run */ +} + +void* racy_child ( void* v ) { + unprotected = 1234; + return NULL; +} + +int main ( void ) +{ + int r; + /* pthread_t thr; */ + /* pthread_attr_t thra; */ + pthread_mutexattr_t mxa, mxa2; + pthread_mutex_t mx, mx2, mx3, mx4; + pthread_cond_t cv; + struct timespec abstime; + pthread_rwlock_t rwl; + pthread_rwlock_t rwl2; + pthread_rwlock_t rwl3; + sem_t s1; + +# if __GLIBC_PREREQ(2,4) + fprintf(stderr, + "\n\n------ This is output for >= glibc 2.4 ------\n"); +# else + fprintf(stderr, + "\n\n------ This is output for < glibc 2.4 ------\n"); +# endif + + /* --------- pthread_create/join --------- */ + + fprintf(stderr, + "\n---------------- pthread_create/join ----------------\n\n"); + + /* make pthread_create fail */ + /* It's amazingly difficult to make pthread_create fail + without first soaking up all the machine's resources. + Instead, in order to demonstrate that it's really wrapped, + create a child thread, generate a race error, and join with it + again. */ + /* This just segfaults: + memset( &thra, 0xFF, sizeof(thra) ); + r= pthread_create( &thr, NULL, lazy_child, NULL ); assert(r); + */ + { pthread_t child; + r= pthread_create( &child, NULL, racy_child, NULL ); assert(!r); + sleep(1); /* just to ensure parent thread reports race, not child */ + unprotected = 5678; + r= pthread_join( child, NULL ); assert(!r); + } + + /* make pthread_join fail */ + r= pthread_join( pthread_self(), NULL ); assert(r); + + /* --------- pthread_mutex_lock et al --------- */ + + fprintf(stderr, + "\n---------------- pthread_mutex_lock et al ----------------\n\n"); + + /* make pthread_mutex_init fail */ + memset( &mxa, 0xFF, sizeof(mxa) ); + r= pthread_mutex_init( &mx, &mxa ); +# if __GLIBC_PREREQ(2,4) + assert(r); /* glibc >= 2.4: the call should fail */ +# else + assert(!r); /* glibc < 2.4: oh well, glibc didn't bounce this */ +# endif + + /* make pthread_mutex_destroy fail */ + r= pthread_mutex_init( &mx2, NULL ); assert(!r); + r= pthread_mutex_lock( &mx2 ); assert(!r); + r= pthread_mutex_destroy( &mx2 ); assert(r); + + /* make pthread_mutex_lock fail (skipped on < glibc 2.4 because it + doesn't fail, hence hangs the test) */ +# if __GLIBC_PREREQ(2,4) + memset( &mx3, 0xFF, sizeof(mx3) ); + r= pthread_mutex_lock( &mx3 ); assert(r); +# else + fprintf(stderr, "\nmake pthread_mutex_lock fail: " + "skipped on glibc < 2.4\n\n"); +# endif + + /* make pthread_mutex_trylock fail */ + memset( &mx3, 0xFF, sizeof(mx3) ); + r= pthread_mutex_trylock( &mx3 ); assert(r); + + /* make pthread_mutex_timedlock fail */ + memset( &abstime, 0, sizeof(abstime) ); + memset( &mx3, 0xFF, sizeof(mx3) ); + r= pthread_mutex_timedlock( &mx3, &abstime ); assert(r); + + /* make pthread_mutex_unlock fail */ + memset( &mx3, 0xFF, sizeof(mx3) ); + r= pthread_mutex_unlock( &mx3 ); +# if __GLIBC_PREREQ(2,4) + assert(r); +# else + assert(!r); +# endif + + /* --------- pthread_cond_wait et al --------- */ + + fprintf(stderr, + "\n---------------- pthread_cond_wait et al ----------------\n\n"); + + /* make pthread_cond_wait fail. This is difficult. Our cunning + plan (tm) is to show up at pthread_cond_wait bearing a + not-locked mutex of the ERRORCHECK flavour and hope (as is + indeed the case with glibc-2.5) that pthread_cond_wait notices + it is not locked, and bounces our request. */ + r= pthread_mutexattr_init( &mxa2 ); assert(!r); + r= pthread_mutexattr_settype( &mxa2, PTHREAD_MUTEX_ERRORCHECK ); + assert(!r); + r= pthread_mutex_init( &mx4, &mxa2 ); assert(!r); + r= pthread_cond_init( &cv, NULL ); assert(!r); + r= pthread_cond_wait( &cv, &mx4 ); assert(r); + r= pthread_mutexattr_destroy( &mxa2 ); assert(!r); + + /* make pthread_cond_signal fail. FIXME: can't figure out how + to */ + r= pthread_cond_signal( &cv ); assert(!r); + fprintf(stderr, "\nFIXME: can't figure out how to " + "verify wrap of pthread_cond_signal\n\n"); + + /* make pthread_cond_broadcast fail. FIXME: can't figure out how + to */ + r= pthread_cond_broadcast( &cv ); assert(!r); + fprintf(stderr, "\nFIXME: can't figure out how to " + "verify wrap of pthread_broadcast_signal\n\n"); + + /* make pthread_cond_timedwait fail. */ + memset( &abstime, 0, sizeof(abstime) ); + abstime.tv_nsec = 1000000000 + 1; + r= pthread_cond_timedwait( &cv, &mx4, &abstime ); assert(r); + + /* --------- pthread_rwlock_* --------- */ + + fprintf(stderr, + "\n---------------- pthread_rwlock_* ----------------\n\n"); + + /* pthread_rwlock_init, pthread_rwlock_unlock */ + /* pthread_rwlock_init: can't make glibc's implementation fail. + However, can demonstrate interceptedness by initialising but not + locking a lock and then unlocking it. Then the unlock call + should say "first seen at .. the init call." So this tests + wrappedness of both calls. */ + r= pthread_rwlock_init( &rwl, NULL ); assert(!r); + r= pthread_rwlock_unlock( &rwl ); + /* assert(r); *//* glibc doesn't complain. It really ought to. Oh well. */ + + /* We can infer the presence of wrapping for pthread_rwlock_rdlock, + pthread_rwlock_wrlock and pthread_rwlock_unlock by making + Thrcheck count the lockedness state, and warning when we unlock + a not-locked lock. Thusly: */ + r= pthread_rwlock_init( &rwl2, NULL ); assert(!r); + + /* w-lock it */ + fprintf(stderr, "(1) no error on next line\n"); + r= pthread_rwlock_wrlock( &rwl2 ); assert(!r); + /* unlock it */ + fprintf(stderr, "(2) no error on next line\n"); + r= pthread_rwlock_unlock( &rwl2 ); assert(!r); + /* unlock it again, get an error */ + fprintf(stderr, "(3) ERROR on next line\n"); + r= pthread_rwlock_unlock( &rwl2 ); assert(!r); + + /* same game with r-locks */ + r= pthread_rwlock_init( &rwl2, NULL ); assert(!r); + /* r-lock it twice */ + fprintf(stderr, "(4) no error on next line\n"); + r= pthread_rwlock_rdlock( &rwl2 ); assert(!r); + fprintf(stderr, "(5) no error on next line\n"); + r= pthread_rwlock_rdlock( &rwl2 ); assert(!r); + /* unlock it twice */ + fprintf(stderr, "(6) no error on next line\n"); + r= pthread_rwlock_unlock( &rwl2 ); assert(!r); + fprintf(stderr, "(7) no error on next line\n"); + r= pthread_rwlock_unlock( &rwl2 ); assert(!r); + /* unlock it again, get an error */ + fprintf(stderr, "(8) ERROR on next line\n"); + r= pthread_rwlock_unlock( &rwl2 ); assert(!r); + + /* Lock rwl3 so the locked-lock-at-dealloc check can complain about + it. */ + r= pthread_rwlock_init( &rwl3, NULL ); assert(!r); + r= pthread_rwlock_rdlock( &rwl3 ); assert(!r); + + /* ------------- sem_* ------------- */ + + /* This is pretty lame, and duplicates tc18_semabuse.c. */ + + fprintf(stderr, + "\n---------------- sem_* ----------------\n\n"); + + /* verifies wrap of sem_init */ + /* Do sem_init with huge initial count - fails */ + r= sem_init(&s1, 0, ~0); assert(r); + + /* initialise properly */ + r= sem_init(&s1, 0, 0); + + /* in glibc, sem_destroy is a no-op; making it fail is + impossible. */ + fprintf(stderr, "\nFIXME: can't figure out how to verify wrap of " + "sem_destroy\n\n"); + + /* verifies wrap of sem_wait */ + /* Do 'wait' on a bogus semaphore. This should fail, but on glibc + it succeeds. */ + memset(&s1, 0x55, sizeof(s1)); + r= sem_wait(&s1); /* assert(r != 0); */ + + /* this only fails with glibc 2.7 or later. */ + r= sem_post(&s1); + fprintf(stderr, "\nFIXME: can't figure out how to verify wrap of " + "sem_post\n\n"); + + sem_destroy(&s1); + + /* ------------- dealloc of mem holding locks ------------- */ + + fprintf(stderr, + "\n------------ dealloc of mem holding locks ------------\n\n"); + + /* At this point it should complain about deallocation + of memory containing locked locks: + rwl3 + */ + + return 0; +} + +#else /* defined(_AIX) */ +int main ( void ) +{ + fprintf(stderr, "This program does not work on AIX.\n"); + return 0; +} +#endif diff --git a/helgrind/tests/tc20_verifywrap.stderr.exp-glibc25-amd64 b/helgrind/tests/tc20_verifywrap.stderr.exp-glibc25-amd64 new file mode 100644 index 0000000..5d001f5 --- /dev/null +++ b/helgrind/tests/tc20_verifywrap.stderr.exp-glibc25-amd64 @@ -0,0 +1,154 @@ + + + +------ This is output for >= glibc 2.4 ------ + +---------------- pthread_create/join ---------------- + +Thread #x is the program's root thread + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc20_verifywrap.c:76) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: main (tc20_verifywrap.c:78) + This conflicts with a previous write of size 2 by thread #x + at 0x........: racy_child (tc20_verifywrap.c:34) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + Location 0x........ is 0 bytes inside global var "unprotected" + declared at tc20_verifywrap.c:27 + +Thread #x's call to pthread_join failed + with error code 35 (EDEADLK: Resource deadlock would occur) + at 0x........: pthread_join (hg_intercepts.c:...) + by 0x........: main (tc20_verifywrap.c:83) + +---------------- pthread_mutex_lock et al ---------------- + + +Thread #x's call to pthread_mutex_init failed + with error code 95 (EOPNOTSUPP: Operation not supported on transport endpoint) + at 0x........: pthread_mutex_init (hg_intercepts.c:...) + by 0x........: main (tc20_verifywrap.c:92) + +Thread #x: pthread_mutex_destroy of a locked mutex + at 0x........: pthread_mutex_destroy (hg_intercepts.c:...) + by 0x........: main (tc20_verifywrap.c:102) + +Thread #x's call to pthread_mutex_destroy failed + with error code 16 (EBUSY: Device or resource busy) + at 0x........: pthread_mutex_destroy (hg_intercepts.c:...) + by 0x........: main (tc20_verifywrap.c:102) + +Thread #x's call to pthread_mutex_lock failed + with error code 22 (EINVAL: Invalid argument) + at 0x........: pthread_mutex_lock (hg_intercepts.c:...) + by 0x........: main (tc20_verifywrap.c:108) + +Thread #x's call to pthread_mutex_trylock failed + with error code 22 (EINVAL: Invalid argument) + at 0x........: pthread_mutex_trylock (hg_intercepts.c:...) + by 0x........: main (tc20_verifywrap.c:116) + +Thread #x's call to pthread_mutex_timedlock failed + with error code 22 (EINVAL: Invalid argument) + at 0x........: pthread_mutex_timedlock (hg_intercepts.c:...) + by 0x........: main (tc20_verifywrap.c:121) + +Thread #x unlocked an invalid lock at 0x........ + at 0x........: pthread_mutex_unlock (hg_intercepts.c:...) + by 0x........: main (tc20_verifywrap.c:125) + +Thread #x's call to pthread_mutex_unlock failed + with error code 22 (EINVAL: Invalid argument) + at 0x........: pthread_mutex_unlock (hg_intercepts.c:...) + by 0x........: main (tc20_verifywrap.c:125) + +---------------- pthread_cond_wait et al ---------------- + + +Thread #x: pthread_cond_{timed}wait called with un-held mutex + at 0x........: pthread_cond_wait@* (hg_intercepts.c:...) + by 0x........: main (tc20_verifywrap.c:147) + +Thread #x's call to pthread_cond_wait failed + with error code 1 (EPERM: Operation not permitted) + at 0x........: pthread_cond_wait@* (hg_intercepts.c:...) + by 0x........: main (tc20_verifywrap.c:147) + +FIXME: can't figure out how to verify wrap of pthread_cond_signal + + +FIXME: can't figure out how to verify wrap of pthread_broadcast_signal + + +Thread #x: pthread_cond_{timed}wait called with un-held mutex + at 0x........: pthread_cond_timedwait@* (hg_intercepts.c:...) + by 0x........: main (tc20_verifywrap.c:165) + +Thread #x's call to pthread_cond_timedwait failed + with error code 22 (EINVAL: Invalid argument) + at 0x........: pthread_cond_timedwait@* (hg_intercepts.c:...) + by 0x........: main (tc20_verifywrap.c:165) + +---------------- pthread_rwlock_* ---------------- + + +Thread #x unlocked a not-locked lock at 0x........ + at 0x........: pthread_rwlock_unlock (hg_intercepts.c:...) + by 0x........: main (tc20_verifywrap.c:179) + Lock at 0x........ was first observed + at 0x........: pthread_rwlock_init (hg_intercepts.c:...) + by 0x........: main (tc20_verifywrap.c:178) +(1) no error on next line +(2) no error on next line +(3) ERROR on next line + +Thread #x unlocked a not-locked lock at 0x........ + at 0x........: pthread_rwlock_unlock (hg_intercepts.c:...) + by 0x........: main (tc20_verifywrap.c:196) + Lock at 0x........ was first observed + at 0x........: pthread_rwlock_init (hg_intercepts.c:...) + by 0x........: main (tc20_verifywrap.c:186) +(4) no error on next line +(5) no error on next line +(6) no error on next line +(7) no error on next line +(8) ERROR on next line + +Thread #x unlocked a not-locked lock at 0x........ + at 0x........: pthread_rwlock_unlock (hg_intercepts.c:...) + by 0x........: main (tc20_verifywrap.c:212) + Lock at 0x........ was first observed + at 0x........: pthread_rwlock_init (hg_intercepts.c:...) + by 0x........: main (tc20_verifywrap.c:186) + +---------------- sem_* ---------------- + + +Thread #x's call to sem_init failed + with error code 22 (EINVAL: Invalid argument) + at 0x........: sem_init@* (hg_intercepts.c:...) + by 0x........: main (tc20_verifywrap.c:228) + +FIXME: can't figure out how to verify wrap of sem_destroy + + +Thread #x: Bug in libpthread: sem_wait succeeded on semaphore without prior sem_post + at 0x........: sem_wait_WRK (hg_intercepts.c:...) + by 0x........: sem_wait (hg_intercepts.c:...) + by 0x........: main (tc20_verifywrap.c:242) + +FIXME: can't figure out how to verify wrap of sem_post + + +------------ dealloc of mem holding locks ------------ + + +Thread #x: Exiting thread still holds 1 lock + ... + +ERROR SUMMARY: 20 errors from 20 contexts (suppressed: 0 from 0) diff --git a/helgrind/tests/tc20_verifywrap.stderr.exp-glibc27-amd64 b/helgrind/tests/tc20_verifywrap.stderr.exp-glibc27-amd64 new file mode 100644 index 0000000..6e9af75 --- /dev/null +++ b/helgrind/tests/tc20_verifywrap.stderr.exp-glibc27-amd64 @@ -0,0 +1,160 @@ + + + +------ This is output for >= glibc 2.4 ------ + +---------------- pthread_create/join ---------------- + +Thread #x is the program's root thread + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc20_verifywrap.c:76) + +Possible data race during write of size 2 at 0x........ by thread #x + at 0x........: main (tc20_verifywrap.c:78) + This conflicts with a previous write of size 2 by thread #x + at 0x........: racy_child (tc20_verifywrap.c:34) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + Location 0x........ is 0 bytes inside global var "unprotected" + declared at tc20_verifywrap.c:27 + +Thread #x's call to pthread_join failed + with error code 35 (EDEADLK: Resource deadlock would occur) + at 0x........: pthread_join (hg_intercepts.c:...) + by 0x........: main (tc20_verifywrap.c:83) + +---------------- pthread_mutex_lock et al ---------------- + + +Thread #x's call to pthread_mutex_init failed + with error code 95 (EOPNOTSUPP: Operation not supported on transport endpoint) + at 0x........: pthread_mutex_init (hg_intercepts.c:...) + by 0x........: main (tc20_verifywrap.c:92) + +Thread #x: pthread_mutex_destroy of a locked mutex + at 0x........: pthread_mutex_destroy (hg_intercepts.c:...) + by 0x........: main (tc20_verifywrap.c:102) + +Thread #x's call to pthread_mutex_destroy failed + with error code 16 (EBUSY: Device or resource busy) + at 0x........: pthread_mutex_destroy (hg_intercepts.c:...) + by 0x........: main (tc20_verifywrap.c:102) + +Thread #x's call to pthread_mutex_lock failed + with error code 22 (EINVAL: Invalid argument) + at 0x........: pthread_mutex_lock (hg_intercepts.c:...) + by 0x........: main (tc20_verifywrap.c:108) + +Thread #x's call to pthread_mutex_trylock failed + with error code 22 (EINVAL: Invalid argument) + at 0x........: pthread_mutex_trylock (hg_intercepts.c:...) + by 0x........: main (tc20_verifywrap.c:116) + +Thread #x's call to pthread_mutex_timedlock failed + with error code 22 (EINVAL: Invalid argument) + at 0x........: pthread_mutex_timedlock (hg_intercepts.c:...) + by 0x........: main (tc20_verifywrap.c:121) + +Thread #x unlocked an invalid lock at 0x........ + at 0x........: pthread_mutex_unlock (hg_intercepts.c:...) + by 0x........: main (tc20_verifywrap.c:125) + +Thread #x's call to pthread_mutex_unlock failed + with error code 22 (EINVAL: Invalid argument) + at 0x........: pthread_mutex_unlock (hg_intercepts.c:...) + by 0x........: main (tc20_verifywrap.c:125) + +---------------- pthread_cond_wait et al ---------------- + + +Thread #x: pthread_cond_{timed}wait called with un-held mutex + at 0x........: pthread_cond_wait@* (hg_intercepts.c:...) + by 0x........: main (tc20_verifywrap.c:147) + +Thread #x's call to pthread_cond_wait failed + with error code 1 (EPERM: Operation not permitted) + at 0x........: pthread_cond_wait@* (hg_intercepts.c:...) + by 0x........: main (tc20_verifywrap.c:147) + +FIXME: can't figure out how to verify wrap of pthread_cond_signal + + +FIXME: can't figure out how to verify wrap of pthread_broadcast_signal + + +Thread #x: pthread_cond_{timed}wait called with un-held mutex + at 0x........: pthread_cond_timedwait@* (hg_intercepts.c:...) + by 0x........: main (tc20_verifywrap.c:165) + +Thread #x's call to pthread_cond_timedwait failed + with error code 22 (EINVAL: Invalid argument) + at 0x........: pthread_cond_timedwait@* (hg_intercepts.c:...) + by 0x........: main (tc20_verifywrap.c:165) + +---------------- pthread_rwlock_* ---------------- + + +Thread #x unlocked a not-locked lock at 0x........ + at 0x........: pthread_rwlock_unlock (hg_intercepts.c:...) + by 0x........: main (tc20_verifywrap.c:179) + Lock at 0x........ was first observed + at 0x........: pthread_rwlock_init (hg_intercepts.c:...) + by 0x........: main (tc20_verifywrap.c:178) +(1) no error on next line +(2) no error on next line +(3) ERROR on next line + +Thread #x unlocked a not-locked lock at 0x........ + at 0x........: pthread_rwlock_unlock (hg_intercepts.c:...) + by 0x........: main (tc20_verifywrap.c:196) + Lock at 0x........ was first observed + at 0x........: pthread_rwlock_init (hg_intercepts.c:...) + by 0x........: main (tc20_verifywrap.c:186) +(4) no error on next line +(5) no error on next line +(6) no error on next line +(7) no error on next line +(8) ERROR on next line + +Thread #x unlocked a not-locked lock at 0x........ + at 0x........: pthread_rwlock_unlock (hg_intercepts.c:...) + by 0x........: main (tc20_verifywrap.c:212) + Lock at 0x........ was first observed + at 0x........: pthread_rwlock_init (hg_intercepts.c:...) + by 0x........: main (tc20_verifywrap.c:186) + +---------------- sem_* ---------------- + + +Thread #x's call to sem_init failed + with error code 22 (EINVAL: Invalid argument) + at 0x........: sem_init@* (hg_intercepts.c:...) + by 0x........: main (tc20_verifywrap.c:228) + +FIXME: can't figure out how to verify wrap of sem_destroy + + +Thread #x: Bug in libpthread: sem_wait succeeded on semaphore without prior sem_post + at 0x........: sem_wait_WRK (hg_intercepts.c:...) + by 0x........: sem_wait (hg_intercepts.c:...) + by 0x........: main (tc20_verifywrap.c:242) + +Thread #x's call to sem_post failed + with error code 22 (EINVAL: Invalid argument) + at 0x........: sem_post_WRK (hg_intercepts.c:...) + by 0x........: sem_post (hg_intercepts.c:...) + by 0x........: main (tc20_verifywrap.c:245) + +FIXME: can't figure out how to verify wrap of sem_post + + +------------ dealloc of mem holding locks ------------ + + +Thread #x: Exiting thread still holds 1 lock + ... + +ERROR SUMMARY: 21 errors from 21 contexts (suppressed: 0 from 0) diff --git a/helgrind/tests/tc20_verifywrap.stdout.exp b/helgrind/tests/tc20_verifywrap.stdout.exp new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/helgrind/tests/tc20_verifywrap.stdout.exp diff --git a/helgrind/tests/tc20_verifywrap.vgtest b/helgrind/tests/tc20_verifywrap.vgtest new file mode 100644 index 0000000..7683e8a --- /dev/null +++ b/helgrind/tests/tc20_verifywrap.vgtest @@ -0,0 +1,2 @@ +prog: tc20_verifywrap +vgopts: --read-var-info=yes diff --git a/helgrind/tests/tc21_pthonce.c b/helgrind/tests/tc21_pthonce.c new file mode 100644 index 0000000..69fac76 --- /dev/null +++ b/helgrind/tests/tc21_pthonce.c @@ -0,0 +1,96 @@ + +/* This really exists to check that Thrcheck behaves plausibly + with pthread_once calls. Which it appears to. + + The original source of this program is as shown below, although it + has been modified somewhat. See + http://www.oreilly.com/pub/a/oreilly/ask_tim/2001/codepolicy.html + for OReilly's policy on using bits of their code examples. +*/ + + +/******************************************************** + * An example source module to accompany... + * + * "Using POSIX Threads: Programming with Pthreads" + * by Brad Nichols, Dick Buttlar, Jackie Farrell + * O'Reilly & Associates, Inc. + * + ******************************************************** + * once_exam.c + * + * An example of using the pthreads_once() call to execute an + * initialization procedure. + * + * A program spawns multiple threads and each one tries to + * execute the routine welcome() using the once call. Only + * the first thread into the once routine will actually + * execute welcome(). + * + * The program's main thread synchronizes its exit with the + * exit of the threads using the pthread_join() operation. + * +*/ + +#include <stdlib.h> +#include <stdio.h> +#include <unistd.h> +#include <sys/types.h> +#include <assert.h> + +#include <pthread.h> + +/* With more than 2 threads, the precise error reports vary between + platforms, in terms of the number of races detected. Make life + simple and just have 2 threads and so just 1 race. */ +#define NUM_THREADS 2 + +static pthread_once_t welcome_once_block = PTHREAD_ONCE_INIT; + +static int unprotected1 = 0; +static int unprotected2 = 0; + +/* This is a hack: delay threads except the first enough so as to + ensure threads[0] gets to the pthread_once call first. This is so + as to ensure that this test produces results which aren't + scheduling sensitive. (sigh) */ +void maybe_stall ( int myid ) +{ + assert(myid >= 0 && myid < NUM_THREADS); + if (myid > 0) + sleep(1); +} + +void welcome(void) { + printf("welcome: Welcome\n"); + unprotected1++; /* this is harmless */ +} + +void* child ( void* argV ) { + int r; + maybe_stall( *(int*)argV ); + r= pthread_once(&welcome_once_block, welcome); assert(!r); + printf("child: Hi, I'm thread %d\n", *(int*)argV); + unprotected2++; /* whereas this is a race */ + return NULL; +} + +int main ( void ) { + int *id_arg, i, r; + pthread_t threads[NUM_THREADS]; + + id_arg = (int *)malloc(NUM_THREADS*sizeof(int)); + + for (i = 0; i < NUM_THREADS; i++) { + id_arg[i] = i; + r= pthread_create(&threads[i], NULL, child, &id_arg[i]); + assert(!r); + } + + for (i = 0; i < NUM_THREADS; i++) { + pthread_join(threads[i], NULL); + /* printf("main: joined to thread %d\n", i); */ + } + printf("main: Goodbye\n"); + return 0; +} diff --git a/helgrind/tests/tc21_pthonce.stderr.exp b/helgrind/tests/tc21_pthonce.stderr.exp new file mode 100644 index 0000000..65cae9a --- /dev/null +++ b/helgrind/tests/tc21_pthonce.stderr.exp @@ -0,0 +1,34 @@ + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc21_pthonce.c:86) + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc21_pthonce.c:86) + +Possible data race during read of size 4 at 0x........ by thread #x + at 0x........: child (tc21_pthonce.c:74) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: child (tc21_pthonce.c:74) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + Location 0x........ is 0 bytes inside local var "unprotected2" + declared at tc21_pthonce.c:51, in frame #x of thread x + +Possible data race during write of size 4 at 0x........ by thread #x + at 0x........: child (tc21_pthonce.c:74) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + This conflicts with a previous write of size 4 by thread #x + at 0x........: child (tc21_pthonce.c:74) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + Location 0x........ is 0 bytes inside local var "unprotected2" + declared at tc21_pthonce.c:51, in frame #x of thread x + +ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 0 from 0) diff --git a/helgrind/tests/tc21_pthonce.stdout.exp b/helgrind/tests/tc21_pthonce.stdout.exp new file mode 100644 index 0000000..e6c2dc2 --- /dev/null +++ b/helgrind/tests/tc21_pthonce.stdout.exp @@ -0,0 +1,4 @@ +welcome: Welcome +child: Hi, I'm thread 0 +child: Hi, I'm thread 1 +main: Goodbye diff --git a/helgrind/tests/tc21_pthonce.vgtest b/helgrind/tests/tc21_pthonce.vgtest new file mode 100644 index 0000000..0887de8 --- /dev/null +++ b/helgrind/tests/tc21_pthonce.vgtest @@ -0,0 +1,2 @@ +prog: tc21_pthonce +vgopts: --read-var-info=yes diff --git a/helgrind/tests/tc22_exit_w_lock.c b/helgrind/tests/tc22_exit_w_lock.c new file mode 100644 index 0000000..d40600e --- /dev/null +++ b/helgrind/tests/tc22_exit_w_lock.c @@ -0,0 +1,50 @@ + +#include <pthread.h> +#include <unistd.h> +#include <assert.h> +#include <signal.h> + +/* Should see 3 threads exiting in different ways, all holding one (or + two) locks. */ + +pthread_mutex_t mxC1 = PTHREAD_MUTEX_INITIALIZER; +pthread_mutex_t mxC2 = PTHREAD_MUTEX_INITIALIZER; +pthread_mutex_t mxC2b = PTHREAD_MUTEX_INITIALIZER; +pthread_mutex_t mxP = PTHREAD_MUTEX_INITIALIZER; + +/* This one exits in the normal way, by joining back */ +void* child_fn1 ( void* arg ) +{ + int r= pthread_mutex_lock( &mxC1 ); assert(!r); + return NULL; +} + +/* This one detaches, does its own thing. */ +void* child_fn2 ( void* arg ) +{ + int r; + r= pthread_mutex_lock( &mxC2 ); assert(!r); + r= pthread_mutex_lock( &mxC2b ); assert(!r); + r= pthread_detach( pthread_self() ); assert(!r); + return NULL; +} + +/* Parent creates 2 children, takes a lock, waits, segfaults. Use + sleeps to enforce exit ordering, for repeatable regtesting. */ +int main ( void ) +{ + int r; + pthread_t child1, child2; + + r= pthread_create(&child2, NULL, child_fn2, NULL); assert(!r); + sleep(1); + + r= pthread_create(&child1, NULL, child_fn1, NULL); assert(!r); + r= pthread_join(child1, NULL); assert(!r); + sleep(1); + + r= pthread_mutex_lock( &mxP ); + + kill( getpid(), SIGABRT ); + return 0; +} diff --git a/helgrind/tests/tc22_exit_w_lock.stderr.exp b/helgrind/tests/tc22_exit_w_lock.stderr.exp new file mode 100644 index 0000000..74139f1 --- /dev/null +++ b/helgrind/tests/tc22_exit_w_lock.stderr.exp @@ -0,0 +1,23 @@ + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc22_exit_w_lock.c:39) + +Thread #x: Exiting thread still holds 2 locks + ... + +Thread #x was created + ... + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc22_exit_w_lock.c:42) + +Thread #x: Exiting thread still holds 1 lock + ... + +Thread #x is the program's root thread + +Thread #x: Exiting thread still holds 1 lock + ... + +ERROR SUMMARY: 3 errors from 3 contexts (suppressed: 0 from 0) diff --git a/helgrind/tests/tc22_exit_w_lock.stdout.exp b/helgrind/tests/tc22_exit_w_lock.stdout.exp new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/helgrind/tests/tc22_exit_w_lock.stdout.exp diff --git a/helgrind/tests/tc22_exit_w_lock.vgtest b/helgrind/tests/tc22_exit_w_lock.vgtest new file mode 100644 index 0000000..4f85dd5 --- /dev/null +++ b/helgrind/tests/tc22_exit_w_lock.vgtest @@ -0,0 +1 @@ +prog: tc22_exit_w_lock diff --git a/helgrind/tests/tc23_bogus_condwait.c b/helgrind/tests/tc23_bogus_condwait.c new file mode 100644 index 0000000..a0fad5d --- /dev/null +++ b/helgrind/tests/tc23_bogus_condwait.c @@ -0,0 +1,86 @@ + +/* Expect 5 errors total (4 re cvs, 1 re exiting w/lock.). + Tests passing bogus mutexes to pthread_cond_wait. */ +#define _GNU_SOURCE 1 /* needed by glibc <= 2.3 for pthread_rwlock_* */ +#include <pthread.h> +#include <assert.h> +#include <unistd.h> +#include <semaphore.h> + +pthread_mutex_t mx[4]; +pthread_cond_t cv; +pthread_rwlock_t rwl; + +sem_t quit_now; + +void* rescue_me ( void* uu ) +{ + /* wait for, and unblock, the first wait */ + sleep(1); + pthread_cond_signal( &cv ); + + /* wait for, and unblock, the second wait */ + sleep(1); + pthread_cond_signal( &cv ); + + /* wait for, and unblock, the third wait */ + sleep(1); + pthread_cond_signal( &cv ); + + /* wait for, and unblock, the fourth wait */ + sleep(1); + pthread_cond_signal( &cv ); + + sem_wait( &quit_now ); + return NULL; +} + +void* grab_the_lock ( void* uu ) +{ + int r= pthread_mutex_lock( &mx[2] ); assert(!r); + sem_wait( &quit_now ); + r= pthread_mutex_unlock( &mx[2] ); assert(!r); + return NULL; +} + +int main ( void ) +{ + int r; + pthread_t my_rescuer, grabber; + + r= pthread_mutex_init(&mx[0], NULL); assert(!r); + r= pthread_mutex_init(&mx[1], NULL); assert(!r); + r= pthread_mutex_init(&mx[2], NULL); assert(!r); + r= pthread_mutex_init(&mx[3], NULL); assert(!r); + + r= pthread_cond_init(&cv, NULL); assert(!r); + r= pthread_rwlock_init(&rwl, NULL); assert(!r); + + r= sem_init( &quit_now, 0,0 ); assert(!r); + + r= pthread_create( &grabber, NULL, grab_the_lock, NULL ); assert(!r); + sleep(1); /* let the grabber get there first */ + + r= pthread_create( &my_rescuer, NULL, rescue_me, NULL ); assert(!r); + /* Do stupid things and hope that rescue_me gets us out of + trouble */ + + /* mx is bogus */ + r= pthread_cond_wait(&cv, (pthread_mutex_t*)(1 + (char*)&mx[0]) ); + + /* mx is not locked */ + r= pthread_cond_wait(&cv, &mx[0]); + + /* wrong flavour of lock */ + r= pthread_cond_wait(&cv, (pthread_mutex_t*)&rwl ); + + /* mx is held by someone else. */ + r= pthread_cond_wait(&cv, &mx[2] ); + + r= sem_post( &quit_now ); assert(!r); + r= sem_post( &quit_now ); assert(!r); + + r= pthread_join( my_rescuer, NULL ); assert(!r); + r= pthread_join( grabber, NULL ); assert(!r); + return 0; +} diff --git a/helgrind/tests/tc23_bogus_condwait.stderr.exp b/helgrind/tests/tc23_bogus_condwait.stderr.exp new file mode 100644 index 0000000..d80ee1a --- /dev/null +++ b/helgrind/tests/tc23_bogus_condwait.stderr.exp @@ -0,0 +1,20 @@ + +Thread #x is the program's root thread + +Thread #x: pthread_cond_{timed}wait called with invalid mutex + at 0x........: pthread_cond_wait@* (hg_intercepts.c:...) + by 0x........: main (tc23_bogus_condwait.c:69) + +Thread #x: pthread_cond_{timed}wait called with un-held mutex + at 0x........: pthread_cond_wait@* (hg_intercepts.c:...) + by 0x........: main (tc23_bogus_condwait.c:72) + +Thread #x: pthread_cond_{timed}wait called with mutex of type pthread_rwlock_t* + at 0x........: pthread_cond_wait@* (hg_intercepts.c:...) + by 0x........: main (tc23_bogus_condwait.c:75) + +Thread #x: pthread_cond_{timed}wait called with mutex held by a different thread + at 0x........: pthread_cond_wait@* (hg_intercepts.c:...) + by 0x........: main (tc23_bogus_condwait.c:78) + +ERROR SUMMARY: 4 errors from 4 contexts (suppressed: 0 from 0) diff --git a/helgrind/tests/tc23_bogus_condwait.stdout.exp b/helgrind/tests/tc23_bogus_condwait.stdout.exp new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/helgrind/tests/tc23_bogus_condwait.stdout.exp diff --git a/helgrind/tests/tc23_bogus_condwait.vgtest b/helgrind/tests/tc23_bogus_condwait.vgtest new file mode 100644 index 0000000..31c3ed8 --- /dev/null +++ b/helgrind/tests/tc23_bogus_condwait.vgtest @@ -0,0 +1 @@ +prog: tc23_bogus_condwait diff --git a/helgrind/tests/tc24_nonzero_sem.c b/helgrind/tests/tc24_nonzero_sem.c new file mode 100644 index 0000000..01c23e8 --- /dev/null +++ b/helgrind/tests/tc24_nonzero_sem.c @@ -0,0 +1,41 @@ + +/* Check that Helgrind does not complain about semaphores with a + nonzero initial value, when said semaphores are correctly used. + Also useful for generating VCG of simple semaphore activity, for + inspection. */ + +#include <pthread.h> +#include <semaphore.h> +#include <assert.h> + +#define N_THREADS 3 + +void* child_fn ( void* semV ) +{ + int r; + sem_t* sem = (sem_t*)semV; + r= sem_wait(sem); assert(!r); + return NULL; +} + +int main ( void ) +{ + int r, i; + sem_t sem; + pthread_t child[N_THREADS]; + + r= sem_init(&sem, 0, N_THREADS); assert(!r); + + for (i = 0; i < N_THREADS; i++) { + r= pthread_create( &child[i], NULL, child_fn, (void*)&sem ); + assert(!r); + } + + for (i = 0; i < N_THREADS; i++) { + r= pthread_join( child[i], NULL ); + assert(!r); + } + + sem_destroy(&sem); + return 0; +} diff --git a/helgrind/tests/tc24_nonzero_sem.stderr.exp b/helgrind/tests/tc24_nonzero_sem.stderr.exp new file mode 100644 index 0000000..d18786f --- /dev/null +++ b/helgrind/tests/tc24_nonzero_sem.stderr.exp @@ -0,0 +1,3 @@ + + +ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) diff --git a/helgrind/tests/tc24_nonzero_sem.stdout.exp b/helgrind/tests/tc24_nonzero_sem.stdout.exp new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/helgrind/tests/tc24_nonzero_sem.stdout.exp diff --git a/helgrind/tests/tc24_nonzero_sem.vgtest b/helgrind/tests/tc24_nonzero_sem.vgtest new file mode 100644 index 0000000..1a43121 --- /dev/null +++ b/helgrind/tests/tc24_nonzero_sem.vgtest @@ -0,0 +1,2 @@ +prog: tc24_nonzero_sem +vgopts: --hg-sanity-flags=111111 |