Commit Graph

644 Commits

Author SHA1 Message Date
Bart Van Assche
e6b3e4178d drd/tests/pth_barrier: Reduce stack usage
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11968
2011-08-12 15:21:31 +00:00
Florian Krohm
5800c7271c Check return code of pthread_create and bail out if
the function failed. This helps on systems which don't
have lots of memory.
Suggested by Christian Borntraeger.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11967
2011-08-12 15:07:10 +00:00
Bart Van Assche
a99feb5763 Yet another thread test scheduler sensitivity fix
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11953
2011-07-30 16:50:33 +00:00
Bart Van Assche
93234dd711 drd: Make racing pthread_barrier_wait() calls trigger an error message instead
of an assertion failure. Also, make barrier tracing output more detailed.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11951
2011-07-30 09:35:56 +00:00
Bart Van Assche
e8285a3968 drd/tests/pth_barrier_thr_cr: Suppress pthread_barrier_wait() race reports since these are triggered intentionally.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11950
2011-07-30 09:29:20 +00:00
Bart Van Assche
5a2a69e658 drd/tests/pth_barrier_thr_cr: Add more error checking.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11949
2011-07-30 09:28:13 +00:00
Bart Van Assche
ff483e0d84 drd/tests/tc21_pthonce: Eliminate output variation
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11947
2011-07-29 14:23:23 +00:00
Bart Van Assche
ab40e94dad drd: Fix a race condition in the barrier implementation that could result in false positives.
What could occur before this fix is:
- The pthread_barrier() call in a first thread finishes.
- Another thread invokes pthread_join() on that thread, causing the information
  associated with that thread to be removed from the barrier object.
- The pthread_barrier() call in another thread finishes. Because some
  thread information has already been removed from the barrier object, the
  per-thread vector clock "last" won't be computed correctly by
  DRD_(barrier_post_wait)().
- Because of the above false positives could be reported.

This resulted in sporadic failure of the drd/tests/matinv regression test, and
should now be fixed.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11945
2011-07-29 12:39:44 +00:00
Bart Van Assche
5c64e2ce11 drd: Add a stress test for the barrier implementation
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11944
2011-07-29 12:32:53 +00:00
Bart Van Assche
26c2208f48 drd: Remove an unused member variable from the barrier implementation
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11943
2011-07-29 12:31:33 +00:00
Bart Van Assche
0230aa2ac2 drd: drd_thread.c source code cleanup
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11942
2011-07-29 12:30:43 +00:00
Bart Van Assche
d9e5622baf drd, bitmap node allocator: recognize root node size properly
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11941
2011-07-29 07:26:01 +00:00
Bart Van Assche
174c18de1d drd/tests/pth_barrier[23]: Filter output such that only the error count is kept
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11940
2011-07-29 07:22:29 +00:00
Bart Van Assche
ea04ec55b6 Yet another thread test scheduler sensitivity fix
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11939
2011-07-29 06:58:16 +00:00
Bart Van Assche
d290f025a1 drd/tests/pth_once: Restrict the number of callers to three.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11938
2011-07-29 06:54:22 +00:00
Bart Van Assche
85a61a6c6f drd: Remove a too strict assert() statement
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11937
2011-07-29 06:30:23 +00:00
Bart Van Assche
fe979eb8e9 Yet another thread test scheduler sensitivity fix
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11936
2011-07-29 06:12:51 +00:00
Bart Van Assche
01e205cfc3 drd/tests/pth_detached_sem: Send regression test output to stderr instead of stdout
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11935
2011-07-29 05:44:38 +00:00
Bart Van Assche
259006daec Verify drd/tests/pth_detached stderr output instead of the stdout output.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11933
2011-07-28 18:06:44 +00:00
Bart Van Assche
19cbbaf2ae Two more scheduler sensitivity fixes for thread tool regression tests
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11931
2011-07-28 17:41:49 +00:00
Bart Van Assche
f396bddd5c Micro-optimize the matinv regression test
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11930
2011-07-28 17:40:49 +00:00
Bart Van Assche
08eecbf85d drd: Make drd_pthread_intercepts.c compile again on systems where
FUTEX_PRIVATE_FLAG has not been defined in <linux/futex.h>, e.g. older System z
systems.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11929
2011-07-28 15:04:08 +00:00
Bart Van Assche
bce3207562 Make test 1 output independent of scheduler variations.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11928
2011-07-28 15:01:01 +00:00
Bart Van Assche
5dfad53389 Revert r11916, r11917, r11918 and r11923.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11927
2011-07-28 10:00:38 +00:00
Bart Van Assche
6cf2bc2c34 drd: Delay deletion of memory access information of joined threads in order not
to miss any races caused by these threads.

