You can subscribe to this list here.
| 2002 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(1) |
Oct
(122) |
Nov
(152) |
Dec
(69) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2003 |
Jan
(6) |
Feb
(25) |
Mar
(73) |
Apr
(82) |
May
(24) |
Jun
(25) |
Jul
(10) |
Aug
(11) |
Sep
(10) |
Oct
(54) |
Nov
(203) |
Dec
(182) |
| 2004 |
Jan
(307) |
Feb
(305) |
Mar
(430) |
Apr
(312) |
May
(187) |
Jun
(342) |
Jul
(487) |
Aug
(637) |
Sep
(336) |
Oct
(373) |
Nov
(441) |
Dec
(210) |
| 2005 |
Jan
(385) |
Feb
(480) |
Mar
(636) |
Apr
(544) |
May
(679) |
Jun
(625) |
Jul
(810) |
Aug
(838) |
Sep
(634) |
Oct
(521) |
Nov
(965) |
Dec
(543) |
| 2006 |
Jan
(494) |
Feb
(431) |
Mar
(546) |
Apr
(411) |
May
(406) |
Jun
(322) |
Jul
(256) |
Aug
(401) |
Sep
(345) |
Oct
(542) |
Nov
(308) |
Dec
(481) |
| 2007 |
Jan
(427) |
Feb
(326) |
Mar
(367) |
Apr
(255) |
May
(244) |
Jun
(204) |
Jul
(223) |
Aug
(231) |
Sep
(354) |
Oct
(374) |
Nov
(497) |
Dec
(362) |
| 2008 |
Jan
(322) |
Feb
(482) |
Mar
(658) |
Apr
(422) |
May
(476) |
Jun
(396) |
Jul
(455) |
Aug
(267) |
Sep
(280) |
Oct
(253) |
Nov
(232) |
Dec
(304) |
| 2009 |
Jan
(486) |
Feb
(470) |
Mar
(458) |
Apr
(423) |
May
(696) |
Jun
(461) |
Jul
(551) |
Aug
(575) |
Sep
(134) |
Oct
(110) |
Nov
(157) |
Dec
(102) |
| 2010 |
Jan
(226) |
Feb
(86) |
Mar
(147) |
Apr
(117) |
May
(107) |
Jun
(203) |
Jul
(193) |
Aug
(238) |
Sep
(300) |
Oct
(246) |
Nov
(23) |
Dec
(75) |
| 2011 |
Jan
(133) |
Feb
(195) |
Mar
(315) |
Apr
(200) |
May
(267) |
Jun
(293) |
Jul
(353) |
Aug
(237) |
Sep
(278) |
Oct
(611) |
Nov
(274) |
Dec
(260) |
| 2012 |
Jan
(303) |
Feb
(391) |
Mar
(417) |
Apr
(441) |
May
(488) |
Jun
(655) |
Jul
(590) |
Aug
(610) |
Sep
(526) |
Oct
(478) |
Nov
(359) |
Dec
(372) |
| 2013 |
Jan
(467) |
Feb
(226) |
Mar
(391) |
Apr
(281) |
May
(299) |
Jun
(252) |
Jul
(311) |
Aug
(352) |
Sep
(481) |
Oct
(571) |
Nov
(222) |
Dec
(231) |
| 2014 |
Jan
(185) |
Feb
(329) |
Mar
(245) |
Apr
(238) |
May
(281) |
Jun
(399) |
Jul
(382) |
Aug
(500) |
Sep
(579) |
Oct
(435) |
Nov
(487) |
Dec
(256) |
| 2015 |
Jan
(338) |
Feb
(357) |
Mar
(330) |
Apr
(294) |
May
(191) |
Jun
(108) |
Jul
(142) |
Aug
(261) |
Sep
(190) |
Oct
(54) |
Nov
(83) |
Dec
(22) |
| 2016 |
Jan
(49) |
Feb
(89) |
Mar
(33) |
Apr
(50) |
May
(27) |
Jun
(34) |
Jul
(53) |
Aug
(53) |
Sep
(98) |
Oct
(206) |
Nov
(93) |
Dec
(53) |
| 2017 |
Jan
(65) |
Feb
(82) |
Mar
(102) |
Apr
(86) |
May
(187) |
Jun
(67) |
Jul
(23) |
Aug
(93) |
Sep
(65) |
Oct
(45) |
Nov
(35) |
Dec
(17) |
| 2018 |
Jan
(26) |
Feb
(35) |
Mar
(38) |
Apr
(32) |
May
(8) |
Jun
(43) |
Jul
(27) |
Aug
(30) |
Sep
(43) |
Oct
(42) |
Nov
(38) |
Dec
(67) |
| 2019 |
Jan
(32) |
Feb
(37) |
Mar
(53) |
Apr
(64) |
May
(49) |
Jun
(18) |
Jul
(14) |
Aug
(53) |
Sep
(25) |
Oct
(30) |
Nov
(49) |
Dec
(31) |
| 2020 |
Jan
(87) |
Feb
(45) |
Mar
(37) |
Apr
(51) |
May
(99) |
Jun
(36) |
Jul
(11) |
Aug
(14) |
Sep
(20) |
Oct
(24) |
Nov
(40) |
Dec
(23) |
| 2021 |
Jan
(14) |
Feb
(53) |
Mar
(85) |
Apr
(15) |
May
(19) |
Jun
(3) |
Jul
(14) |
Aug
(1) |
Sep
(57) |
Oct
(73) |
Nov
(56) |
Dec
(22) |
| 2022 |
Jan
(3) |
Feb
(22) |
Mar
(6) |
Apr
(55) |
May
(46) |
Jun
(39) |
Jul
(15) |
Aug
(9) |
Sep
(11) |
Oct
(34) |
Nov
(20) |
Dec
(36) |
| 2023 |
Jan
(79) |
Feb
(41) |
Mar
(99) |
Apr
(169) |
May
(48) |
Jun
(16) |
Jul
(16) |
Aug
(57) |
Sep
(19) |
Oct
|
Nov
|
Dec
|
| S | M | T | W | T | F | S |
|---|---|---|---|---|---|---|
|
|
1
(10) |
2
(8) |
3
(17) |
4
(28) |
5
(22) |
6
(8) |
|
7
(8) |
8
(22) |
9
(12) |
10
(17) |
11
(14) |
12
(15) |
13
(6) |
|
14
(9) |
15
(9) |
16
(16) |
17
(13) |
18
(18) |
19
(7) |
20
(5) |
|
21
(6) |
22
(5) |
23
(11) |
24
(5) |
25
(11) |
26
(7) |
27
(15) |
|
28
(11) |
29
(12) |
30
(12) |
31
(15) |
|
|
|
|
From: Christoph B. <bar...@or...> - 2007-10-27 18:02:54
|
Am Samstag, 27. Oktober 2007 schrieb Julian Seward: > > thanks for your work on a helgrind replacement. Such a tool is a great > > help for us. > > Thanks for the feedback and test program. What version of glibc do > your test machines have? Both machines are opensuse 10.2 i386: GNU C Library stable release version 2.5 (20061011), by Roland McGrath et al. x86_64: GNU C Library stable release version 2.5 (20061011), by Roland McGrath et al. > > 1. The concurrent writes on line 72 are not protected by a mutex > > (uncommented above and below). Thrcheck does not flag this error on my > > i386 and x86_64 machines. > > This appears to be scheduling-sensitive. For both i386 and x86_64 (Core 2 > Duo) I get an error here maybe for every 1 run in 4: You are right. After running the test program several times I also see the error here. > > 3. The x86_64 version only shows that one thread is started. Threads 3 -- > > 9 are not shown. > > I presume you mean you only get one message of the form > > Thread #3 was created > at 0x586748E: clone (in /lib64/libc-2.5.so) > by 0x4E2F305: do_clone (in /lib64/libpthread-2.5.so) > by 0x4E2F7C5: pthread_create@@GLIBC_2.2.5 (in > /lib64/libpthread-2.5.so) by 0x4C23864: pthread_create@* > (tc_intercepts.c:190) > > These message are not printed when a thread starts - that would be > impractical for a program with many threads. They are printed on demand > so as to make later error messages make sense. Specifically, if it > produces a race message containing this: > > Possible data race during [...] > Old state: shared-readonly by threads #3, #6 > New state: shared-modified by threads #3, #6 > > then it will first print out a "Thread #3 was created at" message, and a > "Thread #6 was created at" message, so you can make sense of the race > message. Ok, now I understand that the number of messages varies between different runs. Is there some documentation on the algorithm that thrcheck uses? Greetings Christoph |
|
From: Julian S. <js...@ac...> - 2007-10-27 17:26:51
|
> thanks for your work on a helgrind replacement. Such a tool is a great help
> for us.
Thanks for the feedback and test program. What version of glibc do
your test machines have?
> 1. The concurrent writes on line 72 are not protected by a mutex
> (uncommented above and below). Thrcheck does not flag this error on my i386
> and x86_64 machines.
This appears to be scheduling-sensitive. For both i386 and x86_64 (Core 2
Duo) I get an error here maybe for every 1 run in 4:
Created counter at address: 0x62e9b20
[...]
Possible data race during write of size 4 at 0x62E9B20
at 0x401315: Loop::run() (bartothread.cpp:72)
by 0x400F7B: start (bartothread.cpp:44)
by 0x4C25DEB: mythread_wrapper (tc_intercepts.c:170)
by 0x4E2F09D: start_thread (in /lib64/libpthread-2.5.so)
by 0x58674CC: clone (in /lib64/libc-2.5.so)
Old state: shared-readonly by threads #3, #4
New state: shared-modified by threads #3, #4
Reason: this thread, #3, holds no consistent locks
Location 0x62E9B20 has never been protected by any lock
Unfortunate that the error-detection is scheduling-sensitive. Given the
use of pthread_cond_* that is difficult to avoid.
> 2. There is no race-condition for the writes in line 92. However the i386
> version of thrcheck flags an error here.
Yes .. also the x86_64 version flags an error. I'll look into it.
> 3. The x86_64 version only shows that one thread is started. Threads 3 -- 9
> are not shown.
I presume you mean you only get one message of the form
Thread #3 was created
at 0x586748E: clone (in /lib64/libc-2.5.so)
by 0x4E2F305: do_clone (in /lib64/libpthread-2.5.so)
by 0x4E2F7C5: pthread_create@@GLIBC_2.2.5 (in /lib64/libpthread-2.5.so)
by 0x4C23864: pthread_create@* (tc_intercepts.c:190)
These message are not printed when a thread starts - that would be
impractical for a program with many threads. They are printed on demand
so as to make later error messages make sense. Specifically, if it
produces a race message containing this:
Possible data race during [...]
Old state: shared-readonly by threads #3, #6
New state: shared-modified by threads #3, #6
then it will first print out a "Thread #3 was created at" message, and a
"Thread #6 was created at" message, so you can make sense of the race message.
> 4. The i386 version flags a possible race condition in line 41. In my
> opinion there is none.
I agree. You should ignore all race errors reported inside any
pthread_* function and inside ld.so. I tried to suppress them, but clearly
there is more work to do there.
J
|
|
From: Christoph B. <bar...@or...> - 2007-10-27 12:20:29
|
Hi, thanks for your work on a helgrind replacement. Such a tool is a great help for us. I have tested thrcheck from revision 7044 with the attached program. Here are some problems I found: 1. The concurrent writes on line 72 are not protected by a mutex (uncommented above and below). Thrcheck does not flag this error on my i386 and x86_64 machines. 2. There is no race-condition for the writes in line 92. However the i386 version of thrcheck flags an error here. 3. The x86_64 version only shows that one thread is started. Threads 3 -- 9 are not shown. 4. The i386 version flags a possible race condition in line 41. In my opinion there is none. Greetings Christoph |
|
From: Tom H. <th...@cy...> - 2007-10-27 02:31:08
|
Nightly build on alvis ( i686, Red Hat 7.3 ) started at 2007-10-27 03:15:02 BST Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 260 tests, 27 stderr failures, 1 stdout failure, 0 posttest failures == memcheck/tests/addressable (stderr) memcheck/tests/badjump (stderr) memcheck/tests/describe-block (stderr) memcheck/tests/erringfds (stderr) memcheck/tests/leak-0 (stderr) memcheck/tests/leak-cycle (stderr) memcheck/tests/leak-pool-0 (stderr) memcheck/tests/leak-pool-1 (stderr) memcheck/tests/leak-pool-2 (stderr) memcheck/tests/leak-pool-3 (stderr) memcheck/tests/leak-pool-4 (stderr) memcheck/tests/leak-pool-5 (stderr) memcheck/tests/leak-regroot (stderr) memcheck/tests/leak-tree (stderr) memcheck/tests/long_namespace_xml (stderr) memcheck/tests/match-overrun (stderr) memcheck/tests/partial_load_dflt (stderr) memcheck/tests/partial_load_ok (stderr) memcheck/tests/partiallydefinedeq (stderr) memcheck/tests/pointer-trace (stderr) memcheck/tests/sigkill (stderr) memcheck/tests/stack_changes (stderr) memcheck/tests/x86/scalar (stderr) memcheck/tests/x86/scalar_supp (stderr) memcheck/tests/x86/xor-undef-x86 (stderr) memcheck/tests/xml1 (stderr) none/tests/mremap (stderr) none/tests/mremap2 (stdout) |
|
From: <sv...@va...> - 2007-10-27 02:24:52
|
Author: sewardj Date: 2007-10-27 03:24:52 +0100 (Sat, 27 Oct 2007) New Revision: 7044 Log: Followup to r7043: rename all the .stderr.exp files for this tool to be .stderr.exp-glibc25-amd64. Added: branches/THRCHECK/thrcheck/tests/hg01_all_ok.stderr.exp-glibc25-amd64 branches/THRCHECK/thrcheck/tests/hg02_deadlock.stderr.exp-glibc25-amd64 branches/THRCHECK/thrcheck/tests/hg03_inherit.stderr.exp-glibc25-amd64 branches/THRCHECK/thrcheck/tests/hg04_race.stderr.exp-glibc25-amd64 branches/THRCHECK/thrcheck/tests/hg05_race2.stderr.exp-glibc25-amd64 branches/THRCHECK/thrcheck/tests/hg06_readshared.stderr.exp-glibc25-amd64 branches/THRCHECK/thrcheck/tests/tc01_simple_race.stderr.exp-glibc25-amd64 branches/THRCHECK/thrcheck/tests/tc02_simple_tls.stderr.exp-glibc25-amd64 branches/THRCHECK/thrcheck/tests/tc03_re_excl.stderr.exp-glibc25-amd64 branches/THRCHECK/thrcheck/tests/tc04_free_lock.stderr.exp-glibc25-amd64 branches/THRCHECK/thrcheck/tests/tc05_simple_race.stderr.exp-glibc25-amd64 branches/THRCHECK/thrcheck/tests/tc06_two_races.stderr.exp-glibc25-amd64 branches/THRCHECK/thrcheck/tests/tc07_hbl1.stderr.exp-glibc25-amd64 branches/THRCHECK/thrcheck/tests/tc08_hbl2.stderr.exp-glibc25-amd64 branches/THRCHECK/thrcheck/tests/tc09_bad_unlock.stderr.exp-glibc25-amd64 branches/THRCHECK/thrcheck/tests/tc10_rec_lock.stderr.exp-glibc25-amd64 branches/THRCHECK/thrcheck/tests/tc11_XCHG.stderr.exp-glibc25-amd64 branches/THRCHECK/thrcheck/tests/tc12_rwl_trivial.stderr.exp-glibc25-amd64 branches/THRCHECK/thrcheck/tests/tc13_laog1.stderr.exp-glibc25-amd64 branches/THRCHECK/thrcheck/tests/tc14_laog_dinphils.stderr.exp-glibc25-amd64 branches/THRCHECK/thrcheck/tests/tc15_laog_lockdel.stderr.exp-glibc25-amd64 branches/THRCHECK/thrcheck/tests/tc16_byterace.stderr.exp-glibc25-amd64 branches/THRCHECK/thrcheck/tests/tc17_sembar.stderr.exp-glibc25-amd64 branches/THRCHECK/thrcheck/tests/tc18_semabuse.stderr.exp-glibc25-amd64 branches/THRCHECK/thrcheck/tests/tc19_shadowmem.stderr.exp-glibc25-amd64 Removed: branches/THRCHECK/thrcheck/tests/hg01_all_ok.stderr.exp branches/THRCHECK/thrcheck/tests/hg02_deadlock.stderr.exp branches/THRCHECK/thrcheck/tests/hg03_inherit.stderr.exp branches/THRCHECK/thrcheck/tests/hg04_race.stderr.exp branches/THRCHECK/thrcheck/tests/hg05_race2.stderr.exp branches/THRCHECK/thrcheck/tests/hg06_readshared.stderr.exp branches/THRCHECK/thrcheck/tests/tc01_simple_race.stderr.exp branches/THRCHECK/thrcheck/tests/tc02_simple_tls.stderr.exp branches/THRCHECK/thrcheck/tests/tc03_re_excl.stderr.exp branches/THRCHECK/thrcheck/tests/tc04_free_lock.stderr.exp branches/THRCHECK/thrcheck/tests/tc05_simple_race.stderr.exp branches/THRCHECK/thrcheck/tests/tc06_two_races.stderr.exp branches/THRCHECK/thrcheck/tests/tc07_hbl1.stderr.exp branches/THRCHECK/thrcheck/tests/tc08_hbl2.stderr.exp branches/THRCHECK/thrcheck/tests/tc09_bad_unlock.stderr.exp branches/THRCHECK/thrcheck/tests/tc10_rec_lock.stderr.exp branches/THRCHECK/thrcheck/tests/tc11_XCHG.stderr.exp branches/THRCHECK/thrcheck/tests/tc12_rwl_trivial.stderr.exp branches/THRCHECK/thrcheck/tests/tc13_laog1.stderr.exp branches/THRCHECK/thrcheck/tests/tc14_laog_dinphils.stderr.exp branches/THRCHECK/thrcheck/tests/tc15_laog_lockdel.stderr.exp branches/THRCHECK/thrcheck/tests/tc16_byterace.stderr.exp branches/THRCHECK/thrcheck/tests/tc17_sembar.stderr.exp branches/THRCHECK/thrcheck/tests/tc18_semabuse.stderr.exp branches/THRCHECK/thrcheck/tests/tc19_shadowmem.stderr.exp Modified: branches/THRCHECK/thrcheck/tests/Makefile.am [... diff too large to include ...] |
|
From: Tom H. <th...@cy...> - 2007-10-27 02:23:52
|
Nightly build on lloyd ( x86_64, Fedora 7 ) started at 2007-10-27 03:05:04 BST Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 293 tests, 4 stderr failures, 2 stdout failures, 0 posttest failures == memcheck/tests/pointer-trace (stderr) memcheck/tests/vcpu_fnfns (stdout) memcheck/tests/x86/scalar (stderr) memcheck/tests/xml1 (stderr) none/tests/mremap (stderr) none/tests/mremap2 (stdout) |
|
From: Tom H. <th...@cy...> - 2007-10-27 02:23:34
|
Nightly build on dellow ( x86_64, Fedora 7 ) started at 2007-10-27 03:10:05 BST Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 293 tests, 4 stderr failures, 3 stdout failures, 0 posttest failures == memcheck/tests/pointer-trace (stderr) memcheck/tests/vcpu_fnfns (stdout) memcheck/tests/x86/scalar (stderr) memcheck/tests/xml1 (stderr) none/tests/mremap (stderr) none/tests/mremap2 (stdout) none/tests/pth_detached (stdout) |
|
From: <sv...@va...> - 2007-10-27 02:23:10
|
Author: sewardj
Date: 2007-10-27 03:23:10 +0100 (Sat, 27 Oct 2007)
New Revision: 7043
Log:
Allow a test to have any number of .stderr.exp* files, so long as at
least one is found. In fact the comments in the code that claimed
that .stderr.exp[0-9] are the only ones allowed were misleading;
.stderr.exp* has always been allowed. The only functional change here
is to mandate that at least one such file exists; prior to the change
the script mandated that at least a .stderr.exp (with no other suffix)
file existed.
Purpose is to allow collections of .stderr.exp files with suffixes
arranged in some meaningful way, eg, foo.stderr.exp-glibc25-amd64.
This might help in making testsuites more maintainable when there
have to be multiple .stderr.exp files. Naming them merely as
.stderr.exp1, .stderr.exp2, etc, makes it impossible to remember
what the differences between the files actually is.
Modified:
branches/THRCHECK/tests/vg_regtest.in
Modified: branches/THRCHECK/tests/vg_regtest.in
===================================================================
--- branches/THRCHECK/tests/vg_regtest.in 2007-10-27 02:00:42 UTC (rev 7042)
+++ branches/THRCHECK/tests/vg_regtest.in 2007-10-27 02:23:10 UTC (rev 7043)
@@ -63,7 +63,8 @@
#
# Expected stdout (filtered) is kept in <test>.stdout.exp[0-9]* (can be more
# than one expected output). It can be missing if it would be empty. Expected
-# stderr (filtered) is kept in <test>.stderr.exp[0-9]*.
+# stderr (filtered) is kept in <test>.stderr.exp*. There must be at least
+# one stderr.exp* file.
#
# The prerequisite command, if present, must return 0 otherwise the test is
# skipped. The post-test command, if present, must return 0 and its stdout
@@ -326,9 +327,9 @@
# Filter stderr
mysystem("$stderr_filter < $name.stderr.out > $tmp");
rename($tmp, "$name.stderr.out");
- # Find all the .stderr.exp files. $name.stderr.exp must exist.
+ # Find all the .stderr.exp files. At least one must exist.
my @stderr_exps = <$name.stderr.exp*>;
- (-r "$name.stderr.exp") or die "Could not read `$name.stderr.exp'\n";
+ (0 != scalar @stderr_exps) or die "Could not find `$name.stderr.exp*'\n";
do_diffs($fullname, $name, "stderr", \@stderr_exps);
# Maybe do post-test check
|
|
From: Tom H. <th...@cy...> - 2007-10-27 02:10:57
|
Nightly build on gill ( x86_64, Fedora Core 2 ) started at 2007-10-27 03:00:02 BST Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 295 tests, 6 stderr failures, 1 stdout failure, 0 posttest failures == memcheck/tests/pointer-trace (stderr) memcheck/tests/stack_switch (stderr) memcheck/tests/x86/scalar (stderr) memcheck/tests/x86/scalar_supp (stderr) none/tests/fdleak_fcntl (stderr) none/tests/mremap (stderr) none/tests/mremap2 (stdout) |
|
From: <sv...@va...> - 2007-10-27 02:00:40
|
Author: sewardj Date: 2007-10-27 03:00:42 +0100 (Sat, 27 Oct 2007) New Revision: 7042 Log: Normalise the @@GLIBC_version bits of symbols more aggressively. Modified: branches/THRCHECK/thrcheck/tests/filter_stderr branches/THRCHECK/thrcheck/tests/hg02_deadlock.stderr.exp branches/THRCHECK/thrcheck/tests/hg03_inherit.stderr.exp branches/THRCHECK/thrcheck/tests/hg04_race.stderr.exp branches/THRCHECK/thrcheck/tests/hg05_race2.stderr.exp branches/THRCHECK/thrcheck/tests/tc01_simple_race.stderr.exp branches/THRCHECK/thrcheck/tests/tc05_simple_race.stderr.exp branches/THRCHECK/thrcheck/tests/tc06_two_races.stderr.exp branches/THRCHECK/thrcheck/tests/tc09_bad_unlock.stderr.exp branches/THRCHECK/thrcheck/tests/tc14_laog_dinphils.stderr.exp branches/THRCHECK/thrcheck/tests/tc16_byterace.stderr.exp branches/THRCHECK/thrcheck/tests/tc17_sembar.stderr.exp branches/THRCHECK/thrcheck/tests/tc19_shadowmem.stderr.exp [... diff too large to include ...] |
|
From: <sv...@va...> - 2007-10-27 00:22:04
|
Author: sewardj
Date: 2007-10-27 01:22:03 +0100 (Sat, 27 Oct 2007)
New Revision: 7041
Log:
Update expected outputs.
Modified:
branches/THRCHECK/thrcheck/tests/hg02_deadlock.stderr.exp
branches/THRCHECK/thrcheck/tests/hg03_inherit.stderr.exp
branches/THRCHECK/thrcheck/tests/hg04_race.stderr.exp
branches/THRCHECK/thrcheck/tests/hg05_race2.stderr.exp
branches/THRCHECK/thrcheck/tests/tc01_simple_race.stderr.exp
branches/THRCHECK/thrcheck/tests/tc05_simple_race.stderr.exp
branches/THRCHECK/thrcheck/tests/tc06_two_races.stderr.exp
branches/THRCHECK/thrcheck/tests/tc13_laog1.stderr.exp
branches/THRCHECK/thrcheck/tests/tc14_laog_dinphils.stderr.exp
branches/THRCHECK/thrcheck/tests/tc15_laog_lockdel.stderr.exp
branches/THRCHECK/thrcheck/tests/tc16_byterace.stderr.exp
branches/THRCHECK/thrcheck/tests/tc17_sembar.stderr.exp
Modified: branches/THRCHECK/thrcheck/tests/hg02_deadlock.stderr.exp
===================================================================
--- branches/THRCHECK/thrcheck/tests/hg02_deadlock.stderr.exp 2007-10-27 00:09:25 UTC (rev 7040)
+++ branches/THRCHECK/thrcheck/tests/hg02_deadlock.stderr.exp 2007-10-27 00:22:03 UTC (rev 7041)
@@ -6,11 +6,23 @@
by 0x........: pthread_create@* (tc_intercepts.c:...)
by 0x........: main (hg02_deadlock.c:36)
-Thread #3: Lock acquisition order is inconsistent with previously observed ordering
+Thread #3: lock order "0x........ before 0x........" violated
at 0x........: pthread_mutex_lock (tc_intercepts.c:...)
by 0x........: t2 (hg02_deadlock.c:20)
by 0x........: mythread_wrapper (tc_intercepts.c:...)
by 0x........: ...
by 0x........: ...
+ Required order was established by acquisition of lock at 0x........
+ at 0x........: pthread_mutex_lock (tc_intercepts.c:...)
+ by 0x........: t1 (hg02_deadlock.c:9)
+ by 0x........: mythread_wrapper (tc_intercepts.c:...)
+ by 0x........: ...
+ by 0x........: ...
+ followed by a later acquisition of lock at 0x........
+ at 0x........: pthread_mutex_lock (tc_intercepts.c:...)
+ by 0x........: t1 (hg02_deadlock.c:10)
+ by 0x........: mythread_wrapper (tc_intercepts.c:...)
+ by 0x........: ...
+ by 0x........: ...
ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0)
Modified: branches/THRCHECK/thrcheck/tests/hg03_inherit.stderr.exp
===================================================================
--- branches/THRCHECK/thrcheck/tests/hg03_inherit.stderr.exp 2007-10-27 00:09:25 UTC (rev 7040)
+++ branches/THRCHECK/thrcheck/tests/hg03_inherit.stderr.exp 2007-10-27 00:22:03 UTC (rev 7041)
@@ -8,7 +8,7 @@
by 0x........: pthread_create@* (tc_intercepts.c:...)
by 0x........: main (hg03_inherit.c:46)
-Possible data race during write to 0x........
+Possible data race during write of size 4 at 0x........
at 0x........: t2 (hg03_inherit.c:28)
by 0x........: mythread_wrapper (tc_intercepts.c:...)
by 0x........: ...
Modified: branches/THRCHECK/thrcheck/tests/hg04_race.stderr.exp
===================================================================
--- branches/THRCHECK/thrcheck/tests/hg04_race.stderr.exp 2007-10-27 00:09:25 UTC (rev 7040)
+++ branches/THRCHECK/thrcheck/tests/hg04_race.stderr.exp 2007-10-27 00:22:03 UTC (rev 7041)
@@ -13,7 +13,7 @@
by 0x........: pthread_create@* (tc_intercepts.c:...)
by 0x........: main (hg04_race.c:21)
-Possible data race during write to 0x........
+Possible data race during write of size 4 at 0x........
at 0x........: th (hg04_race.c:10)
by 0x........: mythread_wrapper (tc_intercepts.c:...)
by 0x........: ...
Modified: branches/THRCHECK/thrcheck/tests/hg05_race2.stderr.exp
===================================================================
--- branches/THRCHECK/thrcheck/tests/hg05_race2.stderr.exp 2007-10-27 00:09:25 UTC (rev 7040)
+++ branches/THRCHECK/thrcheck/tests/hg05_race2.stderr.exp 2007-10-27 00:22:03 UTC (rev 7041)
@@ -13,7 +13,7 @@
by 0x........: pthread_create@* (tc_intercepts.c:...)
by 0x........: main (hg05_race2.c:29)
-Possible data race during write to 0x........
+Possible data race during write of size 4 at 0x........
at 0x........: th (hg05_race2.c:17)
by 0x........: mythread_wrapper (tc_intercepts.c:...)
by 0x........: ...
Modified: branches/THRCHECK/thrcheck/tests/tc01_simple_race.stderr.exp
===================================================================
--- branches/THRCHECK/thrcheck/tests/tc01_simple_race.stderr.exp 2007-10-27 00:09:25 UTC (rev 7040)
+++ branches/THRCHECK/thrcheck/tests/tc01_simple_race.stderr.exp 2007-10-27 00:22:03 UTC (rev 7041)
@@ -8,7 +8,7 @@
by 0x........: pthread_create@* (tc_intercepts.c:...)
by 0x........: main (tc01_simple_race.c:22)
-Possible data race during write to 0x........
+Possible data race during write of size 4 at 0x........
at 0x........: main (tc01_simple_race.c:28)
Old state: shared-readonly by threads #1, #2
New state: shared-modified by threads #1, #2
Modified: branches/THRCHECK/thrcheck/tests/tc05_simple_race.stderr.exp
===================================================================
--- branches/THRCHECK/thrcheck/tests/tc05_simple_race.stderr.exp 2007-10-27 00:09:25 UTC (rev 7040)
+++ branches/THRCHECK/thrcheck/tests/tc05_simple_race.stderr.exp 2007-10-27 00:22:03 UTC (rev 7041)
@@ -8,7 +8,7 @@
by 0x........: pthread_create@* (tc_intercepts.c:...)
by 0x........: main (tc05_simple_race.c:27)
-Possible data race during write to 0x........
+Possible data race during write of size 4 at 0x........
at 0x........: main (tc05_simple_race.c:33)
Old state: shared-readonly by threads #1, #2
New state: shared-modified by threads #1, #2
Modified: branches/THRCHECK/thrcheck/tests/tc06_two_races.stderr.exp
===================================================================
--- branches/THRCHECK/thrcheck/tests/tc06_two_races.stderr.exp 2007-10-27 00:09:25 UTC (rev 7040)
+++ branches/THRCHECK/thrcheck/tests/tc06_two_races.stderr.exp 2007-10-27 00:22:03 UTC (rev 7041)
@@ -8,14 +8,14 @@
by 0x........: pthread_create@* (tc_intercepts.c:...)
by 0x........: main (tc06_two_races.c:26)
-Possible data race during write to 0x........
+Possible data race during write of size 4 at 0x........
at 0x........: main (tc06_two_races.c:31)
Old state: shared-readonly by threads #1, #2
New state: shared-modified by threads #1, #2
Reason: this thread, #1, holds no consistent locks
Location 0x........ has never been protected by any lock
-Possible data race during write to 0x........
+Possible data race during write of size 4 at 0x........
at 0x........: main (tc06_two_races.c:35)
Old state: shared-readonly by threads #1, #2
New state: shared-modified by threads #1, #2
Modified: branches/THRCHECK/thrcheck/tests/tc13_laog1.stderr.exp
===================================================================
--- branches/THRCHECK/thrcheck/tests/tc13_laog1.stderr.exp 2007-10-27 00:09:25 UTC (rev 7040)
+++ branches/THRCHECK/thrcheck/tests/tc13_laog1.stderr.exp 2007-10-27 00:22:03 UTC (rev 7041)
@@ -1,8 +1,14 @@
Thread #1 is the program's root thread
-Thread #1: Lock acquisition order is inconsistent with previously observed ordering
+Thread #1: lock order "0x........ before 0x........" violated
at 0x........: pthread_mutex_lock (tc_intercepts.c:...)
by 0x........: main (tc13_laog1.c:24)
+ Required order was established by acquisition of lock at 0x........
+ at 0x........: pthread_mutex_lock (tc_intercepts.c:...)
+ by 0x........: main (tc13_laog1.c:17)
+ followed by a later acquisition of lock at 0x........
+ at 0x........: pthread_mutex_lock (tc_intercepts.c:...)
+ by 0x........: main (tc13_laog1.c:18)
ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0)
Modified: branches/THRCHECK/thrcheck/tests/tc14_laog_dinphils.stderr.exp
===================================================================
--- branches/THRCHECK/thrcheck/tests/tc14_laog_dinphils.stderr.exp 2007-10-27 00:09:25 UTC (rev 7040)
+++ branches/THRCHECK/thrcheck/tests/tc14_laog_dinphils.stderr.exp 2007-10-27 00:22:03 UTC (rev 7041)
@@ -6,11 +6,23 @@
by 0x........: pthread_create@* (tc_intercepts.c:...)
by 0x........: main (tc14_laog_dinphils.c:34)
-Thread #6: Lock acquisition order is inconsistent with previously observed ordering
+Thread #6: lock order "0x........ before 0x........" violated
at 0x........: pthread_mutex_lock (tc_intercepts.c:...)
by 0x........: dine (tc14_laog_dinphils.c:19)
by 0x........: mythread_wrapper (tc_intercepts.c:...)
by 0x........: ...
by 0x........: ...
+ Required order was established by acquisition of lock at 0x........
+ at 0x........: pthread_mutex_lock (tc_intercepts.c:...)
+ by 0x........: dine (tc14_laog_dinphils.c:18)
+ by 0x........: mythread_wrapper (tc_intercepts.c:...)
+ by 0x........: ...
+ by 0x........: ...
+ followed by a later acquisition of lock at 0x........
+ at 0x........: pthread_mutex_lock (tc_intercepts.c:...)
+ by 0x........: dine (tc14_laog_dinphils.c:19)
+ by 0x........: mythread_wrapper (tc_intercepts.c:...)
+ by 0x........: ...
+ by 0x........: ...
ERROR SUMMARY: 1000 errors from 1 contexts (suppressed: 0 from 0)
Modified: branches/THRCHECK/thrcheck/tests/tc15_laog_lockdel.stderr.exp
===================================================================
--- branches/THRCHECK/thrcheck/tests/tc15_laog_lockdel.stderr.exp 2007-10-27 00:09:25 UTC (rev 7040)
+++ branches/THRCHECK/thrcheck/tests/tc15_laog_lockdel.stderr.exp 2007-10-27 00:22:03 UTC (rev 7041)
@@ -3,9 +3,15 @@
Try order 2 -> 1. This gives an error.
Thread #1 is the program's root thread
-Thread #1: Lock acquisition order is inconsistent with previously observed ordering
+Thread #1: lock order "0x........ before 0x........" violated
at 0x........: pthread_mutex_lock (tc_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 (tc_intercepts.c:...)
+ by 0x........: main (tc15_laog_lockdel.c:27)
+ followed by a later acquisition of lock at 0x........
+ at 0x........: pthread_mutex_lock (tc_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
Modified: branches/THRCHECK/thrcheck/tests/tc16_byterace.stderr.exp
===================================================================
--- branches/THRCHECK/thrcheck/tests/tc16_byterace.stderr.exp 2007-10-27 00:09:25 UTC (rev 7040)
+++ branches/THRCHECK/thrcheck/tests/tc16_byterace.stderr.exp 2007-10-27 00:22:03 UTC (rev 7041)
@@ -8,7 +8,7 @@
by 0x........: pthread_create@* (tc_intercepts.c:...)
by 0x........: main (tc16_byterace.c:22)
-Possible data race during write to 0x........
+Possible data race during write of size 1 at 0x........
at 0x........: main (tc16_byterace.c:34)
Old state: shared-readonly by threads #1, #2
New state: shared-modified by threads #1, #2
Modified: branches/THRCHECK/thrcheck/tests/tc17_sembar.stderr.exp
===================================================================
--- branches/THRCHECK/thrcheck/tests/tc17_sembar.stderr.exp 2007-10-27 00:09:25 UTC (rev 7040)
+++ branches/THRCHECK/thrcheck/tests/tc17_sembar.stderr.exp 2007-10-27 00:22:03 UTC (rev 7041)
@@ -5,32 +5,32 @@
by 0x........: ...
by 0x........: pthread_create@@GLIBC_2.2.5 (in /lib/libpthread...)
by 0x........: pthread_create@* (tc_intercepts.c:...)
- by 0x........: main (tc17_sembar.c:164)
+ by 0x........: main (tc17_sembar.c:195)
Thread #3 was created
at 0x........: clone (in /...libc...)
by 0x........: ...
by 0x........: pthread_create@@GLIBC_2.2.5 (in /lib/libpthread...)
by 0x........: pthread_create@* (tc_intercepts.c:...)
- by 0x........: main (tc17_sembar.c:164)
+ by 0x........: main (tc17_sembar.c:195)
Thread #4 was created
at 0x........: clone (in /...libc...)
by 0x........: ...
by 0x........: pthread_create@@GLIBC_2.2.5 (in /lib/libpthread...)
by 0x........: pthread_create@* (tc_intercepts.c:...)
- by 0x........: main (tc17_sembar.c:164)
+ by 0x........: main (tc17_sembar.c:195)
Thread #5 was created
at 0x........: clone (in /...libc...)
by 0x........: ...
by 0x........: pthread_create@@GLIBC_2.2.5 (in /lib/libpthread...)
by 0x........: pthread_create@* (tc_intercepts.c:...)
- by 0x........: main (tc17_sembar.c:164)
+ by 0x........: main (tc17_sembar.c:195)
Possible data race during read of size 4 at 0x........
at 0x........: gomp_barrier_wait (tc17_sembar.c:122)
- by 0x........: child (tc17_sembar.c:140)
+ by 0x........: child (tc17_sembar.c:161)
by 0x........: mythread_wrapper (tc_intercepts.c:...)
by 0x........: ...
by 0x........: ...
@@ -40,7 +40,7 @@
Last consistently used lock for 0x........ was first observed
at 0x........: pthread_mutex_init (tc_intercepts.c:...)
by 0x........: gomp_barrier_init (tc17_sembar.c:46)
- by 0x........: main (tc17_sembar.c:161)
-done
+ by 0x........: main (tc17_sembar.c:192)
+done, result is 88, should be 88
ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0)
|
|
From: <js...@ac...> - 2007-10-27 00:16:43
|
Nightly build on g5 ( SuSE 10.1, ppc970 ) started at 2007-10-27 02:00:01 CEST Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 228 tests, 6 stderr failures, 2 stdout failures, 0 posttest failures == memcheck/tests/deep_templates (stdout) memcheck/tests/leak-cycle (stderr) memcheck/tests/leak-tree (stderr) memcheck/tests/pointer-trace (stderr) none/tests/faultstatus (stderr) none/tests/fdleak_cmsg (stderr) none/tests/mremap (stderr) none/tests/mremap2 (stdout) |
|
From: <sv...@va...> - 2007-10-27 00:09:25
|
Author: sewardj
Date: 2007-10-27 01:09:25 +0100 (Sat, 27 Oct 2007)
New Revision: 7040
Log:
Update.
Modified:
branches/THRCHECK/glibc-2.X-thrcheck.supp
Modified: branches/THRCHECK/glibc-2.X-thrcheck.supp
===================================================================
--- branches/THRCHECK/glibc-2.X-thrcheck.supp 2007-10-27 00:08:54 UTC (rev 7039)
+++ branches/THRCHECK/glibc-2.X-thrcheck.supp 2007-10-27 00:09:25 UTC (rev 7040)
@@ -70,45 +70,81 @@
fun:pthread_join
}
-#z###--- IO_file ---###
-#z{
-#z thrcheck-glibc2X-IOfile-1
-#z Thrcheck:Race
-#z fun:_IO_file_xsputn*
-#z fun:vfprintf
-#z fun:*printf
-#z}
-#z{
-#z thrcheck-glibc2X-IOfile-2
-#z Thrcheck:Race
-#z fun:_IO_file_overflow*
-#z fun:_IO_file_xsputn*
-#z fun:*printf
-#z}
-#z{
-#z thrcheck-glibc2X-IOfile-3
-#z Thrcheck:Race
-#z fun:new_do_write
-#z fun:_IO_do_write*
-#z fun:_IO_file_xsputn*
-#z fun:*printf
-#z}
-#z{
-#z thrcheck-glibc2X-IOfile-4
-#z Thrcheck:Race
-#z fun:new_do_write
-#z fun:_IO_file_xsputn*
-#z fun:*printf
-#z}
-#z{
-#z thrcheck-glibc2X-IOfile-5
-#z Thrcheck:Race
-#z fun:new_do_write
-#z fun:_IO_do_write*
-#z fun:_IO_file_overflow*
-#z fun:_IO_file_xsputn*
-#z}
-#z
+###--- IO_file ---###
+# I'm pretty sure these are because Thrcheck cannot see
+# glibc's acquisition/releasing of locks for stdio.
+{
+ thrcheck-glibc2X-IOfile-1
+ Thrcheck:Race
+ fun:_IO_file_xsputn*
+ fun:*vfprintf
+ fun:*printf
+}
+{
+ thrcheck-glibc2X-IOfile-2
+ Thrcheck:Race
+ fun:vfprintf
+ fun:*printf
+}
+{
+ thrcheck-glibc2X-IOfile-3
+ Thrcheck:Race
+ fun:mempcpy
+ fun:vfprintf
+ fun:*printf
+}
+{
+ thrcheck-glibc2X-IOfile-4
+ Thrcheck:Race
+ fun:buffered_vfprintf
+ fun:vfprintf
+ fun:*printf
+}
+{
+ thrcheck-glibc2X-IOfile-5
+ Thrcheck:Race
+ fun:new_do_write
+ fun:_IO_do_write*
+ fun:_IO_file_xsputn*
+ fun:*printf
+}
+{
+ thrcheck-glibc2X-IOfile-6
+ Thrcheck:Race
+ fun:mempcpy
+ fun:_IO_file_xsputn*
+ fun:*printf
+}
+{
+ thrcheck-glibc2X-IOfile-7
+ Thrcheck:Race
+ fun:new_do_write
+ fun:_IO_do_write*
+ fun:_IO_file_overflow*
+ fun:_IO_file_xsputn*
+}
+{
+ thrcheck-glibc2X-IOfile-8
+ Thrcheck:Race
+ fun:_IO_file_overflow*
+ fun:_IO_file_xsputn*
+ fun:*fprintf
+}
+{
+ thrcheck-glibc2X-IOfile-9
+ Thrcheck:Race
+ fun:new_do_write
+ fun:_IO_file_xsputn*
+ fun:*vfprintf
+}
+{
+ thrcheck-glibc2X-IOfile-10
+ Thrcheck:Race
+ fun:__lll_mutex_unlock_wake
+ fun:*printf
+}
+
+
#z###--- thread creation ---###
#z{
#z thrcheck-glibc2X-creation-1
@@ -256,6 +292,14 @@
fun:pthread_cond_timedwait@@GLIBC_*
}
+###--- pthread_rwlock_*lock ---###
+# ditto
+{
+ thrcheck-glibc2X-pthrwlock{rd,wr,un}lock-1
+ Thrcheck:Race
+ fun:pthread_rwlock_*lock
+}
+
###--- libpthread internal stuff ---###
{
thrcheck-glibc2X-libpthread-1
|
|
From: <sv...@va...> - 2007-10-27 00:08:51
|
Author: sewardj Date: 2007-10-27 01:08:54 +0100 (Sat, 27 Oct 2007) New Revision: 7039 Log: Build with -fomit-frame-pointer on x86. Modified: branches/THRCHECK/thrcheck/Makefile.am Modified: branches/THRCHECK/thrcheck/Makefile.am =================================================================== --- branches/THRCHECK/thrcheck/Makefile.am 2007-10-27 00:08:12 UTC (rev 7038) +++ branches/THRCHECK/thrcheck/Makefile.am 2007-10-27 00:08:54 UTC (rev 7039) @@ -23,7 +23,8 @@ VGPRELOAD_THRCHECK_SOURCES_COMMON = tc_intercepts.c vgpreload_thrcheck_x86_linux_so_SOURCES = $(VGPRELOAD_THRCHECK_SOURCES_COMMON) -vgpreload_thrcheck_x86_linux_so_CPPFLAGS = $(AM_CPPFLAGS_X86_LINUX) +vgpreload_thrcheck_x86_linux_so_CPPFLAGS = $(AM_CPPFLAGS_X86_LINUX) \ + -fno-omit-frame-pointer vgpreload_thrcheck_x86_linux_so_CFLAGS = $(AM_CFLAGS_X86_LINUX) $(AM_CFLAGS_PIC) vgpreload_thrcheck_x86_linux_so_DEPENDENCIES = $(LIBREPLACEMALLOC_X86_LINUX) vgpreload_thrcheck_x86_linux_so_LDFLAGS = \ @@ -74,7 +75,7 @@ thrcheck_x86_linux_SOURCES = $(THRCHECK_SOURCES_COMMON) thrcheck_x86_linux_CPPFLAGS = $(AM_CPPFLAGS_X86_LINUX) -thrcheck_x86_linux_CFLAGS = $(AM_CFLAGS_X86_LINUX) +thrcheck_x86_linux_CFLAGS = $(AM_CFLAGS_X86_LINUX) -fomit-frame-pointer thrcheck_x86_linux_DEPENDENCIES = $(COREGRIND_LIBS_X86_LINUX) thrcheck_x86_linux_LDADD = $(TOOL_LDADD_X86_LINUX) thrcheck_x86_linux_LDFLAGS = $(TOOL_LDFLAGS_X86_LINUX) @@ -119,10 +120,3 @@ tcinclude_HEADERS = thrcheck.h noinst_HEADERS = tc_wordfm.h tc_wordset.h - -tc_intercepts.o: CFLAGS += -fno-omit-frame-pointer - -# later -# tc_main.o: CFLAGS += -fomit-frame-pointer -# tc_wordfm.o: CFLAGS += -fomit-frame-pointer -# tc_wordset.o: CFLAGS += -fomit-frame-pointer |
|
From: <sv...@va...> - 2007-10-27 00:08:13
|
Author: sewardj
Date: 2007-10-27 01:08:12 +0100 (Sat, 27 Oct 2007)
New Revision: 7038
Log:
This should have been included in r7035.
Modified:
branches/THRCHECK/thrcheck/thrcheck.h
Modified: branches/THRCHECK/thrcheck/thrcheck.h
===================================================================
--- branches/THRCHECK/thrcheck/thrcheck.h 2007-10-26 14:58:54 UTC (rev 7037)
+++ branches/THRCHECK/thrcheck/thrcheck.h 2007-10-27 00:08:12 UTC (rev 7038)
@@ -90,7 +90,8 @@
_VG_USERREQ__TC_PTHREAD_RWLOCK_UNLOCK_POST, // pth_rwlk_t*
_VG_USERREQ__TC_POSIX_SEMPOST_PRE, // sem_t*
_VG_USERREQ__TC_POSIX_SEMWAIT_POST, // sem_t*
- _VG_USERREQ__TC_POSIX_SEM_ZAPSTACK // sem_t*
+ _VG_USERREQ__TC_POSIX_SEM_ZAPSTACK, // sem_t*
+ _VG_USERREQ__TC_GET_MY_SEGMENT // -> Segment*
} Vg_TCheckClientRequest;
/* Clean memory state. This makes Thrcheck forget everything it knew
|