diff options
Diffstat (limited to 'helgrind/tests/.svn/text-base')
149 files changed, 21384 insertions, 0 deletions
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 |