To do: refine handling of pthread_once() again.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11926
2011-07-28 09:54:37 +00:00
Bart Van Assche
ecad167c91 More thread test scheduler sensitivity fixes
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11925
2011-07-28 09:33:55 +00:00
Bart Van Assche
abb6befa6d Eliminate a superfluous sleep() call and check the pthread_cond_wait() return value
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11924
2011-07-27 08:49:47 +00:00
Bart Van Assche
f7c4be8a6a More thread tool regression test scheduler sensitivity fixes
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11923
2011-07-27 08:49:12 +00:00
Bart Van Assche
39b5365cd9 drd/Linux: eliminate busy waiting when starting a thread
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11920
2011-07-26 19:30:28 +00:00
Bart Van Assche
02b0e12238 drd/tests/atomic_var: Reduce scheduler sensitivity
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11918
2011-07-26 19:28:52 +00:00
Bart Van Assche
e6b4100427 Disable drd/tests/tc19_shadowmem because too scheduler sensitive
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11917
2011-07-26 19:28:31 +00:00
Bart Van Assche
9c8728c421 drd/tests/annotate_smart_pointer2: Filter out offset
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11898
2011-07-13 16:46:18 +00:00
Bart Van Assche
458f87ca2f drd: add a test that verifies that a race is reported for the annotate_smart_pointer test program with annotations disabled
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11896
2011-07-13 10:43:49 +00:00
Bart Van Assche
cc4bc378ca drd/tests/annotate_smart_pointer: remove a superfluous initialization
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11895
2011-07-13 10:43:05 +00:00
Julian Seward
eea9337891 The pthread.h on Android has no definition for pthread_rwlock_t, which
makes the associated intercepts in Helgrind and DRD un-compilable.
Add a configure test for it, and use them to guard the aforementioned
intercepts.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11875
2011-07-11 22:11:58 +00:00
Bart Van Assche
718bde7682 drd/tests/matinv: Add missing return statement in an error path.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11869
2011-07-11 16:25:37 +00:00
Bart Van Assche
98e2b90f54 drd: Source code cleanup - merge two blocks of tracing code
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11851
2011-07-03 11:43:45 +00:00
Bart Van Assche
b8a3862036 drd: Source code cleanup - outdent a code block
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11850
2011-07-03 11:42:03 +00:00
Bart Van Assche
8dbea80af4 drd: Simplify a boolean expression
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11849
2011-07-03 11:41:27 +00:00
Bart Van Assche
32e94d5a60 drd: Source code cleanup - change two variables from int to bool and outdent one code block
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11848
2011-07-03 11:40:49 +00:00
Bart Van Assche
ea4cf7d848 drd: Add an assert statement
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11847
2011-07-03 11:39:30 +00:00
Bart Van Assche
244796dc18 drd: remove a duplicate tl_assert() statement.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11846
2011-07-03 11:24:41 +00:00
Julian Seward
ad7de5b336 Delete the AIX5 port. The last release this worked for is 3.4.1,
and then only on AIX 5.2 and 5.3.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11842
2011-06-28 07:25:29 +00:00
Bart Van Assche
4c5fcff44c DRD: eliminate two redundant global variable definitions. See also #273536.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11778
2011-05-18 16:09:54 +00:00
Bart Van Assche
97a0c3e5d1 Reverted r11774 because it didn't make sense.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11775
2011-05-18 15:51:51 +00:00
Bart Van Assche
1de28c3b2a Added missing extern keywords. Patch provided by Daniel Richard G. - closes #275536.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11774
2011-05-18 10:12:36 +00:00
Bart Van Assche
773cf4f2eb drd/tests/pth_detached.c: eliminated thread_arg[] array and introduced PTHREAD_STACK_MIN.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11769
2011-05-17 16:45:08 +00:00
Bart Van Assche
9a36fe677e Get rid of the remaining "set but not used" warnings reported by gcc 4.6 by
swapping the roles of the VALGRIND_DO_CLIENT_REQUEST() and
VALGRIND_DO_CLIENT_REQUEST_EXPR() macros. Also, many __attribute__((unused))
declarations on variables have been eliminated. Closes #269778.

Note: so far this patch has been tested on x86/Linux, amd64/Linux and
ppc64/Linux but not yet on any other supported CPU/OS combination.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11755
2011-05-15 07:04:03 +00:00
Bart Van Assche
b9d948061a DRD: fix issues reported by the IBM static analysis tool.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11719
2011-04-30 07:27:41 +00:00
Julian Seward
d1ed036fc5 Fix a type mismatch that gcc-4.6 warns about.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11709
2011-04-26 10:23:54 +00:00