From 69f694c9ebe8906bdd1d11ac5170c20ccc8d2be1 Mon Sep 17 00:00:00 2001 From: Bart Van Assche Date: Mon, 4 Jan 2010 12:04:38 +0000 Subject: [PATCH] Reverted r11010 because it was wrong. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11013 --- drd/tests/Makefile.am | 3 +- ... tc23_bogus_condwait.stderr.exp-linux-ppc} | 0 .../tc23_bogus_condwait.stderr.exp-linux-x86 | 86 +++++++++++++++++++ 3 files changed, 88 insertions(+), 1 deletion(-) rename drd/tests/{tc23_bogus_condwait.stderr.exp-linux => tc23_bogus_condwait.stderr.exp-linux-ppc} (100%) create mode 100644 drd/tests/tc23_bogus_condwait.stderr.exp-linux-x86 diff --git a/drd/tests/Makefile.am b/drd/tests/Makefile.am index 9f4e0be6d9..a252ec0460 100644 --- a/drd/tests/Makefile.am +++ b/drd/tests/Makefile.am @@ -227,7 +227,8 @@ EXTRA_DIST = \ tc22_exit_w_lock.stderr.exp-32bit \ tc22_exit_w_lock.stderr.exp-64bit \ tc22_exit_w_lock.vgtest \ - tc23_bogus_condwait.stderr.exp-linux \ + tc23_bogus_condwait.stderr.exp-linux-x86 \ + tc23_bogus_condwait.stderr.exp-linux-ppc \ tc23_bogus_condwait.stderr.exp-darwin \ tc23_bogus_condwait.vgtest \ tc24_nonzero_sem.stderr.exp \ diff --git a/drd/tests/tc23_bogus_condwait.stderr.exp-linux b/drd/tests/tc23_bogus_condwait.stderr.exp-linux-ppc similarity index 100% rename from drd/tests/tc23_bogus_condwait.stderr.exp-linux rename to drd/tests/tc23_bogus_condwait.stderr.exp-linux-ppc diff --git a/drd/tests/tc23_bogus_condwait.stderr.exp-linux-x86 b/drd/tests/tc23_bogus_condwait.stderr.exp-linux-x86 new file mode 100644 index 0000000000..5e16bd2e46 --- /dev/null +++ b/drd/tests/tc23_bogus_condwait.stderr.exp-linux-x86 @@ -0,0 +1,86 @@ + +The object at address 0x........ is not a mutex. + at 0x........: pthread_cond_wait (drd_pthread_intercepts.c:?) + by 0x........: main (tc23_bogus_condwait.c:69) + +Thread 3: +Probably a race condition: condition variable 0x........ has been signaled but the associated mutex 0x........ is not locked by the signalling thread. + at 0x........: pthread_cond_signal (drd_pthread_intercepts.c:?) + by 0x........: rescue_me (tc23_bogus_condwait.c:20) + by 0x........: vgDrd_thread_wrapper (drd_pthread_intercepts.c:?) +cond 0x........ was first observed at: + at 0x........: pthread_cond_init (drd_pthread_intercepts.c:?) + by 0x........: main (tc23_bogus_condwait.c:56) + +Thread 1: +Mutex not locked: mutex 0x........, recursion count 0, owner 0. + at 0x........: pthread_cond_wait (drd_pthread_intercepts.c:?) + by 0x........: main (tc23_bogus_condwait.c:72) +mutex 0x........ was first observed at: + at 0x........: pthread_mutex_init (drd_pthread_intercepts.c:?) + by 0x........: main (tc23_bogus_condwait.c:51) + +Thread 3: +Probably a race condition: condition variable 0x........ has been signaled but the associated mutex 0x........ is not locked by the signalling thread. + at 0x........: pthread_cond_signal (drd_pthread_intercepts.c:?) + by 0x........: rescue_me (tc23_bogus_condwait.c:24) + by 0x........: vgDrd_thread_wrapper (drd_pthread_intercepts.c:?) +cond 0x........ was first observed at: + at 0x........: pthread_cond_init (drd_pthread_intercepts.c:?) + by 0x........: main (tc23_bogus_condwait.c:56) +mutex 0x........ was first observed at: + at 0x........: pthread_mutex_init (drd_pthread_intercepts.c:?) + by 0x........: main (tc23_bogus_condwait.c:51) + +Thread 1: +The object at address 0x........ is not a mutex. + at 0x........: pthread_cond_wait (drd_pthread_intercepts.c:?) + by 0x........: main (tc23_bogus_condwait.c:75) +rwlock 0x........ was first observed at: + at 0x........: pthread_rwlock_init (drd_pthread_intercepts.c:?) + by 0x........: main (tc23_bogus_condwait.c:57) + +Thread 3: +Probably a race condition: condition variable 0x........ has been signaled but the associated mutex 0x........ is not locked by the signalling thread. + at 0x........: pthread_cond_signal (drd_pthread_intercepts.c:?) + by 0x........: rescue_me (tc23_bogus_condwait.c:28) + by 0x........: vgDrd_thread_wrapper (drd_pthread_intercepts.c:?) +cond 0x........ was first observed at: + at 0x........: pthread_cond_init (drd_pthread_intercepts.c:?) + by 0x........: main (tc23_bogus_condwait.c:56) +rwlock 0x........ was first observed at: + at 0x........: pthread_rwlock_init (drd_pthread_intercepts.c:?) + by 0x........: main (tc23_bogus_condwait.c:57) + +Thread 1: +Mutex not locked by calling thread: mutex 0x........, recursion count 1, owner 2. + at 0x........: pthread_cond_wait (drd_pthread_intercepts.c:?) + by 0x........: main (tc23_bogus_condwait.c:78) +mutex 0x........ was first observed at: + at 0x........: pthread_mutex_init (drd_pthread_intercepts.c:?) + by 0x........: main (tc23_bogus_condwait.c:53) + +Thread 3: +Probably a race condition: condition variable 0x........ has been signaled but the associated mutex 0x........ is not locked by the signalling thread. + at 0x........: pthread_cond_signal (drd_pthread_intercepts.c:?) + by 0x........: rescue_me (tc23_bogus_condwait.c:32) + by 0x........: vgDrd_thread_wrapper (drd_pthread_intercepts.c:?) +cond 0x........ was first observed at: + at 0x........: pthread_cond_init (drd_pthread_intercepts.c:?) + by 0x........: main (tc23_bogus_condwait.c:56) +mutex 0x........ was first observed at: + at 0x........: pthread_mutex_init (drd_pthread_intercepts.c:?) + by 0x........: main (tc23_bogus_condwait.c:53) + +The impossible happened: mutex 0x........ is locked simultaneously by two threads (recursion count 1, owners 2 and 1) ! +Thread 2: +Mutex not locked by calling thread: mutex 0x........, recursion count 2, owner 1. + at 0x........: pthread_mutex_unlock (drd_pthread_intercepts.c:?) + by 0x........: grab_the_lock (tc23_bogus_condwait.c:42) + by 0x........: vgDrd_thread_wrapper (drd_pthread_intercepts.c:?) +mutex 0x........ was first observed at: + at 0x........: pthread_mutex_init (drd_pthread_intercepts.c:?) + by 0x........: main (tc23_bogus_condwait.c:53) + + +ERROR SUMMARY: 11 errors from 9 contexts (suppressed: 0 from 0) -- 2.47.2