From: Julian Seward Date: Fri, 24 Jun 2011 12:55:25 +0000 (+0000) Subject: Fix up the remaining .stderr.exp-s following r11824 (merge of X-Git-Tag: svn/VALGRIND_3_7_0~411 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c6f4a43e942341b1789bfe61e283494d60719864;p=thirdparty%2Fvalgrind.git Fix up the remaining .stderr.exp-s following r11824 (merge of branches/HGDEV2), and delete some redundant ones git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11826 --- diff --git a/helgrind/tests/Makefile.am b/helgrind/tests/Makefile.am index f48293a7b3..f06fd26740 100644 --- a/helgrind/tests/Makefile.am +++ b/helgrind/tests/Makefile.am @@ -44,9 +44,7 @@ EXTRA_DIST = \ 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 \ @@ -62,12 +60,10 @@ EXTRA_DIST = \ 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 \ diff --git a/helgrind/tests/pth_barrier3.stderr.exp b/helgrind/tests/pth_barrier3.stderr.exp index b16e71fe8f..dba4bbdfe5 100644 --- a/helgrind/tests/pth_barrier3.stderr.exp +++ b/helgrind/tests/pth_barrier3.stderr.exp @@ -1,24 +1,32 @@ +---Thread-Announcement------------------------------------------ + 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) + at 0x........: clone (in /...libc...) + by 0x........: pthread_create@@GLIBC_2.2.5 (in /...libpthread...) + by 0x........: pthread_create_WRK (hg_intercepts.c:...) + +---Thread-Announcement------------------------------------------ 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) + at 0x........: clone (in /...libc...) + by 0x........: pthread_create@@GLIBC_2.2.5 (in /...libpthread...) + by 0x........: pthread_create_WRK (hg_intercepts.c:...) + +---------------------------------------------------------------- Possible data race during write of size 4 at 0x........ by thread #x +Locks held: none 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 + +This conflicts with a previous write of size 4 by thread #x +Locks held: none at 0x........: threadfunc (pth_barrier.c:57) by 0x........: mythread_wrapper (hg_intercepts.c:...) ... - Address 0x........ is 0 bytes inside a block of size 4 alloc'd + +Address 0x........ is 0 bytes inside a block of size 4 alloc'd at 0x........: malloc (vg_replace_malloc.c:...) by 0x........: barriers_and_races (pth_barrier.c:72) by 0x........: main (pth_barrier.c:107) diff --git a/helgrind/tests/pth_barrier3.vgtest b/helgrind/tests/pth_barrier3.vgtest index 06ab6c353c..b220371098 100644 --- a/helgrind/tests/pth_barrier3.vgtest +++ b/helgrind/tests/pth_barrier3.vgtest @@ -1,4 +1,4 @@ prereq: test -e bar_trivial prog: ../../drd/tests/pth_barrier args: 32 1 1 -vgopts: -q +vgopts: -q --num-callers=3 diff --git a/helgrind/tests/tc06_two_races_xml.stderr.exp b/helgrind/tests/tc06_two_races_xml.stderr.exp index eed0cc84d8..25ee580e10 100644 --- a/helgrind/tests/tc06_two_races_xml.stderr.exp +++ b/helgrind/tests/tc06_two_races_xml.stderr.exp @@ -40,16 +40,17 @@ 0x........ ... clone - - - 0x........ - ... - do_clone + ... + clone.S + ... 0x........ ... pthread_create@@GLIBC_2.2.5 + ... + createthread.c + ... 0x........ @@ -121,11 +122,12 @@ 0x........ ... start_thread + ... + pthread_create.c + ... 0x........ - ... - clone Location 0x........ is 0 bytes inside global var "unprot1" @@ -175,11 +177,12 @@ 0x........ ... start_thread + ... + pthread_create.c + ... 0x........ - ... - clone Location 0x........ is 0 bytes inside global var "unprot1" @@ -229,11 +232,12 @@ 0x........ ... start_thread + ... + pthread_create.c + ... 0x........ - ... - clone Location 0x........ is 0 bytes inside global var "unprot2" @@ -283,11 +287,12 @@ 0x........ ... start_thread + ... + pthread_create.c + ... 0x........ - ... - clone Location 0x........ is 0 bytes inside global var "unprot2" diff --git a/helgrind/tests/tc09_bad_unlock.stderr.exp-glibc23-amd64 b/helgrind/tests/tc09_bad_unlock.stderr.exp-glibc23-amd64 deleted file mode 100644 index 4160fbcae5..0000000000 --- a/helgrind/tests/tc09_bad_unlock.stderr.exp-glibc23-amd64 +++ /dev/null @@ -1,81 +0,0 @@ - -Thread #x is the program's root thread - -Thread #x unlocked a not-locked lock at 0x........ - at 0x........: pthread_mutex_unlock (hg_intercepts.c:...) - by 0x........: nearly_main (tc09_bad_unlock.c:27) - by 0x........: main (tc09_bad_unlock.c:49) - Lock at 0x........ was first observed - at 0x........: pthread_mutex_init (hg_intercepts.c:...) - by 0x........: nearly_main (tc09_bad_unlock.c:23) - by 0x........: main (tc09_bad_unlock.c:49) - -Thread #x was created - ... - by 0x........: pthread_create@* (hg_intercepts.c:...) - by 0x........: nearly_main (tc09_bad_unlock.c:35) - by 0x........: main (tc09_bad_unlock.c:49) - -Thread #x unlocked lock at 0x........ currently held by thread #x - at 0x........: pthread_mutex_unlock (hg_intercepts.c:...) - by 0x........: child_fn (tc09_bad_unlock.c:11) - by 0x........: mythread_wrapper (hg_intercepts.c:...) - ... - Lock at 0x........ was first observed - at 0x........: pthread_mutex_init (hg_intercepts.c:...) - by 0x........: nearly_main (tc09_bad_unlock.c:31) - by 0x........: main (tc09_bad_unlock.c:49) - -Thread #x unlocked an invalid lock at 0x........ - at 0x........: pthread_mutex_unlock (hg_intercepts.c:...) - by 0x........: nearly_main (tc09_bad_unlock.c:41) - by 0x........: main (tc09_bad_unlock.c:49) - -Thread #x deallocated location 0x........ containing a locked lock - at 0x........: nearly_main (tc09_bad_unlock.c:45) - by 0x........: main (tc09_bad_unlock.c:49) - Lock at 0x........ was first observed - at 0x........: pthread_mutex_init (hg_intercepts.c:...) - by 0x........: nearly_main (tc09_bad_unlock.c:31) - by 0x........: main (tc09_bad_unlock.c:49) - -Thread #x unlocked a not-locked lock at 0x........ - at 0x........: pthread_mutex_unlock (hg_intercepts.c:...) - by 0x........: nearly_main (tc09_bad_unlock.c:27) - by 0x........: main (tc09_bad_unlock.c:50) - Lock at 0x........ was first observed - at 0x........: pthread_mutex_init (hg_intercepts.c:...) - by 0x........: nearly_main (tc09_bad_unlock.c:23) - by 0x........: main (tc09_bad_unlock.c:50) - -Thread #x was created - ... - by 0x........: pthread_create@* (hg_intercepts.c:...) - by 0x........: nearly_main (tc09_bad_unlock.c:35) - by 0x........: main (tc09_bad_unlock.c:50) - -Thread #x unlocked lock at 0x........ currently held by thread #x - at 0x........: pthread_mutex_unlock (hg_intercepts.c:...) - by 0x........: child_fn (tc09_bad_unlock.c:11) - by 0x........: mythread_wrapper (hg_intercepts.c:...) - ... - Lock at 0x........ was first observed - at 0x........: pthread_mutex_init (hg_intercepts.c:...) - by 0x........: nearly_main (tc09_bad_unlock.c:31) - by 0x........: main (tc09_bad_unlock.c:50) - -Thread #x unlocked an invalid lock at 0x........ - at 0x........: pthread_mutex_unlock (hg_intercepts.c:...) - by 0x........: nearly_main (tc09_bad_unlock.c:41) - by 0x........: main (tc09_bad_unlock.c:50) - -Thread #x deallocated location 0x........ containing a locked lock - at 0x........: nearly_main (tc09_bad_unlock.c:45) - by 0x........: main (tc09_bad_unlock.c:50) - Lock at 0x........ was first observed - at 0x........: pthread_mutex_init (hg_intercepts.c:...) - by 0x........: nearly_main (tc09_bad_unlock.c:31) - by 0x........: main (tc09_bad_unlock.c:50) - - -ERROR SUMMARY: 8 errors from 8 contexts (suppressed: 0 from 0) diff --git a/helgrind/tests/tc09_bad_unlock.stderr.exp-glibc25-amd64 b/helgrind/tests/tc09_bad_unlock.stderr.exp-glibc25-amd64 index f8e4a5050b..0da7639bd8 100644 --- a/helgrind/tests/tc09_bad_unlock.stderr.exp-glibc25-amd64 +++ b/helgrind/tests/tc09_bad_unlock.stderr.exp-glibc25-amd64 @@ -1,6 +1,10 @@ +---Thread-Announcement------------------------------------------ + 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) @@ -10,12 +14,16 @@ Thread #x unlocked a not-locked lock at 0x........ by 0x........: nearly_main (tc09_bad_unlock.c:23) by 0x........: main (tc09_bad_unlock.c:49) +---Thread-Announcement------------------------------------------ + 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) @@ -26,11 +34,15 @@ Thread #x unlocked lock at 0x........ currently held by thread #x 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:...) @@ -38,6 +50,8 @@ Thread #x's call to pthread_mutex_unlock failed 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) @@ -47,6 +61,8 @@ Thread #x unlocked a not-locked lock at 0x........ 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) @@ -56,17 +72,23 @@ Thread #x: Attempt to re-lock a non-recursive lock I already hold by 0x........: nearly_main (tc09_bad_unlock.c:32) by 0x........: main (tc09_bad_unlock.c:49) +---------------------------------------------------------------- + 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-Announcement------------------------------------------ + 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) @@ -77,17 +99,23 @@ Thread #x unlocked lock at 0x........ currently held by thread #x 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 ... diff --git a/helgrind/tests/tc09_bad_unlock.stderr.exp-glibc25-x86 b/helgrind/tests/tc09_bad_unlock.stderr.exp-glibc25-x86 deleted file mode 100644 index 1f77f2032f..0000000000 --- a/helgrind/tests/tc09_bad_unlock.stderr.exp-glibc25-x86 +++ /dev/null @@ -1,93 +0,0 @@ - -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/tc18_semabuse.stderr.exp-glibc25-amd64 b/helgrind/tests/tc18_semabuse.stderr.exp-glibc25-amd64 deleted file mode 100644 index efec1e5578..0000000000 --- a/helgrind/tests/tc18_semabuse.stderr.exp-glibc25-amd64 +++ /dev/null @@ -1,15 +0,0 @@ - -Thread #x is the program's root thread - -Thread #x's call to sem_init failed - with error code 22 (EINVAL: Invalid argument) - at 0x........: sem_init@* (hg_intercepts.c:...) - by 0x........: main (tc18_semabuse.c:23) - -Thread #x: Bug in libpthread: sem_wait succeeded on semaphore without prior sem_post - at 0x........: sem_wait_WRK (hg_intercepts.c:...) - by 0x........: sem_wait (hg_intercepts.c:...) - by 0x........: main (tc18_semabuse.c:34) - - -ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 0 from 0) diff --git a/helgrind/tests/tc18_semabuse.stderr.exp-glibc28-amd64 b/helgrind/tests/tc18_semabuse.stderr.exp-glibc28-amd64 index 4c3c00b16a..a9c7df5924 100644 --- a/helgrind/tests/tc18_semabuse.stderr.exp-glibc28-amd64 +++ b/helgrind/tests/tc18_semabuse.stderr.exp-glibc28-amd64 @@ -1,16 +1,24 @@ +---Thread-Announcement------------------------------------------ + 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:...) diff --git a/helgrind/tests/tc20_verifywrap.stderr.exp-glibc25-amd64 b/helgrind/tests/tc20_verifywrap.stderr.exp-glibc25-amd64 deleted file mode 100644 index b3f47a6302..0000000000 --- a/helgrind/tests/tc20_verifywrap.stderr.exp-glibc25-amd64 +++ /dev/null @@ -1,155 +0,0 @@ - - - ------- This is output for >= glibc 2.4 ------ - ----------------- pthread_create/join ---------------- - -Thread #x is the program's root thread - -Thread #x was created - ... - by 0x........: pthread_create@* (hg_intercepts.c:...) - by 0x........: main (tc20_verifywrap.c:76) - -Possible data race during write of size 2 at 0x........ by thread #x - at 0x........: main (tc20_verifywrap.c:78) - This conflicts with a previous write of size 2 by thread #x - at 0x........: racy_child (tc20_verifywrap.c:34) - by 0x........: mythread_wrapper (hg_intercepts.c:...) - ... - Location 0x........ is 0 bytes inside global var "unprotected" - declared at tc20_verifywrap.c:27 - -Thread #x's call to pthread_join failed - with error code 35 (EDEADLK: Resource deadlock would occur) - at 0x........: pthread_join (hg_intercepts.c:...) - by 0x........: main (tc20_verifywrap.c:83) - - ----------------- pthread_mutex_lock et al ---------------- - -Thread #x's call to pthread_mutex_init failed - with error code 95 (EOPNOTSUPP: Operation not supported on transport endpoint) - at 0x........: pthread_mutex_init (hg_intercepts.c:...) - by 0x........: main (tc20_verifywrap.c:92) - -Thread #x: pthread_mutex_destroy of a locked mutex - at 0x........: pthread_mutex_destroy (hg_intercepts.c:...) - by 0x........: main (tc20_verifywrap.c:102) - -Thread #x's call to pthread_mutex_destroy failed - with error code 16 (EBUSY: Device or resource busy) - at 0x........: pthread_mutex_destroy (hg_intercepts.c:...) - by 0x........: main (tc20_verifywrap.c:102) - -Thread #x's call to pthread_mutex_lock failed - with error code 22 (EINVAL: Invalid argument) - at 0x........: pthread_mutex_lock (hg_intercepts.c:...) - by 0x........: main (tc20_verifywrap.c:108) - -Thread #x's call to pthread_mutex_trylock failed - with error code 22 (EINVAL: Invalid argument) - at 0x........: pthread_mutex_trylock (hg_intercepts.c:...) - by 0x........: main (tc20_verifywrap.c:116) - -Thread #x's call to pthread_mutex_timedlock failed - with error code 22 (EINVAL: Invalid argument) - at 0x........: pthread_mutex_timedlock (hg_intercepts.c:...) - by 0x........: main (tc20_verifywrap.c:121) - -Thread #x unlocked an invalid lock at 0x........ - at 0x........: pthread_mutex_unlock (hg_intercepts.c:...) - by 0x........: main (tc20_verifywrap.c:125) - -Thread #x's call to pthread_mutex_unlock failed - with error code 22 (EINVAL: Invalid argument) - at 0x........: pthread_mutex_unlock (hg_intercepts.c:...) - by 0x........: main (tc20_verifywrap.c:125) - - ----------------- pthread_cond_wait et al ---------------- - -Thread #x: pthread_cond_{timed}wait called with un-held mutex - at 0x........: pthread_cond_wait@* (hg_intercepts.c:...) - by 0x........: main (tc20_verifywrap.c:147) - -Thread #x's call to pthread_cond_wait failed - with error code 1 (EPERM: Operation not permitted) - at 0x........: pthread_cond_wait@* (hg_intercepts.c:...) - by 0x........: main (tc20_verifywrap.c:147) - - -FIXME: can't figure out how to verify wrap of pthread_cond_signal - - -FIXME: can't figure out how to verify wrap of pthread_broadcast_signal - -Thread #x: pthread_cond_{timed}wait called with un-held mutex - at 0x........: pthread_cond_timedwait@* (hg_intercepts.c:...) - by 0x........: main (tc20_verifywrap.c:165) - -Thread #x's call to pthread_cond_timedwait failed - with error code 22 (EINVAL: Invalid argument) - at 0x........: pthread_cond_timedwait@* (hg_intercepts.c:...) - by 0x........: main (tc20_verifywrap.c:165) - - ----------------- pthread_rwlock_* ---------------- - -Thread #x unlocked a not-locked lock at 0x........ - at 0x........: pthread_rwlock_unlock (hg_intercepts.c:...) - by 0x........: main (tc20_verifywrap.c:179) - Lock at 0x........ was first observed - at 0x........: pthread_rwlock_init (hg_intercepts.c:...) - by 0x........: main (tc20_verifywrap.c:178) - -(1) no error on next line -(2) no error on next line -(3) ERROR on next line -Thread #x unlocked a not-locked lock at 0x........ - at 0x........: pthread_rwlock_unlock (hg_intercepts.c:...) - by 0x........: main (tc20_verifywrap.c:196) - Lock at 0x........ was first observed - at 0x........: pthread_rwlock_init (hg_intercepts.c:...) - by 0x........: main (tc20_verifywrap.c:186) - -(4) no error on next line -(5) no error on next line -(6) no error on next line -(7) no error on next line -(8) ERROR on next line -Thread #x unlocked a not-locked lock at 0x........ - at 0x........: pthread_rwlock_unlock (hg_intercepts.c:...) - by 0x........: main (tc20_verifywrap.c:212) - Lock at 0x........ was first observed - at 0x........: pthread_rwlock_init (hg_intercepts.c:...) - by 0x........: main (tc20_verifywrap.c:186) - - ----------------- sem_* ---------------- - -Thread #x's call to sem_init failed - with error code 22 (EINVAL: Invalid argument) - at 0x........: sem_init@* (hg_intercepts.c:...) - by 0x........: main (tc20_verifywrap.c:228) - - -FIXME: can't figure out how to verify wrap of sem_destroy - -Thread #x: Bug in libpthread: sem_wait succeeded on semaphore without prior sem_post - at 0x........: sem_wait_WRK (hg_intercepts.c:...) - by 0x........: sem_wait (hg_intercepts.c:...) - by 0x........: main (tc20_verifywrap.c:242) - - -FIXME: can't figure out how to verify wrap of sem_post - - ------------- dealloc of mem holding locks ------------ - -Thread #x: Exiting thread still holds 1 lock - ... - - -ERROR SUMMARY: 20 errors from 20 contexts (suppressed: 0 from 0) diff --git a/helgrind/tests/tc20_verifywrap.stderr.exp-glibc27-amd64 b/helgrind/tests/tc20_verifywrap.stderr.exp-glibc27-amd64 index cf042ec551..293ad1d6d0 100644 --- a/helgrind/tests/tc20_verifywrap.stderr.exp-glibc27-amd64 +++ b/helgrind/tests/tc20_verifywrap.stderr.exp-glibc27-amd64 @@ -5,21 +5,33 @@ ---------------- pthread_create/join ---------------- +---Thread-Announcement------------------------------------------ + Thread #x is the program's root thread +---Thread-Announcement------------------------------------------ + 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 +Locks held: none at 0x........: main (tc20_verifywrap.c:78) - This conflicts with a previous write of size 2 by thread #x + +This conflicts with a previous write of size 2 by thread #x +Locks held: none 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 + +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) @@ -29,39 +41,55 @@ Thread #x's call to pthread_join failed ---------------- 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:...) @@ -70,28 +98,48 @@ Thread #x's call to pthread_mutex_unlock failed ---------------- pthread_cond_wait et al ---------------- +---------------------------------------------------------------- + Thread #x: pthread_cond_{timed}wait called with un-held mutex at 0x........: pthread_cond_wait_WRK (hg_intercepts.c:...) by 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_WRK (hg_intercepts.c:...) by 0x........: pthread_cond_wait@* (hg_intercepts.c:...) by 0x........: main (tc20_verifywrap.c:147) +---------------------------------------------------------------- + +Thread #x: pthread_cond_{signal,broadcast}: dubious: associated lock is not held by any thread + at 0x........: pthread_cond_signal@* (hg_intercepts.c:...) + by 0x........: main (tc20_verifywrap.c:152) + FIXME: can't figure out how to verify wrap of pthread_cond_signal +---------------------------------------------------------------- + +Thread #x: pthread_cond_{signal,broadcast}: dubious: associated lock is not held by any thread + at 0x........: pthread_cond_broadcast@* (hg_intercepts.c:...) + by 0x........: main (tc20_verifywrap.c:158) + 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_WRK (hg_intercepts.c:...) by 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_WRK (hg_intercepts.c:...) @@ -101,6 +149,8 @@ Thread #x's call to pthread_cond_timedwait failed ---------------- 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) @@ -111,6 +161,8 @@ Thread #x unlocked a not-locked lock at 0x........ (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) @@ -123,6 +175,8 @@ Thread #x unlocked a not-locked lock at 0x........ (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) @@ -133,6 +187,8 @@ Thread #x unlocked a not-locked lock at 0x........ ---------------- sem_* ---------------- +---------------------------------------------------------------- + Thread #x's call to sem_init failed with error code 22 (EINVAL: Invalid argument) at 0x........: sem_init@* (hg_intercepts.c:...) @@ -141,11 +197,15 @@ Thread #x's call to sem_init failed 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:...) @@ -158,8 +218,10 @@ 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) +ERROR SUMMARY: 23 errors from 23 contexts (suppressed: 0 from 0)