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
(3) |
|
2
(8) |
3
(19) |
4
(24) |
5
(23) |
6
(16) |
7
(33) |
8
(5) |
|
9
(4) |
10
(23) |
11
(22) |
12
(40) |
13
(30) |
14
(31) |
15
(17) |
|
16
(18) |
17
(20) |
18
(41) |
19
(36) |
20
(25) |
21
(8) |
22
(9) |
|
23
(17) |
24
(12) |
25
(15) |
26
(15) |
27
(16) |
28
(22) |
29
(6) |
|
30
(7) |
31
(10) |
|
|
|
|
|
|
From: Nicholas N. <n.n...@gm...> - 2009-08-11 23:28:02
|
On Wed, Aug 12, 2009 at 2:18 AM, Josef Weidendorfer<Jos...@gm...> wrote: > > I reopened 197988, as this is still valid. The easiest is > to enlarge the tool's stack to a 2 MB. Or is there some adress space > problem for 32bit here? I don't know. Increasing to 2MB will reduce the problem but not solve it fully -- someone somewhere someday will use Boost to generate a symbol that still overflows it. If adding a recursion limit is easy, I'd like to do that as it will definitely avoid crashes. (Ideally the symbol would be partially demangled so the user can see something useful.) Later on, if the stack size is increased then the recursion limit can also be increased, which would reduce the likelihood of it occurring. > It would be cool to have VG_(discard_translations) in the tool interface > to get rid of an ugly hack (calling a non-public function from core) - I > sent a proposed patch to Julian... Can you post the patch here? The change sounds ok to me in principle, but I think you'll have to create a new file include/pub_tool_transtab.h so I'd like to see the patch. Thanks. Nick |
|
From: Nicholas N. <n.n...@gm...> - 2009-08-11 22:57:22
|
On Tue, Aug 11, 2009 at 8:35 PM, <sv...@va...> wrote: > Author: sewardj > Date: 2009-08-11 11:35:58 +0100 (Tue, 11 Aug 2009) > New Revision: 10775 > > Log: > Add pthread spinlock support. Can you please update the Helgrind docs? It says in at least one place that spinlocks aren't supported. Can you please also note this in the NEWS file? Nick |
|
From: <sv...@va...> - 2009-08-11 20:54:15
|
Author: weidendo
Date: 2009-08-11 21:53:59 +0100 (Tue, 11 Aug 2009)
New Revision: 10782
Log:
Callgrind: Fix printing of "Summary:" line in finish()
The global cost counters, which are used for printing the
summary line, where zeroed before in init_exec_state(), called
by unwind_thread().
Stack unwinding (i.e. unwind_thread) is also done at instrumentation
state changes, and there, we want the cost counters to be zeroed
(was fix for bug 150606). Do this explicitly now.
PS: The correct fix for bug 150606 is not to zero the cost counters
(we do not really want this at instrumentation state changes), but
to store the current counter values in a "last_instr_state_on_cost"
counter, and use this as the global cost counter on enter for functions
which are left but were not detected to be entered.
Modified:
trunk/callgrind/main.c
trunk/callgrind/threads.c
Modified: trunk/callgrind/main.c
===================================================================
--- trunk/callgrind/main.c 2009-08-11 20:53:57 UTC (rev 10781)
+++ trunk/callgrind/main.c 2009-08-11 20:53:59 UTC (rev 10782)
@@ -1033,6 +1033,12 @@
CLG_(current_fn_stack).top = CLG_(current_fn_stack).bottom;
}
+static
+void zero_state_cost(thread_info* t)
+{
+ CLG_(zero_cost)( CLG_(sets).full, CLG_(current_state).cost );
+}
+
/* Ups, this can go wrong... */
extern void VG_(discard_translations) ( Addr64 start, ULong range );
@@ -1051,9 +1057,8 @@
/* reset internal state: call stacks, simulator */
CLG_(forall_threads)(unwind_thread);
+ CLG_(forall_threads)(zero_state_cost);
(*CLG_(cachesim).clear)();
- if (0)
- CLG_(forall_threads)(zero_thread_cost);
if (VG_(clo_verbosity) > 1)
VG_(message)(Vg_DebugMsg, "%s: instrumentation switched %s\n",
Modified: trunk/callgrind/threads.c
===================================================================
--- trunk/callgrind/threads.c 2009-08-11 20:53:57 UTC (rev 10781)
+++ trunk/callgrind/threads.c 2009-08-11 20:53:59 UTC (rev 10782)
@@ -210,7 +210,7 @@
/* setup new cxtinfo struct for this signal handler */
es = push_exec_state(sigNum);
- // because of this, below call to init_exec_state will zero es->cost
+ CLG_(zero_cost)( CLG_(sets).full, es->cost );
CLG_(current_state).cost = es->cost;
es->call_stack_bottom = CLG_(current_call_stack).sp;
@@ -317,7 +317,6 @@
es->jmps_passed = 0;
es->bbcc = 0;
es->nonskipped = 0;
- CLG_(init_cost)( CLG_(sets).full, es->cost );
}
@@ -330,7 +329,7 @@
/* allocate real cost space: needed as incremented by
* simulation functions */
es->cost = CLG_(get_eventset_cost)(CLG_(sets).full);
-
+ CLG_(zero_cost)( CLG_(sets).full, es->cost );
CLG_(init_exec_state)(es);
es->sig = sigNum;
es->call_stack_bottom = 0;
|
|
From: <sv...@va...> - 2009-08-11 20:54:10
|
Author: weidendo
Date: 2009-08-11 21:53:57 +0100 (Tue, 11 Aug 2009)
New Revision: 10781
Log:
Callgrind: On zeroing costs, also set call counters to zero.
Modified:
trunk/callgrind/main.c
Modified: trunk/callgrind/main.c
===================================================================
--- trunk/callgrind/main.c 2009-08-11 19:21:25 UTC (rev 10780)
+++ trunk/callgrind/main.c 2009-08-11 20:53:57 UTC (rev 10781)
@@ -993,6 +993,7 @@
CLG_(copy_cost)( CLG_(sets).full,
CLG_(current_call_stack).entry[i].enter_cost,
CLG_(current_state).cost );
+ CLG_(current_call_stack).entry[i].jcc->call_counter = 0;
}
CLG_(forall_bbccs)(CLG_(zero_bbcc));
|
|
From: <sv...@va...> - 2009-08-11 19:21:38
|
Author: weidendo
Date: 2009-08-11 20:21:25 +0100 (Tue, 11 Aug 2009)
New Revision: 10780
Log:
Fix dumping of call cost in tail recursion optimization
When tail recursion optimization is detected (i.e. a jump to the
beginning of the function without creating a new stack frame),
Callgrind collects this as real call (ie. calculates inclusive
call costs), but forgot to dump the call information (the call
type is still left as a jump).
Fixed by also dump call information if inclusive cost is >0.
Modified:
trunk/callgrind/dump.c
Modified: trunk/callgrind/dump.c
===================================================================
--- trunk/callgrind/dump.c 2009-08-11 15:00:54 UTC (rev 10779)
+++ trunk/callgrind/dump.c 2009-08-11 19:21:25 UTC (rev 10780)
@@ -832,7 +832,8 @@
if (bb->jmp[jmp].instr == instr) {
jcc_count=0;
for(jcc=bbcc->jmp[jmp].jcc_list; jcc; jcc=jcc->next_from)
- if ((jcc->jmpkind != Ijk_Call) && (jcc->call_counter >0))
+ if (((jcc->jmpkind != Ijk_Call) && (jcc->call_counter >0)) ||
+ (!CLG_(is_zero_cost)( CLG_(sets).full, jcc->cost )))
jcc_count++;
if (jcc_count>0) {
@@ -845,7 +846,8 @@
fprint_apos(fd, &(currCost->p), last, bbcc->cxt->fn[0]->file);
something_written = True;
for(jcc=bbcc->jmp[jmp].jcc_list; jcc; jcc=jcc->next_from) {
- if ((jcc->jmpkind != Ijk_Call) && (jcc->call_counter >0))
+ if (((jcc->jmpkind != Ijk_Call) && (jcc->call_counter >0)) ||
+ (!CLG_(is_zero_cost)( CLG_(sets).full, jcc->cost )))
fprint_jcc(fd, jcc, &(currCost->p), last, ecounter);
}
}
|
|
From: Nicholas N. <n.n...@gm...> - 2009-08-11 17:21:41
|
Nightly build on ocean32 ( Ubuntu 9.04, x86_64 (32-bit only) )
Started at 2009-08-12 03:00:01 EST
Ended at 2009-08-12 03:21:24 EST
Results differ from 24 hours ago
Checking out valgrind source tree ... done
Configuring valgrind ... done
Building valgrind ... done
Running regression tests ... failed
Regression test results follow
== 486 tests, 9 stderr failures, 1 stdout failure, 0 post failures ==
memcheck/tests/origin5-bz2 (stderr)
none/tests/empty-exe (stderr)
none/tests/shell (stdout)
none/tests/shell (stderr)
none/tests/shell_valid1 (stderr)
none/tests/shell_valid2 (stderr)
none/tests/shell_valid3 (stderr)
none/tests/shell_zerolength (stderr)
helgrind/tests/tc06_two_races_xml (stderr)
exp-ptrcheck/tests/supp (stderr)
=================================================
== Results from 24 hours ago ==
=================================================
Checking out valgrind source tree ... done
Configuring valgrind ... done
Building valgrind ... done
Running regression tests ... failed
Regression test results follow
== 483 tests, 10 stderr failures, 1 stdout failure, 0 post failures ==
memcheck/tests/origin5-bz2 (stderr)
none/tests/empty-exe (stderr)
none/tests/shell (stdout)
none/tests/shell (stderr)
none/tests/shell_valid1 (stderr)
none/tests/shell_valid2 (stderr)
none/tests/shell_valid3 (stderr)
none/tests/shell_zerolength (stderr)
helgrind/tests/pth_barrier3 (stderr)
helgrind/tests/tc06_two_races_xml (stderr)
exp-ptrcheck/tests/supp (stderr)
=================================================
== Difference between 24 hours ago and now ==
=================================================
*** old.short Wed Aug 12 03:10:38 2009
--- new.short Wed Aug 12 03:21:24 2009
***************
*** 8,10 ****
! == 483 tests, 10 stderr failures, 1 stdout failure, 0 post failures ==
memcheck/tests/origin5-bz2 (stderr)
--- 8,10 ----
! == 486 tests, 9 stderr failures, 1 stdout failure, 0 post failures ==
memcheck/tests/origin5-bz2 (stderr)
***************
*** 17,19 ****
none/tests/shell_zerolength (stderr)
- helgrind/tests/pth_barrier3 (stderr)
helgrind/tests/tc06_two_races_xml (stderr)
--- 17,18 ----
=================================================
./valgrind-new/exp-ptrcheck/tests/supp.stderr.diff
=================================================
--- supp.stderr.exp 2009-08-12 03:11:06.000000000 +1000
+++ supp.stderr.out 2009-08-12 03:21:20.000000000 +1000
@@ -1,7 +1,7 @@
Syscall param write(buf) is non-contiguous
- at 0x........: write (in /...libc...)
- by 0x........: main (supp.c:16)
+ at 0x........: ??? (in /lib32/ld-2.9.so)
+ by 0x........: (below main)
First byte (0x........) is 3 bytes inside a 6-byte block alloc'd
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: main (supp.c:12)
=================================================
./valgrind-new/helgrind/tests/tc06_two_races_xml.stderr.diff
=================================================
--- tc06_two_races_xml.stderr.exp 2009-08-12 03:11:00.000000000 +1000
+++ tc06_two_races_xml.stderr.out 2009-08-12 03:18:48.000000000 +1000
@@ -44,16 +44,6 @@
<frame>
<ip>0x........</ip>
<obj>...</obj>
- <fn>do_clone</fn>
- </frame>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
- <fn>pthread_create@@GLIBC_2.2.5</fn>
- </frame>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
<fn>pthread_create_WRK</fn>
<dir>...</dir>
<file>hg_intercepts.c</file>
=================================================
./valgrind-new/memcheck/tests/origin5-bz2.stderr.diff-glibc25-amd64
=================================================
--- origin5-bz2.stderr.exp-glibc25-amd64 2009-08-12 03:11:24.000000000 +1000
+++ origin5-bz2.stderr.out 2009-08-12 03:16:18.000000000 +1000
@@ -11,7 +11,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: handle_compress (origin5-bz2.c:4686)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
@@ -19,7 +19,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: handle_compress (origin5-bz2.c:4686)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
@@ -27,7 +27,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: mainSort (origin5-bz2.c:2820)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -38,7 +38,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: mainSort (origin5-bz2.c:2823)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -49,7 +49,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: mainSort (origin5-bz2.c:2854)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -60,7 +60,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: mainSort (origin5-bz2.c:2858)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -71,7 +71,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: mainSort (origin5-bz2.c:2963)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -82,7 +82,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: mainSort (origin5-bz2.c:2964)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -93,7 +93,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: fallbackSort (origin5-bz2.c:2269)
by 0x........: BZ2_blockSort (origin5-bz2.c:3116)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -104,7 +104,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: fallbackSort (origin5-bz2.c:2275)
by 0x........: BZ2_blockSort (origin5-bz2.c:3116)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
=================================================
./valgrind-new/memcheck/tests/origin5-bz2.stderr.diff-glibc25-x86
=================================================
--- origin5-bz2.stderr.exp-glibc25-x86 2009-08-12 03:11:24.000000000 +1000
+++ origin5-bz2.stderr.out 2009-08-12 03:16:18.000000000 +1000
@@ -28,7 +28,8 @@
at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 4
- at 0x........: BZ2_blockSort (origin5-bz2.c:2820)
+ at 0x........: mainSort (origin5-bz2.c:2820)
+ by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
by 0x........: handle_compress (origin5-bz2.c:4753)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
@@ -38,7 +39,8 @@
at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 4
- at 0x........: BZ2_blockSort (origin5-bz2.c:2823)
+ at 0x........: mainSort (origin5-bz2.c:2823)
+ by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
by 0x........: handle_compress (origin5-bz2.c:4753)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
@@ -48,7 +50,8 @@
at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 4
- at 0x........: BZ2_blockSort (origin5-bz2.c:2855)
+ at 0x........: mainSort (origin5-bz2.c:2854)
+ by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
by 0x........: handle_compress (origin5-bz2.c:4753)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
@@ -58,7 +61,8 @@
at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 4
- at 0x........: BZ2_blockSort (origin5-bz2.c:2859)
+ at 0x........: mainSort (origin5-bz2.c:2858)
+ by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
by 0x........: handle_compress (origin5-bz2.c:4753)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
@@ -68,7 +72,8 @@
at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 4
- at 0x........: BZ2_blockSort (origin5-bz2.c:2963)
+ at 0x........: mainSort (origin5-bz2.c:2963)
+ by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
by 0x........: handle_compress (origin5-bz2.c:4753)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
@@ -78,7 +83,8 @@
at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 4
- at 0x........: BZ2_blockSort (origin5-bz2.c:2964)
+ at 0x........: mainSort (origin5-bz2.c:2964)
+ by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
by 0x........: handle_compress (origin5-bz2.c:4753)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
=================================================
./valgrind-new/memcheck/tests/origin5-bz2.stderr.diff-glibc27-ppc64
=================================================
--- origin5-bz2.stderr.exp-glibc27-ppc64 2009-08-12 03:11:24.000000000 +1000
+++ origin5-bz2.stderr.out 2009-08-12 03:16:18.000000000 +1000
@@ -1,7 +1,7 @@
Conditional jump or move depends on uninitialised value(s)
at 0x........: main (origin5-bz2.c:6481)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
Conditional jump or move depends on uninitialised value(s)
at 0x........: handle_compress (origin5-bz2.c:4686)
@@ -9,85 +9,91 @@
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: handle_compress (origin5-bz2.c:4686)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: handle_compress (origin5-bz2.c:4686)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
- at 0x........: BZ2_blockSort (origin5-bz2.c:2820)
+Use of uninitialised value of size 4
+ at 0x........: mainSort (origin5-bz2.c:2820)
+ by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
by 0x........: handle_compress (origin5-bz2.c:4753)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
- at 0x........: BZ2_blockSort (origin5-bz2.c:2823)
+Use of uninitialised value of size 4
+ at 0x........: mainSort (origin5-bz2.c:2823)
+ by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
by 0x........: handle_compress (origin5-bz2.c:4753)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
- at 0x........: BZ2_blockSort (origin5-bz2.c:2854)
+Use of uninitialised value of size 4
+ at 0x........: mainSort (origin5-bz2.c:2854)
+ by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
by 0x........: handle_compress (origin5-bz2.c:4753)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
- at 0x........: BZ2_blockSort (origin5-bz2.c:2858)
+Use of uninitialised value of size 4
+ at 0x........: mainSort (origin5-bz2.c:2858)
+ by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
by 0x........: handle_compress (origin5-bz2.c:4753)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
- at 0x........: BZ2_blockSort (origin5-bz2.c:2963)
+Use of uninitialised value of size 4
+ at 0x........: mainSort (origin5-bz2.c:2963)
+ by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
<truncated beyond 100 lines>
=================================================
./valgrind-new/none/tests/empty-exe.stderr.diff
=================================================
--- empty-exe.stderr.exp 2009-08-12 03:11:48.000000000 +1000
+++ empty-exe.stderr.out 2009-08-12 03:17:41.000000000 +1000
@@ -1,2 +1,2 @@
-
-
+valgrind: wrong ELF executable class (eg. 32-bit instead of 64-bit)
+valgrind: ./empty-exe: bad interpreter (/bin/sh): VG_(strerror): unknown error
=================================================
./valgrind-new/none/tests/shell.stderr.diff
=================================================
--- shell.stderr.exp 2009-08-12 03:11:48.000000000 +1000
+++ shell.stderr.out 2009-08-12 03:18:02.000000000 +1000
@@ -1,8 +1,3 @@
-./shell: ./x86/: is a directory
-./shell: ./shell.vgtest: Permission denied
-execve(0x........(./shell_badinterp), 0x........, 0x........) failed, errno 2
-EXEC FAILED: I can't recover from execve() failing, so I'm dying.
-Add more stringent tests in PRE(sys_execve), or work out how to recover.
-./shell: ./shell_binaryfile: cannot execute binary file
-./shell: ./shell_nosuchfile: No such file or directory
-./shell: shell_nosuchfile: command not found
+valgrind: wrong ELF executable class (eg. 32-bit instead of 64-bit)
+valgrind: wrong ELF executable class (eg. 32-bit instead of 64-bit)
+valgrind: ./shell: bad interpreter (/bin/sh): VG_(strerror): unknown error
=================================================
./valgrind-new/none/tests/shell.stderr.diff-dash
=================================================
--- shell.stderr.exp-dash 2009-08-12 03:11:48.000000000 +1000
+++ shell.stderr.out 2009-08-12 03:18:02.000000000 +1000
@@ -1,8 +1,3 @@
-./shell: 10: ./x86/: Permission denied
-./shell: 13: ./shell.vgtest: Permission denied
-execve(0x........(./shell_badinterp), 0x........, 0x........) failed, errno 2
-EXEC FAILED: I can't recover from execve() failing, so I'm dying.
-Add more stringent tests in PRE(sys_execve), or work out how to recover.
-./shell_binaryfile: 4: Syntax error: ")" unexpected
-./shell: 22: ./shell_nosuchfile: not found
-./shell: 25: shell_nosuchfile: not found
+valgrind: wrong ELF executable class (eg. 32-bit instead of 64-bit)
+valgrind: wrong ELF executable class (eg. 32-bit instead of 64-bit)
+valgrind: ./shell: bad interpreter (/bin/sh): VG_(strerror): unknown error
=================================================
./valgrind-new/none/tests/shell.stdout.diff
=================================================
--- shell.stdout.exp 2009-08-12 03:11:48.000000000 +1000
+++ shell.stdout.out 2009-08-12 03:18:02.000000000 +1000
@@ -1,10 +0,0 @@
-Execute a directory
-Execute a non-executable file
-Execute a script with a bad interpreter name
-Execute a binary file
-Execute a non-existent file
-Execute a non-existent file (2)
-Execute a valid script with a #! line
-Execute a valid script without a #! line
-Execute a valid script with #! but no interpname
-Execute a zero-length file
=================================================
./valgrind-new/none/tests/shell_valid1.stderr.diff
=================================================
--- shell_valid1.stderr.exp 2009-08-12 03:11:48.000000000 +1000
+++ shell_valid1.stderr.out 2009-08-12 03:18:02.000000000 +1000
@@ -0,0 +1,3 @@
+valgrind: wrong ELF executable class (eg. 32-bit instead of 64-bit)
+valgrind: wrong ELF executable class (eg. 32-bit instead of 64-bit)
+valgrind: ./shell_valid1: bad interpreter (/bin/sh): VG_(strerror): unknown error
=================================================
./valgrind-new/none/tests/shell_valid2.stderr.diff
=================================================
--- shell_valid2.stderr.exp 2009-08-12 03:11:48.000000000 +1000
+++ shell_valid2.stderr.out 2009-08-12 03:18:02.000000000 +1000
@@ -0,0 +1,2 @@
+valgrind: wrong ELF executable class (eg. 32-bit instead of 64-bit)
+valgrind: ./shell_valid2: bad interpreter (/bin/sh): VG_(strerror): unknown error
=================================================
./valgrind-new/none/tests/shell_valid3.stderr.diff
=================================================
--- shell_valid3.stderr.exp 2009-08-12 03:11:48.000000000 +1000
+++ shell_valid3.stderr.out 2009-08-12 03:18:02.000000000 +1000
@@ -0,0 +1,2 @@
+valgrind: wrong ELF executable class (eg. 32-bit instead of 64-bit)
+valgrind: ./shell_valid3: bad interpreter (/bin/sh): VG_(strerror): unknown error
=================================================
./valgrind-new/none/tests/shell_zerolength.stderr.diff
=================================================
--- shell_zerolength.stderr.exp 2009-08-12 03:11:48.000000000 +1000
+++ shell_zerolength.stderr.out 2009-08-12 03:18:02.000000000 +1000
@@ -0,0 +1,2 @@
+valgrind: wrong ELF executable class (eg. 32-bit instead of 64-bit)
+valgrind: ./shell_zerolength: bad interpreter (/bin/sh): VG_(strerror): unknown error
=================================================
./valgrind-new/none/tests/shell_zerolength.stderr.diff-dash
=================================================
--- shell_zerolength.stderr.exp-dash 2009-08-12 03:11:48.000000000 +1000
+++ shell_zerolength.stderr.out 2009-08-12 03:18:02.000000000 +1000
@@ -1 +1,2 @@
-Bus error
+valgrind: wrong ELF executable class (eg. 32-bit instead of 64-bit)
+valgrind: ./shell_zerolength: bad interpreter (/bin/sh): VG_(strerror): unknown error
=================================================
./valgrind-old/exp-ptrcheck/tests/supp.stderr.diff
=================================================
--- supp.stderr.exp 2009-08-12 03:00:34.000000000 +1000
+++ supp.stderr.out 2009-08-12 03:10:36.000000000 +1000
@@ -1,7 +1,7 @@
Syscall param write(buf) is non-contiguous
- at 0x........: write (in /...libc...)
- by 0x........: main (supp.c:16)
+ at 0x........: ??? (in /lib32/ld-2.9.so)
+ by 0x........: (below main)
First byte (0x........) is 3 bytes inside a 6-byte block alloc'd
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: main (supp.c:12)
=================================================
./valgrind-old/helgrind/tests/pth_barrier3.stderr.diff
=================================================
--- pth_barrier3.stderr.exp 2009-08-12 03:00:31.000000000 +1000
+++ pth_barrier3.stderr.out 2009-08-12 03:07:56.000000000 +1000
@@ -18,3 +18,20 @@
at 0x........: threadfunc (pth_barrier.c:57)
by 0x........: mythread_wrapper (hg_intercepts.c:...)
...
+
+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 read of size 4 at 0x........ by thread #x
+ at 0x........: ??? (in /lib32/ld-2.9.so)
+ by 0x........: threadfunc (pth_barrier.c:58)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 4 by thread #x
+ at 0x........: pthread_barrier_wait (in /...libpthread...)
+ by 0x........: threadfunc (pth_barrier.c:58)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
=================================================
./valgrind-old/helgrind/tests/tc06_two_races_xml.stderr.diff
=================================================
--- tc06_two_races_xml.stderr.exp 2009-08-12 03:00:31.000000000 +1000
+++ tc06_two_races_xml.stderr.out 2009-08-12 03:08:02.000000000 +1000
@@ -44,16 +44,6 @@
<frame>
<ip>0x........</ip>
<obj>...</obj>
- <fn>do_clone</fn>
- </frame>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
- <fn>pthread_create@@GLIBC_2.2.5</fn>
- </frame>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
<fn>pthread_create_WRK</fn>
<dir>...</dir>
<file>hg_intercepts.c</file>
=================================================
./valgrind-old/memcheck/tests/origin5-bz2.stderr.diff-glibc25-amd64
=================================================
--- origin5-bz2.stderr.exp-glibc25-amd64 2009-08-12 03:00:51.000000000 +1000
+++ origin5-bz2.stderr.out 2009-08-12 03:05:38.000000000 +1000
@@ -11,7 +11,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: handle_compress (origin5-bz2.c:4686)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
@@ -19,7 +19,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: handle_compress (origin5-bz2.c:4686)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
@@ -27,7 +27,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: mainSort (origin5-bz2.c:2820)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -38,7 +38,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: mainSort (origin5-bz2.c:2823)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -49,7 +49,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: mainSort (origin5-bz2.c:2854)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -60,7 +60,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: mainSort (origin5-bz2.c:2858)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -71,7 +71,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: mainSort (origin5-bz2.c:2963)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -82,7 +82,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: mainSort (origin5-bz2.c:2964)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -93,7 +93,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: fallbackSort (origin5-bz2.c:2269)
by 0x........: BZ2_blockSort (origin5-bz2.c:3116)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -104,7 +104,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: fallbackSort (origin5-bz2.c:2275)
by 0x........: BZ2_blockSort (origin5-bz2.c:3116)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
=================================================
./valgrind-old/memcheck/tests/origin5-bz2.stderr.diff-glibc25-x86
=================================================
--- origin5-bz2.stderr.exp-glibc25-x86 2009-08-12 03:00:51.000000000 +1000
+++ origin5-bz2.stderr.out 2009-08-12 03:05:38.000000000 +1000
@@ -28,7 +28,8 @@
at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 4
- at 0x........: BZ2_blockSort (origin5-bz2.c:2820)
+ at 0x........: mainSort (origin5-bz2.c:2820)
+ by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
by 0x........: handle_compress (origin5-bz2.c:4753)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
@@ -38,7 +39,8 @@
at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 4
- at 0x........: BZ2_blockSort (origin5-bz2.c:2823)
+ at 0x........: mainSort (origin5-bz2.c:2823)
+ by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
by 0x........: handle_compress (origin5-bz2.c:4753)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
@@ -48,7 +50,8 @@
at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 4
- at 0x........: BZ2_blockSort (origin5-bz2.c:2855)
+ at 0x........: mainSort (origin5-bz2.c:2854)
+ by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
by 0x........: handle_compress (origin5-bz2.c:4753)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
@@ -58,7 +61,8 @@
at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 4
- at 0x........: BZ2_blockSort (origin5-bz2.c:2859)
+ at 0x........: mainSort (origin5-bz2.c:2858)
+ by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
by 0x........: handle_compress (origin5-bz2.c:4753)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
@@ -68,7 +72,8 @@
at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 4
- at 0x........: BZ2_blockSort (origin5-bz2.c:2963)
+ at 0x........: mainSort (origin5-bz2.c:2963)
+ by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
by 0x........: handle_compress (origin5-bz2.c:4753)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
@@ -78,7 +83,8 @@
at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 4
- at 0x........: BZ2_blockSort (origin5-bz2.c:2964)
+ at 0x........: mainSort (origin5-bz2.c:2964)
+ by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
by 0x........: handle_compress (origin5-bz2.c:4753)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
=================================================
./valgrind-old/memcheck/tests/origin5-bz2.stderr.diff-glibc27-ppc64
=================================================
--- origin5-bz2.stderr.exp-glibc27-ppc64 2009-08-12 03:00:51.000000000 +1000
+++ origin5-bz2.stderr.out 2009-08-12 03:05:38.000000000 +1000
@@ -1,7 +1,7 @@
Conditional jump or move depends on uninitialised value(s)
at 0x........: main (origin5-bz2.c:6481)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
Conditional jump or move depends on uninitialised value(s)
at 0x........: handle_compress (origin5-bz2.c:4686)
@@ -9,85 +9,91 @@
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: handle_compress (origin5-bz2.c:4686)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: handle_compress (origin5-bz2.c:4686)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
- at 0x........: BZ2_blockSort (origin5-bz2.c:2820)
+Use of uninitialised value of size 4
+ at 0x........: mainSort (origin5-bz2.c:2820)
+ by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
by 0x........: handle_compress (origin5-bz2.c:4753)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
- at 0x........: BZ2_blockSort (origin5-bz2.c:2823)
+Use of uninitialised value of size 4
+ at 0x........: mainSort (origin5-bz2.c:2823)
+ by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
by 0x........: handle_compress (origin5-bz2.c:4753)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
- at 0x........: BZ2_blockSort (origin5-bz2.c:2854)
+Use of uninitialised value of size 4
+ at 0x........: mainSort (origin5-bz2.c:2854)
+ by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
by 0x........: handle_compress (origin5-bz2.c:4753)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
- at 0x........: BZ2_blockSort (origin5-bz2.c:2858)
+Use of uninitialised value of size 4
+ at 0x........: mainSort (origin5-bz2.c:2858)
+ by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
by 0x........: handle_compress (origin5-bz2.c:4753)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
- at 0x........: BZ2_blockSort (origin5-bz2.c:2963)
+Use of uninitialised value of size 4
+ at 0x........: mainSort (origin5-bz2.c:2963)
+ by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
<truncated beyond 100 lines>
=================================================
./valgrind-old/none/tests/empty-exe.stderr.diff
=================================================
--- empty-exe.stderr.exp 2009-08-12 03:01:23.000000000 +1000
+++ empty-exe.stderr.out 2009-08-12 03:06:57.000000000 +1000
@@ -1,2 +1,2 @@
-
-
+valgrind: wrong ELF executable class (eg. 32-bit instead of 64-bit)
+valgrind: ./empty-exe: bad interpreter (/bin/sh): VG_(strerror): unknown error
=================================================
./valgrind-old/none/tests/shell.stderr.diff
=================================================
--- shell.stderr.exp 2009-08-12 03:01:23.000000000 +1000
+++ shell.stderr.out 2009-08-12 03:07:18.000000000 +1000
@@ -1,8 +1,3 @@
-./shell: ./x86/: is a directory
-./shell: ./shell.vgtest: Permission denied
-execve(0x........(./shell_badinterp), 0x........, 0x........) failed, errno 2
-EXEC FAILED: I can't recover from execve() failing, so I'm dying.
-Add more stringent tests in PRE(sys_execve), or work out how to recover.
-./shell: ./shell_binaryfile: cannot execute binary file
-./shell: ./shell_nosuchfile: No such file or directory
-./shell: shell_nosuchfile: command not found
+valgrind: wrong ELF executable class (eg. 32-bit instead of 64-bit)
+valgrind: wrong ELF executable class (eg. 32-bit instead of 64-bit)
+valgrind: ./shell: bad interpreter (/bin/sh): VG_(strerror): unknown error
=================================================
./valgrind-old/none/tests/shell.stderr.diff-dash
=================================================
--- shell.stderr.exp-dash 2009-08-12 03:01:23.000000000 +1000
+++ shell.stderr.out 2009-08-12 03:07:18.000000000 +1000
@@ -1,8 +1,3 @@
-./shell: 10: ./x86/: Permission denied
-./shell: 13: ./shell.vgtest: Permission denied
-execve(0x........(./shell_badinterp), 0x........, 0x........) failed, errno 2
-EXEC FAILED: I can't recover from execve() failing, so I'm dying.
-Add more stringent tests in PRE(sys_execve), or work out how to recover.
-./shell_binaryfile: 4: Syntax error: ")" unexpected
-./shell: 22: ./shell_nosuchfile: not found
-./shell: 25: shell_nosuchfile: not found
+valgrind: wrong ELF executable class (eg. 32-bit instead of 64-bit)
+valgrind: wrong ELF executable class (eg. 32-bit instead of 64-bit)
+valgrind: ./shell: bad interpreter (/bin/sh): VG_(strerror): unknown error
=================================================
./valgrind-old/none/tests/shell.stdout.diff
=================================================
--- shell.stdout.exp 2009-08-12 03:01:23.000000000 +1000
+++ shell.stdout.out 2009-08-12 03:07:18.000000000 +1000
@@ -1,10 +0,0 @@
-Execute a directory
-Execute a non-executable file
-Execute a script with a bad interpreter name
-Execute a binary file
-Execute a non-existent file
-Execute a non-existent file (2)
-Execute a valid script with a #! line
-Execute a valid script without a #! line
-Execute a valid script with #! but no interpname
-Execute a zero-length file
=================================================
./valgrind-old/none/tests/shell_valid1.stderr.diff
=================================================
--- shell_valid1.stderr.exp 2009-08-12 03:01:23.000000000 +1000
+++ shell_valid1.stderr.out 2009-08-12 03:07:18.000000000 +1000
@@ -0,0 +1,3 @@
+valgrind: wrong ELF executable class (eg. 32-bit instead of 64-bit)
+valgrind: wrong ELF executable class (eg. 32-bit instead of 64-bit)
+valgrind: ./shell_valid1: bad interpreter (/bin/sh): VG_(strerror): unknown error
=================================================
./valgrind-old/none/tests/shell_valid2.stderr.diff
=================================================
--- shell_valid2.stderr.exp 2009-08-12 03:01:23.000000000 +1000
+++ shell_valid2.stderr.out 2009-08-12 03:07:18.000000000 +1000
@@ -0,0 +1,2 @@
+valgrind: wrong ELF executable class (eg. 32-bit instead of 64-bit)
+valgrind: ./shell_valid2: bad interpreter (/bin/sh): VG_(strerror): unknown error
=================================================
./valgrind-old/none/tests/shell_valid3.stderr.diff
=================================================
--- shell_valid3.stderr.exp 2009-08-12 03:01:23.000000000 +1000
+++ shell_valid3.stderr.out 2009-08-12 03:07:18.000000000 +1000
@@ -0,0 +1,2 @@
+valgrind: wrong ELF executable class (eg. 32-bit instead of 64-bit)
+valgrind: ./shell_valid3: bad interpreter (/bin/sh): VG_(strerror): unknown error
=================================================
./valgrind-old/none/tests/shell_zerolength.stderr.diff
=================================================
--- shell_zerolength.stderr.exp 2009-08-12 03:01:23.000000000 +1000
+++ shell_zerolength.stderr.out 2009-08-12 03:07:18.000000000 +1000
@@ -0,0 +1,2 @@
+valgrind: wrong ELF executable class (eg. 32-bit instead of 64-bit)
+valgrind: ./shell_zerolength: bad interpreter (/bin/sh): VG_(strerror): unknown error
=================================================
./valgrind-old/none/tests/shell_zerolength.stderr.diff-dash
=================================================
--- shell_zerolength.stderr.exp-dash 2009-08-12 03:01:23.000000000 +1000
+++ shell_zerolength.stderr.out 2009-08-12 03:07:18.000000000 +1000
@@ -1 +1,2 @@
-Bus error
+valgrind: wrong ELF executable class (eg. 32-bit instead of 64-bit)
+valgrind: ./shell_zerolength: bad interpreter (/bin/sh): VG_(strerror): unknown error
|
|
From: Nicholas N. <n.n...@gm...> - 2009-08-11 16:26:17
|
Nightly build on ocean ( Ubuntu 9.04, x86_64 )
Started at 2009-08-12 02:00:01 EST
Ended at 2009-08-12 02:26:02 EST
Results differ from 24 hours ago
Checking out valgrind source tree ... done
Configuring valgrind ... done
Building valgrind ... done
Running regression tests ... failed
Regression test results follow
== 530 tests, 2 stderr failures, 0 stdout failures, 0 post failures ==
helgrind/tests/pth_spinlock (stderr)
helgrind/tests/tc06_two_races_xml (stderr)
=================================================
== Results from 24 hours ago ==
=================================================
Checking out valgrind source tree ... done
Configuring valgrind ... done
Building valgrind ... done
Running regression tests ... failed
Regression test results follow
== 527 tests, 1 stderr failure, 0 stdout failures, 0 post failures ==
helgrind/tests/tc06_two_races_xml (stderr)
=================================================
== Difference between 24 hours ago and now ==
=================================================
*** old.short Wed Aug 12 02:12:22 2009
--- new.short Wed Aug 12 02:26:02 2009
***************
*** 8,10 ****
! == 527 tests, 1 stderr failure, 0 stdout failures, 0 post failures ==
helgrind/tests/tc06_two_races_xml (stderr)
--- 8,11 ----
! == 530 tests, 2 stderr failures, 0 stdout failures, 0 post failures ==
! helgrind/tests/pth_spinlock (stderr)
helgrind/tests/tc06_two_races_xml (stderr)
=================================================
./valgrind-new/helgrind/tests/pth_spinlock.stderr.diff
=================================================
--- pth_spinlock.stderr.exp 2009-08-12 02:12:42.000000000 +1000
+++ pth_spinlock.stderr.out 2009-08-12 02:23:37.000000000 +1000
@@ -1,2 +1,23 @@
Start of test.
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (pth_spinlock.c:46)
+
+Thread #x: Bug in libpthread: recursive write lock granted on mutex/wrlock which does not support recursion
+ at 0x........: pthread_spin_lock (hg_intercepts.c:...)
+ by 0x........: thread_func (pth_spinlock.c:27)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (pth_spinlock.c:46)
+
+Thread #x: Bug in libpthread: recursive write lock granted on mutex/wrlock which does not support recursion
+ at 0x........: pthread_spin_lock (hg_intercepts.c:...)
+ by 0x........: thread_func (pth_spinlock.c:27)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
Test successful.
=================================================
./valgrind-new/helgrind/tests/tc06_two_races_xml.stderr.diff
=================================================
--- tc06_two_races_xml.stderr.exp 2009-08-12 02:12:42.000000000 +1000
+++ tc06_two_races_xml.stderr.out 2009-08-12 02:23:43.000000000 +1000
@@ -44,11 +44,6 @@
<frame>
<ip>0x........</ip>
<obj>...</obj>
- <fn>do_clone</fn>
- </frame>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
<fn>pthread_create@@GLIBC_2.2.5</fn>
</frame>
<frame>
=================================================
./valgrind-old/helgrind/tests/tc06_two_races_xml.stderr.diff
=================================================
--- tc06_two_races_xml.stderr.exp 2009-08-12 02:00:30.000000000 +1000
+++ tc06_two_races_xml.stderr.out 2009-08-12 02:10:05.000000000 +1000
@@ -44,11 +44,6 @@
<frame>
<ip>0x........</ip>
<obj>...</obj>
- <fn>do_clone</fn>
- </frame>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
<fn>pthread_create@@GLIBC_2.2.5</fn>
</frame>
<frame>
|
|
From: Josef W. <Jos...@gm...> - 2009-08-11 16:18:38
|
On Tuesday 11 August 2009, Nicholas Nethercote wrote: > Hi, > > Progress towards 3.5.0 is going well. We're down to four blockers: > > 200760 nor NOR othe nj...@va... ASSI darwin > unhandled syscall: unix:284 > 200029 nor NOR Linu js...@ac... REOP valgrind isn't able to > read Fedora 12 debuginfo > 199338 nor NOR Linu josef.weidendorfer ASSI callgrind_annotate > sorting/thresholds are broken for all but Ir > 191189 wis NOR Linu js...@ac... ASSI --xml=yes should obey > --gen-suppressions=all > > I should get to 200760 today or tomorrow. Julian has committed a fix > for 200029 and is just waiting on nightly tests to confirm it. He > also will soon get to 191189, which is pretty easy. > > Josef, will you be able to fix 199338 in the next 2 or 3 days? Julian > wants to build a release candidate on Friday, so it would be good > (well, mandatory, really) to have all blockers fixed by then. Just fixed with a few other smaller things. However, I just saw a problem with the committed fix for 150606 (r10386). It zeros the summary counts before dumping :-( I think I'll get this right in time. I reopened 197988, as this is still valid. The easiest is to enlarge the tool's stack to a 2 MB. Or is there some adress space problem for 32bit here? It would be cool to have VG_(discard_translations) in the tool interface to get rid of an ugly hack (calling a non-public function from core) - I sent a proposed patch to Julian... Josef > We also have 50 wanted3.5.0 bugs open, but it looks like only 1 or 2 > of them will be done, although please feel free to work on them if you > like. > > Nick > > ------------------------------------------------------------------------------ > Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day > trial. Simplify your report design, integration and deployment - and focus on > what you do best, core application coding. Discover what's new with > Crystal Reports now. http://p.sf.net/sfu/bobj-july > _______________________________________________ > Valgrind-developers mailing list > Val...@li... > https://lists.sourceforge.net/lists/listinfo/valgrind-developers > |
|
From: <sv...@va...> - 2009-08-11 15:01:11
|
Author: bart
Date: 2009-08-11 16:00:54 +0100 (Tue, 11 Aug 2009)
New Revision: 10779
Log:
Added regression test for ANNOTATE_IGNORE_READS_AND_WRITES_BEGIN() and
ANNOTATE_IGNORE_READS_AND_WRITES_END().
Added:
trunk/drd/tests/annotate_ignore_rw.c
trunk/drd/tests/annotate_ignore_rw.stderr.exp
trunk/drd/tests/annotate_ignore_rw.vgtest
trunk/drd/tests/annotate_ignore_rw2.stderr.exp
trunk/drd/tests/annotate_ignore_rw2.vgtest
Modified:
trunk/drd/tests/
trunk/drd/tests/Makefile.am
Property changes on: trunk/drd/tests
___________________________________________________________________
Name: svn:ignore
- *.dSYM
*.stderr.diff*
*.stderr.out
*.stdout.diff*
*.stdout.out
.deps
annotate_rwlock
atomic_var
bar_bad
bar_trivial
boost_thread
circular_buffer
custom_alloc
drd_bitmap_test
fp_race
hg01_all_ok
hg02_deadlock
hg03_inherit
hg04_race
hg05_race2
hg06_readshared
hold_lock
linuxthreads_det
Makefile
Makefile.in
matinv
memory_allocation
monitor_example
new_delete
omp_matinv
omp_prime
omp_printf
pth_barrier
pth_barrier_race
pth_barrier_reinit
pth_broadcast
pth_cancel_locked
pth_cleanup_handler
pth_cond_race
pth_create_chain
pth_create_glibc_2_0
pth_detached
pth_detached_sem
pth_inconsistent_cond_wait
pth_mutex_reinit
pth_process_shared_mutex
pth_spinlock
qt4_mutex
qt4_rwlock
qt4_semaphore
recursive_mutex
rwlock_race
rwlock_test
rwlock_type_checking
sem_as_mutex
sem_open
sigalrm
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
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
thread_name
trylock
tsan_unittest
unit_bitmap
unit_vc
vg_regtest.tmp*
+ *.dSYM
*.stderr.diff*
*.stderr.out
*.stdout.diff*
*.stdout.out
.deps
annotate_ignore_rw
annotate_rwlock
atomic_var
bar_bad
bar_trivial
boost_thread
circular_buffer
custom_alloc
drd_bitmap_test
fp_race
hg01_all_ok
hg02_deadlock
hg03_inherit
hg04_race
hg05_race2
hg06_readshared
hold_lock
linuxthreads_det
Makefile
Makefile.in
matinv
memory_allocation
monitor_example
new_delete
omp_matinv
omp_prime
omp_printf
pth_barrier
pth_barrier_race
pth_barrier_reinit
pth_broadcast
pth_cancel_locked
pth_cleanup_handler
pth_cond_race
pth_create_chain
pth_create_glibc_2_0
pth_detached
pth_detached_sem
pth_inconsistent_cond_wait
pth_mutex_reinit
pth_process_shared_mutex
pth_spinlock
qt4_mutex
qt4_rwlock
qt4_semaphore
recursive_mutex
rwlock_race
rwlock_test
rwlock_type_checking
sem_as_mutex
sem_open
sigalrm
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
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
thread_name
trylock
tsan_unittest
unit_bitmap
unit_vc
vg_regtest.tmp*
Modified: trunk/drd/tests/Makefile.am
===================================================================
--- trunk/drd/tests/Makefile.am 2009-08-11 14:45:03 UTC (rev 10778)
+++ trunk/drd/tests/Makefile.am 2009-08-11 15:00:54 UTC (rev 10779)
@@ -25,6 +25,8 @@
annotate_rwlock.vgtest \
annotate_ignore_read.stderr.exp \
annotate_ignore_read.vgtest \
+ annotate_ignore_rw.stderr.exp \
+ annotate_ignore_rw.vgtest \
annotate_trace_memory.stderr.exp \
annotate_trace_memory.vgtest \
atomic_var.stderr.exp \
@@ -238,6 +240,7 @@
check_PROGRAMS = \
+ annotate_ignore_rw \
custom_alloc \
fp_race \
hold_lock \
Added: trunk/drd/tests/annotate_ignore_rw.c
===================================================================
--- trunk/drd/tests/annotate_ignore_rw.c (rev 0)
+++ trunk/drd/tests/annotate_ignore_rw.c 2009-08-11 15:00:54 UTC (rev 10779)
@@ -0,0 +1,50 @@
+/* Test program for the annotations that suppress both reads and writes. */
+
+#include <assert.h> /* assert() */
+#include <pthread.h>
+#include <stdio.h> /* EOF */
+#include <unistd.h> /* getopt() */
+#include "../../drd/drd.h"
+
+static int s_a;
+static int s_b;
+
+static void* thread_func(void* arg)
+{
+ /* Read s_a and modify s_b. */
+ s_b = s_a;
+
+ return NULL;
+}
+
+int main(int argc, char** argv)
+{
+ int optchar;
+ int ign_rw = 1;
+ pthread_t tid;
+
+ while ((optchar = getopt(argc, argv, "r")) != EOF)
+ {
+ switch (optchar)
+ {
+ case 'r':
+ ign_rw = 0;
+ break;
+ default:
+ assert(0);
+ }
+ }
+
+ pthread_create(&tid, 0, thread_func, 0);
+ if (ign_rw)
+ ANNOTATE_IGNORE_READS_AND_WRITES_BEGIN();
+ /* Read s_b and modify s_a. */
+ s_a = s_b;
+ if (ign_rw)
+ ANNOTATE_IGNORE_READS_AND_WRITES_END();
+ pthread_join(tid, 0);
+
+ fprintf(stderr, "Finished.\n");
+
+ return 0;
+}
Added: trunk/drd/tests/annotate_ignore_rw.stderr.exp
===================================================================
--- trunk/drd/tests/annotate_ignore_rw.stderr.exp (rev 0)
+++ trunk/drd/tests/annotate_ignore_rw.stderr.exp 2009-08-11 15:00:54 UTC (rev 10779)
@@ -0,0 +1,4 @@
+
+Finished.
+
+ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
Added: trunk/drd/tests/annotate_ignore_rw.vgtest
===================================================================
--- trunk/drd/tests/annotate_ignore_rw.vgtest (rev 0)
+++ trunk/drd/tests/annotate_ignore_rw.vgtest 2009-08-11 15:00:54 UTC (rev 10779)
@@ -0,0 +1,4 @@
+prereq: ./supported_libpthread
+vgopts: --read-var-info=yes --check-stack-var=yes --show-confl-seg=no
+prog: annotate_ignore_rw
+stderr_filter: filter_stderr
Added: trunk/drd/tests/annotate_ignore_rw2.stderr.exp
===================================================================
--- trunk/drd/tests/annotate_ignore_rw2.stderr.exp (rev 0)
+++ trunk/drd/tests/annotate_ignore_rw2.stderr.exp 2009-08-11 15:00:54 UTC (rev 10779)
@@ -0,0 +1,13 @@
+
+Conflicting load by thread 1 at 0x........ size 4
+ at 0x........: main (annotate_ignore_rw.c:?)
+Location 0x........ is 0 bytes inside local var "s_b"
+declared at annotate_ignore_rw.c:10, in frame #? of thread 1
+
+Conflicting store by thread 1 at 0x........ size 4
+ at 0x........: main (annotate_ignore_rw.c:?)
+Location 0x........ is 0 bytes inside local var "s_a"
+declared at annotate_ignore_rw.c:9, in frame #? of thread 1
+Finished.
+
+ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 0 from 0)
Added: trunk/drd/tests/annotate_ignore_rw2.vgtest
===================================================================
--- trunk/drd/tests/annotate_ignore_rw2.vgtest (rev 0)
+++ trunk/drd/tests/annotate_ignore_rw2.vgtest 2009-08-11 15:00:54 UTC (rev 10779)
@@ -0,0 +1,5 @@
+prereq: ./supported_libpthread
+vgopts: --read-var-info=yes --check-stack-var=yes --show-confl-seg=no
+prog: annotate_ignore_rw
+args: -r
+stderr_filter: filter_stderr
|
|
From: <sv...@va...> - 2009-08-11 14:45:14
|
Author: weidendo
Date: 2009-08-11 15:45:00 +0100 (Tue, 11 Aug 2009)
New Revision: 10777
Log:
Misc fixes for callgrind_annotate
* Patch from bug 198649 (callgrind_annotate doesn't cumulate counters)
When there were multiple call sites in one line, the aggregated
call count/cost numbers in the source annotation were wrong
* Callgrind often produces absolute file names.
Make it work with relative file names requested for annotation from
the command lines.
* More in sync with parser in KCachegrind: make summary line optional.
We can also use the "totals:" line for this.
* Count of numbers in summary can be smaller then number of events given
Modified:
trunk/callgrind/callgrind_annotate.in
Modified: trunk/callgrind/callgrind_annotate.in
===================================================================
--- trunk/callgrind/callgrind_annotate.in 2009-08-11 10:39:25 UTC (rev 10776)
+++ trunk/callgrind/callgrind_annotate.in 2009-08-11 14:45:00 UTC (rev 10777)
@@ -80,6 +80,7 @@
# Total counts for summary (an array reference).
my $summary_CC;
+my $totals_CC;
# Totals for each function, for overall summary.
# hash(filename:fn_name => CC array)
@@ -349,6 +350,17 @@
$^W = 1;
}
+# Is this a line with all events zero?
+sub is_zero ($)
+{
+ my ($CC) = @_;
+ my $isZero = 1;
+ foreach my $i (0 .. (scalar @$CC)-1) {
+ $isZero = 0 if ($CC->[$i] >0);
+ }
+ return $isZero;
+}
+
# Add each event count to the CC array. '.' counts become undef, as do
# missing entries (implicitly).
sub line_to_CC ($)
@@ -478,6 +490,11 @@
$thresholds[0] = $single_threshold;
}
+ # Current directory, used to strip from file names if absolute
+ my $pwd = `pwd`;
+ chomp $pwd;
+ $pwd .= '/';
+
my $curr_obj = "";
my $curr_file;
my $curr_fn;
@@ -536,8 +553,14 @@
$tmp = {} unless defined $tmp;
$$tmp{$curr_cname} = 1;
$called_from_line->{$curr_file,$curr_line_num} = $tmp;
- $call_CCs{$curr_name,$curr_cname,$curr_line_num} = $CC;
- $call_counter{$curr_name,$curr_cname,$curr_line_num} = $curr_call_counter;
+ if(defined $call_CCs{$curr_name,$curr_cname,$curr_line_num}) {
+ add_array_a_to_b($CC, $call_CCs{$curr_name,$curr_cname,$curr_line_num});
+ $call_counter{$curr_name,$curr_cname,$curr_line_num} += $curr_call_counter;
+ }
+ else {
+ $call_CCs{$curr_name,$curr_cname,$curr_line_num} = $CC;
+ $call_counter{$curr_name,$curr_cname,$curr_line_num} = $curr_call_counter;
+ }
$curr_call_counter = 0;
@@ -584,6 +607,7 @@
if (defined $curr_file);
$curr_file = uncompressed_name("fl",$1);
+ $curr_file =~ s/^$pwd//;
$curr_file_ind_CCs = $all_ind_CCs{$curr_file};
$curr_file_ind_CCs = {} unless (defined $curr_file_ind_CCs);
@@ -593,6 +617,7 @@
$all_ind_CCs{$curr_file} = $curr_file_ind_CCs;
$curr_file = uncompressed_name("fl",$2);
+ $curr_file =~ s/^$pwd//;
$curr_name = "$curr_file:$curr_fn";
$curr_file_ind_CCs = $all_ind_CCs{$curr_file};
$curr_file_ind_CCs = {} unless (defined $curr_file_ind_CCs);
@@ -645,7 +670,7 @@
# ignore jump information
} elsif (s/^totals:\s+//) {
- #ignore
+ $totals_CC = line_to_CC($_);
} elsif (s/^summary:\s+//) {
$summary_CC = line_to_CC($_);
@@ -656,21 +681,21 @@
}
}
+ if ((not defined $summary_CC) || is_zero($summary_CC)) {
+ $summary_CC = $totals_CC;
+ }
+
# Check if summary line was present
if (not defined $summary_CC) {
warn("WARNING: missing final summary line, no summary will be printed\n");
}
- else {
- # Finish up handling final filename/fn_name counts
- $fn_totals{"$curr_file:$curr_fn"} = $curr_fn_CC
+
+ # Finish up handling final filename/fn_name counts
+ $fn_totals{"$curr_file:$curr_fn"} = $curr_fn_CC
if (defined $curr_file && defined $curr_fn);
- $all_ind_CCs{$curr_file} =
+ $all_ind_CCs{$curr_file} =
$curr_file_ind_CCs if (defined $curr_file);
- (scalar(@$summary_CC) == @events)
- or die("Line $.: summary event and total event mismatch\n");
- }
-
# Correct inclusive totals
if ($inclusive) {
foreach my $name (keys %cfn_totals) {
|
|
From: <sv...@va...> - 2009-08-11 14:45:11
|
Author: weidendo
Date: 2009-08-11 15:45:03 +0100 (Tue, 11 Aug 2009)
New Revision: 10778
Log:
Fix bug 199338: callgrind_annotate sorting/thresholds are broken
Modified:
trunk/callgrind/callgrind_annotate.in
Modified: trunk/callgrind/callgrind_annotate.in
===================================================================
--- trunk/callgrind/callgrind_annotate.in 2009-08-11 14:45:00 UTC (rev 10777)
+++ trunk/callgrind/callgrind_annotate.in 2009-08-11 14:45:03 UTC (rev 10778)
@@ -243,17 +243,21 @@
# --sort=A,B,C
} elsif ($arg =~ /^--sort=(.*)$/) {
@sort_events = split(/,/, $1);
+ my $th_specified = 0;
foreach my $i (0 .. scalar @sort_events - 1) {
- if ($sort_events[$i] =~#/.*:(\d+)$/) {
- /.*:([\d\.]+)%?$/) {
+ if ($sort_events[$i] =~ /.*:([\d\.]+)%?$/) {
my $th = $1;
($th >= 0 && $th <= 100) or die($usage);
$sort_events[$i] =~ s/:.*//;
$thresholds[$i] = $th;
+ $th_specified = 1;
} else {
$thresholds[$i] = 0;
}
}
+ if (not $th_specified) {
+ @thresholds = ();
+ }
# --threshold=X (tolerates a trailing '%')
} elsif ($arg =~ /^--threshold=([\d\.]+)%?$/) {
|
|
From: <sv...@va...> - 2009-08-11 10:39:39
|
Author: sewardj
Date: 2009-08-11 11:39:25 +0100 (Tue, 11 Aug 2009)
New Revision: 10776
Log:
Move printing of EvM-gc and VTS-gc stats from -v to --stats=yes.
Modified:
trunk/helgrind/libhb_core.c
Modified: trunk/helgrind/libhb_core.c
===================================================================
--- trunk/helgrind/libhb_core.c 2009-08-11 10:35:58 UTC (rev 10775)
+++ trunk/helgrind/libhb_core.c 2009-08-11 10:39:25 UTC (rev 10776)
@@ -43,7 +43,7 @@
#include "pub_tool_aspacemgr.h"
#include "pub_tool_execontext.h"
#include "pub_tool_errormgr.h"
-#include "pub_tool_options.h" // VG_(clo_verbosity)
+#include "pub_tool_options.h" // VG_(clo_stats)
#include "hg_basics.h"
#include "hg_wordset.h"
#include "hg_lock_n_thread.h"
@@ -2289,7 +2289,7 @@
VG_(printf)("<<GC ends, next gc at %ld>>\n", vts_next_GC_at);
}
- if (VG_(clo_verbosity) > 1) {
+ if (VG_(clo_stats)) {
static UInt ctr = 0;
tl_assert(nTab > 0);
VG_(message)(Vg_DebugMsg,
@@ -3952,7 +3952,7 @@
VG_(addToXA)( refs2del, &keyW );
}
}
- if (VG_(clo_verbosity) > 1) {
+ if (VG_(clo_stats)) {
VG_(message)(Vg_DebugMsg,
"libhb: EvM GC: delete generations %lu and below, "
"retaining %lu entries\n",
@@ -3978,7 +3978,7 @@
retained--;
}
}
- if (VG_(clo_verbosity) > 1) {
+ if (VG_(clo_stats)) {
VG_(message)(Vg_DebugMsg,
"libhb: EvM GC: randomly delete half the entries, "
"retaining %lu entries\n",
|
|
From: <sv...@va...> - 2009-08-11 10:36:14
|
Author: sewardj
Date: 2009-08-11 11:35:58 +0100 (Tue, 11 Aug 2009)
New Revision: 10775
Log:
Add pthread spinlock support.
Added:
trunk/helgrind/tests/pth_spinlock.stderr.exp
trunk/helgrind/tests/pth_spinlock.stdout.exp
trunk/helgrind/tests/pth_spinlock.vgtest
Modified:
trunk/helgrind/helgrind.h
trunk/helgrind/hg_intercepts.c
trunk/helgrind/hg_main.c
trunk/helgrind/tests/Makefile.am
Modified: trunk/helgrind/helgrind.h
===================================================================
--- trunk/helgrind/helgrind.h 2009-08-11 01:03:55 UTC (rev 10774)
+++ trunk/helgrind/helgrind.h 2009-08-11 10:35:58 UTC (rev 10775)
@@ -95,7 +95,13 @@
_VG_USERREQ__HG_POSIX_SEM_WAIT_POST, /* sem_t* */
_VG_USERREQ__HG_PTHREAD_BARRIER_INIT_PRE, /* pth_bar_t*, ulong */
_VG_USERREQ__HG_PTHREAD_BARRIER_WAIT_PRE, /* pth_bar_t* */
- _VG_USERREQ__HG_PTHREAD_BARRIER_DESTROY_PRE /* pth_bar_t* */
+ _VG_USERREQ__HG_PTHREAD_BARRIER_DESTROY_PRE, /* pth_bar_t* */
+ _VG_USERREQ__HG_PTHREAD_SPIN_INIT_OR_UNLOCK_PRE, /* pth_slk_t* */
+ _VG_USERREQ__HG_PTHREAD_SPIN_INIT_OR_UNLOCK_POST, /* pth_slk_t* */
+ _VG_USERREQ__HG_PTHREAD_SPIN_LOCK_PRE, /* pth_slk_t* */
+ _VG_USERREQ__HG_PTHREAD_SPIN_LOCK_POST, /* pth_slk_t* */
+ _VG_USERREQ__HG_PTHREAD_SPIN_DESTROY_PRE /* pth_slk_t* */
+
} Vg_TCheckClientRequest;
/* Clean memory state. This makes Helgrind forget everything it knew
Modified: trunk/helgrind/hg_intercepts.c
===================================================================
--- trunk/helgrind/hg_intercepts.c 2009-08-11 01:03:55 UTC (rev 10774)
+++ trunk/helgrind/hg_intercepts.c 2009-08-11 10:35:58 UTC (rev 10775)
@@ -367,11 +367,6 @@
pthread_mutex_lock
pthread_mutex_trylock pthread_mutex_timedlock
pthread_mutex_unlock
-
- Unhandled: pthread_spin_init pthread_spin_destroy
- pthread_spin_lock
- pthread_spin_trylock
- pthread_spin_unlock
*/
//-----------------------------------------------------------
@@ -1049,7 +1044,202 @@
#endif // defined(HAVE_PTHREAD_BARRIER_INIT)
+
/*----------------------------------------------------------------*/
+/*--- pthread_spinlock_t functions ---*/
+/*----------------------------------------------------------------*/
+
+#if defined(HAVE_PTHREAD_SPIN_LOCK)
+
+/* Handled: pthread_spin_init pthread_spin_destroy
+ pthread_spin_lock pthread_spin_trylock
+ pthread_spin_unlock
+
+ Unhandled:
+*/
+
+/* This is a nasty kludge, in that glibc "knows" that initialising a
+ spin lock unlocks it, and pthread_spin_{init,unlock} are names for
+ the same function. Hence we have to have a wrapper which does both
+ things, without knowing which the user intended to happen. */
+
+//-----------------------------------------------------------
+// glibc: pthread_spin_init
+// glibc: pthread_spin_unlock
+// darwin: (doesn't appear to exist)
+static int pthread_spin_init_or_unlock_WRK(pthread_spinlock_t* lock,
+ int pshared) {
+ int ret;
+ OrigFn fn;
+ VALGRIND_GET_ORIG_FN(fn);
+ if (TRACE_PTH_FNS) {
+ fprintf(stderr, "<< pthread_spin_iORu %p", lock); fflush(stderr);
+ }
+
+ DO_CREQ_v_W(_VG_USERREQ__HG_PTHREAD_SPIN_INIT_OR_UNLOCK_PRE,
+ pthread_spinlock_t*, lock);
+
+ CALL_FN_W_WW(ret, fn, lock,pshared);
+
+ if (ret == 0 /*success*/) {
+ DO_CREQ_v_W(_VG_USERREQ__HG_PTHREAD_SPIN_INIT_OR_UNLOCK_POST,
+ pthread_spinlock_t*,lock);
+ } else {
+ DO_PthAPIerror( "pthread_spinlock_{init,unlock}", ret );
+ }
+
+ if (TRACE_PTH_FNS) {
+ fprintf(stderr, " :: spiniORu -> %d >>\n", ret);
+ }
+ return ret;
+}
+#if defined(VGO_linux)
+ PTH_FUNC(int, pthreadZuspinZuinit, // pthread_spin_init
+ pthread_spinlock_t* lock, int pshared) {
+ return pthread_spin_init_or_unlock_WRK(lock, pshared);
+ }
+ PTH_FUNC(int, pthreadZuspinZuunlock, // pthread_spin_unlock
+ pthread_spinlock_t* lock) {
+ /* this is never actually called */
+ return pthread_spin_init_or_unlock_WRK(lock, 0/*pshared*/);
+ }
+#elif defined(VGO_darwin)
+#else
+# error "Unsupported OS"
+#endif
+
+
+//-----------------------------------------------------------
+// glibc: pthread_spin_destroy
+// darwin: (doesn't appear to exist)
+#if defined(VGO_linux)
+
+PTH_FUNC(int, pthreadZuspinZudestroy, // pthread_spin_destroy
+ pthread_spinlock_t* lock)
+{
+ int ret;
+ OrigFn fn;
+ VALGRIND_GET_ORIG_FN(fn);
+ if (TRACE_PTH_FNS) {
+ fprintf(stderr, "<< pthread_spin_destroy %p", lock);
+ fflush(stderr);
+ }
+
+ DO_CREQ_v_W(_VG_USERREQ__HG_PTHREAD_SPIN_DESTROY_PRE,
+ pthread_spinlock_t*,lock);
+
+ CALL_FN_W_W(ret, fn, lock);
+
+ if (ret != 0) {
+ DO_PthAPIerror( "pthread_spin_destroy", ret );
+ }
+
+ if (TRACE_PTH_FNS) {
+ fprintf(stderr, " :: spindestroy -> %d >>\n", ret);
+ }
+ return ret;
+}
+
+#elif defined(VGO_darwin)
+#else
+# error "Unsupported OS"
+#endif
+
+
+//-----------------------------------------------------------
+// glibc: pthread_spin_lock
+// darwin: (doesn't appear to exist)
+#if defined(VGO_linux)
+
+PTH_FUNC(int, pthreadZuspinZulock, // pthread_spin_lock
+ pthread_spinlock_t* lock)
+{
+ int ret;
+ OrigFn fn;
+ VALGRIND_GET_ORIG_FN(fn);
+ if (TRACE_PTH_FNS) {
+ fprintf(stderr, "<< pthread_spinlock %p", lock);
+ fflush(stderr);
+ }
+
+ DO_CREQ_v_WW(_VG_USERREQ__HG_PTHREAD_SPIN_LOCK_PRE,
+ pthread_spinlock_t*,lock, long,0/*!isTryLock*/);
+
+ CALL_FN_W_W(ret, fn, lock);
+
+ /* There's a hole here: libpthread now knows the lock is locked,
+ but the tool doesn't, so some other thread could run and detect
+ that the lock has been acquired by someone (this thread). Does
+ this matter? Not sure, but I don't think so. */
+
+ if (ret == 0 /*success*/) {
+ DO_CREQ_v_W(_VG_USERREQ__HG_PTHREAD_SPIN_LOCK_POST,
+ pthread_spinlock_t*,lock);
+ } else {
+ DO_PthAPIerror( "pthread_spin_lock", ret );
+ }
+
+ if (TRACE_PTH_FNS) {
+ fprintf(stderr, " :: spinlock -> %d >>\n", ret);
+ }
+ return ret;
+}
+
+#elif defined(VGO_darwin)
+#else
+# error "Unsupported OS"
+#endif
+
+
+//-----------------------------------------------------------
+// glibc: pthread_spin_trylock
+// darwin: (doesn't appear to exist)
+#if defined(VGO_linux)
+
+PTH_FUNC(int, pthreadZuspinZutrylock, // pthread_spin_trylock
+ pthread_spinlock_t* lock)
+{
+ int ret;
+ OrigFn fn;
+ VALGRIND_GET_ORIG_FN(fn);
+ if (TRACE_PTH_FNS) {
+ fprintf(stderr, "<< pthread_spin_trylock %p", lock);
+ fflush(stderr);
+ }
+
+ DO_CREQ_v_WW(_VG_USERREQ__HG_PTHREAD_SPIN_LOCK_PRE,
+ pthread_spinlock_t*,lock, long,1/*isTryLock*/);
+
+ CALL_FN_W_W(ret, fn, lock);
+
+ /* There's a hole here: libpthread now knows the lock is locked,
+ but the tool doesn't, so some other thread could run and detect
+ that the lock has been acquired by someone (this thread). Does
+ this matter? Not sure, but I don't think so. */
+
+ if (ret == 0 /*success*/) {
+ DO_CREQ_v_W(_VG_USERREQ__HG_PTHREAD_SPIN_LOCK_POST,
+ pthread_spinlock_t*,lock);
+ } else {
+ if (ret != EBUSY)
+ DO_PthAPIerror( "pthread_spin_trylock", ret );
+ }
+
+ if (TRACE_PTH_FNS) {
+ fprintf(stderr, " :: spin_trylock -> %d >>\n", ret);
+ }
+ return ret;
+}
+
+#elif defined(VGO_darwin)
+#else
+# error "Unsupported OS"
+#endif
+
+#endif // defined(HAVE_PTHREAD_SPIN_LOCK)
+
+
+/*----------------------------------------------------------------*/
/*--- pthread_rwlock_t functions ---*/
/*----------------------------------------------------------------*/
Modified: trunk/helgrind/hg_main.c
===================================================================
--- trunk/helgrind/hg_main.c 2009-08-11 01:03:55 UTC (rev 10774)
+++ trunk/helgrind/hg_main.c 2009-08-11 10:35:58 UTC (rev 10775)
@@ -2003,6 +2003,79 @@
}
+/* ------------------------------------------------------- */
+/* -------------- events to do with mutexes -------------- */
+/* ------------------------------------------------------- */
+
+/* All a bit of a kludge. Pretend we're really dealing with ordinary
+ pthread_mutex_t's instead, for the most part. */
+
+static void evh__HG_PTHREAD_SPIN_INIT_OR_UNLOCK_PRE( ThreadId tid,
+ void* slock )
+{
+ Thread* thr;
+ Lock* lk;
+ /* In glibc's kludgey world, we're either initialising or unlocking
+ it. Since this is the pre-routine, if it is locked, unlock it
+ and take a dependence edge. Otherwise, do nothing. */
+
+ if (SHOW_EVENTS >= 1)
+ VG_(printf)("evh__hg_PTHREAD_SPIN_INIT_OR_UNLOCK_PRE"
+ "(ctid=%d, slock=%p)\n",
+ (Int)tid, (void*)slock );
+
+ thr = map_threads_maybe_lookup( tid );
+ /* cannot fail - Thread* must already exist */;
+ tl_assert( HG_(is_sane_Thread)(thr) );
+
+ lk = map_locks_maybe_lookup( (Addr)slock );
+ if (lk && lk->heldBy) {
+ /* it's held. So do the normal pre-unlock actions, as copied
+ from evh__HG_PTHREAD_MUTEX_UNLOCK_PRE. This stupidly
+ duplicates the map_locks_maybe_lookup. */
+ evhH__pre_thread_releases_lock( thr, (Addr)slock,
+ False/*!isRDWR*/ );
+ }
+}
+
+static void evh__HG_PTHREAD_SPIN_INIT_OR_UNLOCK_POST( ThreadId tid,
+ void* slock )
+{
+ Lock* lk;
+ /* More kludgery. If the lock has never been seen before, do
+ actions as per evh__HG_PTHREAD_MUTEX_INIT_POST. Else do
+ nothing. */
+
+ if (SHOW_EVENTS >= 1)
+ VG_(printf)("evh__hg_PTHREAD_SPIN_INIT_OR_UNLOCK_POST"
+ "(ctid=%d, slock=%p)\n",
+ (Int)tid, (void*)slock );
+
+ lk = map_locks_maybe_lookup( (Addr)slock );
+ if (!lk) {
+ map_locks_lookup_or_create( LK_nonRec, (Addr)slock, tid );
+ }
+}
+
+static void evh__HG_PTHREAD_SPIN_LOCK_PRE( ThreadId tid,
+ void* slock, Word isTryLock )
+{
+ evh__HG_PTHREAD_MUTEX_LOCK_PRE( tid, slock, isTryLock );
+}
+
+static void evh__HG_PTHREAD_SPIN_LOCK_POST( ThreadId tid,
+ void* slock )
+{
+ evh__HG_PTHREAD_MUTEX_LOCK_POST( tid, slock );
+}
+
+static void evh__HG_PTHREAD_SPIN_DESTROY_PRE( ThreadId tid,
+ void* slock )
+{
+ evh__HG_PTHREAD_MUTEX_DESTROY_PRE( tid, slock );
+}
+
+
/* ----------------------------------------------------- */
/* --------------- events to do with CVs --------------- */
/* ----------------------------------------------------- */
@@ -4144,6 +4217,31 @@
evh__HG_PTHREAD_BARRIER_DESTROY_PRE( tid, (void*)args[1] );
break;
+ case _VG_USERREQ__HG_PTHREAD_SPIN_INIT_OR_UNLOCK_PRE:
+ /* pth_spinlock_t* */
+ evh__HG_PTHREAD_SPIN_INIT_OR_UNLOCK_PRE( tid, (void*)args[1] );
+ break;
+
+ case _VG_USERREQ__HG_PTHREAD_SPIN_INIT_OR_UNLOCK_POST:
+ /* pth_spinlock_t* */
+ evh__HG_PTHREAD_SPIN_INIT_OR_UNLOCK_POST( tid, (void*)args[1] );
+ break;
+
+ case _VG_USERREQ__HG_PTHREAD_SPIN_LOCK_PRE:
+ /* pth_spinlock_t*, Word */
+ evh__HG_PTHREAD_SPIN_LOCK_PRE( tid, (void*)args[1], args[2] );
+ break;
+
+ case _VG_USERREQ__HG_PTHREAD_SPIN_LOCK_POST:
+ /* pth_spinlock_t* */
+ evh__HG_PTHREAD_SPIN_LOCK_POST( tid, (void*)args[1] );
+ break;
+
+ case _VG_USERREQ__HG_PTHREAD_SPIN_DESTROY_PRE:
+ /* pth_spinlock_t* */
+ evh__HG_PTHREAD_SPIN_DESTROY_PRE( tid, (void*)args[1] );
+ break;
+
default:
/* Unhandled Helgrind client request! */
tl_assert2(0, "unhandled Helgrind client request 0x%lx",
Modified: trunk/helgrind/tests/Makefile.am
===================================================================
--- trunk/helgrind/tests/Makefile.am 2009-08-11 01:03:55 UTC (rev 10774)
+++ trunk/helgrind/tests/Makefile.am 2009-08-11 10:35:58 UTC (rev 10775)
@@ -16,6 +16,7 @@
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 \
+ pth_spinlock.vgtest pth_spinlock.stdout.exp pth_spinlock.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 \
Added: trunk/helgrind/tests/pth_spinlock.stderr.exp
===================================================================
--- trunk/helgrind/tests/pth_spinlock.stderr.exp (rev 0)
+++ trunk/helgrind/tests/pth_spinlock.stderr.exp 2009-08-11 10:35:58 UTC (rev 10775)
@@ -0,0 +1,2 @@
+Start of test.
+Test successful.
Added: trunk/helgrind/tests/pth_spinlock.stdout.exp
===================================================================
Added: trunk/helgrind/tests/pth_spinlock.vgtest
===================================================================
--- trunk/helgrind/tests/pth_spinlock.vgtest (rev 0)
+++ trunk/helgrind/tests/pth_spinlock.vgtest 2009-08-11 10:35:58 UTC (rev 10775)
@@ -0,0 +1,3 @@
+prereq: test -e ../../drd/tests/pth_spinlock
+vgopts: -q
+prog: ../../drd/tests/pth_spinlock
|
|
From: Bart V. A. <bar...@gm...> - 2009-08-11 08:00:14
|
Nightly build on georgia-tech-cellbuzz-native ( cellbuzz, ppc64, Fedora 7, native ) Started at 2009-08-11 02:15:44 EDT Ended at 2009-08-11 03:59:48 EDT Results differ from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... done Regression test results follow == 438 tests, 45 stderr failures, 9 stdout failures, 0 post failures == memcheck/tests/deep_templates (stdout) memcheck/tests/leak-cases-full (stderr) memcheck/tests/leak-cases-summary (stderr) memcheck/tests/leak-cycle (stderr) memcheck/tests/origin5-bz2 (stderr) memcheck/tests/partiallydefinedeq (stderr) memcheck/tests/varinfo1 (stderr) memcheck/tests/varinfo2 (stderr) memcheck/tests/varinfo3 (stderr) memcheck/tests/varinfo4 (stderr) memcheck/tests/varinfo5 (stderr) memcheck/tests/varinfo6 (stderr) memcheck/tests/wrap8 (stderr) none/tests/empty-exe (stderr) none/tests/linux/mremap (stderr) none/tests/ppc32/jm-fp (stdout) none/tests/ppc32/jm-vmx (stdout) none/tests/ppc32/round (stdout) none/tests/ppc32/test_gx (stdout) none/tests/ppc64/jm-fp (stdout) none/tests/ppc64/jm-vmx (stdout) none/tests/ppc64/round (stdout) none/tests/shell (stdout) none/tests/shell (stderr) none/tests/shell_valid1 (stderr) none/tests/shell_valid2 (stderr) none/tests/shell_valid3 (stderr) none/tests/shell_zerolength (stderr) helgrind/tests/hg05_race2 (stderr) helgrind/tests/tc06_two_races_xml (stderr) helgrind/tests/tc22_exit_w_lock (stderr) helgrind/tests/tc23_bogus_condwait (stderr) exp-ptrcheck/tests/bad_percentify (stderr) exp-ptrcheck/tests/base (stderr) exp-ptrcheck/tests/ccc (stderr) exp-ptrcheck/tests/fp (stderr) exp-ptrcheck/tests/globalerr (stderr) exp-ptrcheck/tests/hackedbz2 (stderr) exp-ptrcheck/tests/hp_bounds (stderr) exp-ptrcheck/tests/hp_dangle (stderr) exp-ptrcheck/tests/hsg (stderr) exp-ptrcheck/tests/justify (stderr) exp-ptrcheck/tests/partial_bad (stderr) exp-ptrcheck/tests/partial_good (stderr) exp-ptrcheck/tests/preen_invars (stderr) exp-ptrcheck/tests/pth_create (stderr) exp-ptrcheck/tests/pth_specific (stderr) exp-ptrcheck/tests/realloc (stderr) exp-ptrcheck/tests/stackerr (stderr) exp-ptrcheck/tests/strcpy (stderr) exp-ptrcheck/tests/supp (stderr) exp-ptrcheck/tests/tricky (stderr) exp-ptrcheck/tests/unaligned (stderr) exp-ptrcheck/tests/zero (stderr) ================================================= == Results from 24 hours ago == ================================================= Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... done Regression test results follow == 437 tests, 45 stderr failures, 9 stdout failures, 0 post failures == memcheck/tests/deep_templates (stdout) memcheck/tests/leak-cases-full (stderr) memcheck/tests/leak-cases-summary (stderr) memcheck/tests/leak-cycle (stderr) memcheck/tests/origin5-bz2 (stderr) memcheck/tests/partiallydefinedeq (stderr) memcheck/tests/varinfo1 (stderr) memcheck/tests/varinfo2 (stderr) memcheck/tests/varinfo3 (stderr) memcheck/tests/varinfo4 (stderr) memcheck/tests/varinfo5 (stderr) memcheck/tests/varinfo6 (stderr) memcheck/tests/wrap8 (stderr) none/tests/empty-exe (stderr) none/tests/linux/mremap (stderr) none/tests/ppc32/jm-fp (stdout) none/tests/ppc32/jm-vmx (stdout) none/tests/ppc32/round (stdout) none/tests/ppc32/test_gx (stdout) none/tests/ppc64/jm-fp (stdout) none/tests/ppc64/jm-vmx (stdout) none/tests/ppc64/round (stdout) none/tests/shell (stdout) none/tests/shell (stderr) none/tests/shell_valid1 (stderr) none/tests/shell_valid2 (stderr) none/tests/shell_valid3 (stderr) none/tests/shell_zerolength (stderr) helgrind/tests/hg05_race2 (stderr) helgrind/tests/tc06_two_races_xml (stderr) helgrind/tests/tc22_exit_w_lock (stderr) helgrind/tests/tc23_bogus_condwait (stderr) exp-ptrcheck/tests/bad_percentify (stderr) exp-ptrcheck/tests/base (stderr) exp-ptrcheck/tests/ccc (stderr) exp-ptrcheck/tests/fp (stderr) exp-ptrcheck/tests/globalerr (stderr) exp-ptrcheck/tests/hackedbz2 (stderr) exp-ptrcheck/tests/hp_bounds (stderr) exp-ptrcheck/tests/hp_dangle (stderr) exp-ptrcheck/tests/hsg (stderr) exp-ptrcheck/tests/justify (stderr) exp-ptrcheck/tests/partial_bad (stderr) exp-ptrcheck/tests/partial_good (stderr) exp-ptrcheck/tests/preen_invars (stderr) exp-ptrcheck/tests/pth_create (stderr) exp-ptrcheck/tests/pth_specific (stderr) exp-ptrcheck/tests/realloc (stderr) exp-ptrcheck/tests/stackerr (stderr) exp-ptrcheck/tests/strcpy (stderr) exp-ptrcheck/tests/supp (stderr) exp-ptrcheck/tests/tricky (stderr) exp-ptrcheck/tests/unaligned (stderr) exp-ptrcheck/tests/zero (stderr) ================================================= == Difference between 24 hours ago and now == ================================================= *** old.short Tue Aug 11 03:08:30 2009 --- new.short Tue Aug 11 03:59:48 2009 *************** *** 8,10 **** ! == 437 tests, 45 stderr failures, 9 stdout failures, 0 post failures == memcheck/tests/deep_templates (stdout) --- 8,10 ---- ! == 438 tests, 45 stderr failures, 9 stdout failures, 0 post failures == memcheck/tests/deep_templates (stdout) |
|
From: Tom H. <th...@cy...> - 2009-08-11 02:47:21
|
Nightly build on lloyd ( x86_64, Fedora 7 ) Started at 2009-08-11 03:05:03 BST Ended at 2009-08-11 03:47:03 BST Results differ from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 521 tests, 1 stderr failure, 0 stdout failures, 0 post failures == helgrind/tests/tc06_two_races_xml (stderr) ================================================= == Results from 24 hours ago == ================================================= Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 520 tests, 1 stderr failure, 0 stdout failures, 0 post failures == helgrind/tests/tc06_two_races_xml (stderr) ================================================= == Difference between 24 hours ago and now == ================================================= *** old.short Tue Aug 11 03:26:10 2009 --- new.short Tue Aug 11 03:47:03 2009 *************** *** 8,10 **** ! == 520 tests, 1 stderr failure, 0 stdout failures, 0 post failures == helgrind/tests/tc06_two_races_xml (stderr) --- 8,10 ---- ! == 521 tests, 1 stderr failure, 0 stdout failures, 0 post failures == helgrind/tests/tc06_two_races_xml (stderr) |
|
From: Tom H. <th...@cy...> - 2009-08-11 02:30:56
|
Nightly build on mg ( x86_64, Fedora 9 ) Started at 2009-08-11 03:10:05 BST Ended at 2009-08-11 03:30:36 BST Results differ from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 528 tests, 1 stderr failure, 0 stdout failures, 0 post failures == helgrind/tests/tc06_two_races_xml (stderr) ================================================= == Results from 24 hours ago == ================================================= Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 527 tests, 1 stderr failure, 0 stdout failures, 0 post failures == helgrind/tests/tc06_two_races_xml (stderr) ================================================= == Difference between 24 hours ago and now == ================================================= *** old.short Tue Aug 11 03:20:20 2009 --- new.short Tue Aug 11 03:30:36 2009 *************** *** 8,10 **** ! == 527 tests, 1 stderr failure, 0 stdout failures, 0 post failures == helgrind/tests/tc06_two_races_xml (stderr) --- 8,10 ---- ! == 528 tests, 1 stderr failure, 0 stdout failures, 0 post failures == helgrind/tests/tc06_two_races_xml (stderr) |
|
From: <sv...@va...> - 2009-08-11 01:04:03
|
Author: njn Date: 2009-08-11 02:03:55 +0100 (Tue, 11 Aug 2009) New Revision: 10774 Log: add missing scripts Modified: trunk/exp-bbv/tests/Makefile.am Modified: trunk/exp-bbv/tests/Makefile.am =================================================================== --- trunk/exp-bbv/tests/Makefile.am 2009-08-11 00:52:40 UTC (rev 10773) +++ trunk/exp-bbv/tests/Makefile.am 2009-08-11 01:03:55 UTC (rev 10774) @@ -19,6 +19,10 @@ DIST_SUBDIRS = x86 x86-linux amd64-linux ppc32-linux . +dist_noinst_SCRIPTS = \ + filter_bb \ + filter_stderr + EXTRA_DIST = \ logo.include logo.lzss_new |
|
From: Nicholas N. <n.n...@gm...> - 2009-08-11 01:01:02
|
On Mon, Aug 10, 2009 at 11:42 PM, Julian Seward<js...@ac...> wrote: > On Monday 10 August 2009, sv...@va... wrote: >> Author: njn >> Date: 2009-08-10 08:50:00 +0100 (Mon, 10 Aug 2009) >> New Revision: 10767 >> >> Log: >> Count leak as errors. Fixes bug 152393. > > But then we get this: > > ==29908== ERROR SUMMARY: 71 errors from 0 contexts (suppressed: 111 from 2) > > which is confusing. I'm wondering if there's a different way to fix > 152393, perhaps by adding a --warning-exitcode= flag. Problem is the > core has no notion of major vs minor errors. Hmm. I think treating (definitely lost and possibly lost) leaks as errors is the right thing to do. The context counting was just broken. It's fixed in r10773. Nick |
|
From: Nicholas N. <n.n...@gm...> - 2009-08-11 00:58:48
|
[ Please accept our apologies if you received multiple copies ] -------------------------------- CALL FOR PAPERS -------------------------------- WORKSHOP ON BINARY INSTRUMENTATION SYSTEMS AND ANALYSIS Held in Conjunction with MICRO-42 New York City December 12, 2009 http://www.dyninst.org/wbia09 For questions or comments, please contact: wbia09 (at) dyninst.org ------------------------------- IMPORTANT DATES ------------------------------- 10/16 abstracts due 10/30 notification of acceptance 11/20 final papers due This workshop provides a forum for researchers to present their work on instrumentation systems and applications. Instrumentation has been shown to be an effective technique to support program analysis, debugging, security, and simulation. A number of instrumentation tools and runtime systems have been developed. Instrumentation can be effectively implemented statically (at compile or link time) or dynamically (at run time). This workshop will provide researchers with an opportunity to exchange ideas and learn about new tools and applications. This workshop will consider papers that address a range of topics, including: Instrumentation toolsets Program profiling Dynamic optimization Quantitative metrics for binary instrumentation systems Microarchitectural studies Security applications Software testing and correctness New applications for instrumentation Instrumentation tools used in compiler and architecture education Submissions guidelines: Authors should submit a 3 page double spaced extended abstract by 5pm PST September 1 to wbia09 (at) dyninst.org. Final papers will be 10 pages. The proceedings will be published as part of the ACM International Conference Proceedings Series and will be available in the ACM digital library. ------------------------------ Program Committee: ------------------------------ Derek Bruening, VMware Bruce Childers, University of Pittsburgh Robert Cohn, Intel Saumya Debray, University of Airzona Koen De Bosschere, Ghent University Sebastian Fischmeister, University of Waterloo Jeff Hollingsworth, University of Maryland Robert Hundt, Google Naveen Kumar, VMware Greg Lueck, Intel Nicholas Nethercote, Mozilla Stelios Sidiroglou, MIT Alex Skaletsky, Intel Mustafa Tikir, SDSC --------------------------------- Organizing Committee: --------------------------------- Robert Cohn, Intel Jeff Hollingsworth, University of Maryland Naveen Kumar, VMware |
|
From: <sv...@va...> - 2009-08-11 00:52:55
|
Author: njn
Date: 2009-08-11 01:52:40 +0100 (Tue, 11 Aug 2009)
New Revision: 10773
Log:
Count error contexts properly in VG_(unique_error). Avoids the problem seen
of "5 errors from 0 contexts" with leak errors.
Modified:
trunk/NEWS
trunk/coregrind/m_errormgr.c
trunk/memcheck/mc_leakcheck.c
Modified: trunk/NEWS
===================================================================
--- trunk/NEWS 2009-08-11 00:18:31 UTC (rev 10772)
+++ trunk/NEWS 2009-08-11 00:52:40 UTC (rev 10773)
@@ -77,6 +77,10 @@
- The default value for the --leak-resolution option has been changed from
"low" to "high". In general, this means that more leak reports will be
produced, but each leak report will describe fewer leaked blocks.
+ - "Definitely lost" and "possibly lost" leaks are now considered as normal
+ errors, ie. they are counted for the "ERROR SUMMARY" and
+ --error-exitcode. This is true even if their loss records aren't
+ printed, ie. if you run with --leak-check=summary.
- The documentation for the leak checker has also been improved.
* XXX: Atomic instructions are now handled properly...
Modified: trunk/coregrind/m_errormgr.c
===================================================================
--- trunk/coregrind/m_errormgr.c 2009-08-11 00:18:31 UTC (rev 10772)
+++ trunk/coregrind/m_errormgr.c 2009-08-11 00:52:40 UTC (rev 10773)
@@ -79,6 +79,13 @@
/* Running count of suppressed errors detected. */
static UInt n_errs_suppressed = 0;
+/* Running count of unsuppressed error contexts. */
+static UInt n_err_contexts = 0;
+
+/* Running count of suppressed error contexts. */
+static UInt n_supp_contexts = 0;
+
+
/* forwards ... */
static Supp* is_suppressible_error ( Error* err );
@@ -712,6 +719,7 @@
p->supp = is_suppressible_error(&err);
errors = p;
if (p->supp == NULL) {
+ n_err_contexts++;
n_errs_found++;
/* A bit of prettyprinting, to ensure there's a blank line
in between each error. */
@@ -727,6 +735,7 @@
is_first_shown_context = False;
n_errs_shown++;
} else {
+ n_supp_contexts++;
n_errs_suppressed++;
p->supp->count++;
}
@@ -760,8 +769,10 @@
su = is_suppressible_error(&err);
if (NULL == su) {
- if (count_error)
+ if (count_error) {
n_errs_found++;
+ n_err_contexts++;
+ }
if (print_error) {
/* A bit of prettyprinting, to ensure there's a blank line
@@ -782,6 +793,7 @@
} else {
n_errs_suppressed++;
+ n_supp_contexts++;
su->count++;
return True;
}
@@ -833,28 +845,13 @@
void VG_(show_all_errors) ( void )
{
Int i, n_min;
- Int n_err_contexts, n_supp_contexts;
Error *p, *p_min;
- Supp *su;
Bool any_supp;
if (VG_(clo_verbosity) == 0)
return;
- n_err_contexts = 0;
- for (p = errors; p != NULL; p = p->next) {
- if (p->supp == NULL)
- n_err_contexts++;
- }
-
- n_supp_contexts = 0;
- for (su = suppressions; su != NULL; su = su->next) {
- if (su->count > 0)
- n_supp_contexts++;
- }
-
- /* If we're printing XML, just show the suppressions and stop.
- */
+ /* If we're printing XML, just show the suppressions and stop. */
if (VG_(clo_xml)) {
(void)show_used_suppressions();
return;
Modified: trunk/memcheck/mc_leakcheck.c
===================================================================
--- trunk/memcheck/mc_leakcheck.c 2009-08-11 00:18:31 UTC (rev 10772)
+++ trunk/memcheck/mc_leakcheck.c 2009-08-11 00:52:40 UTC (rev 10773)
@@ -842,6 +842,9 @@
// includes indirectly lost blocks!
//
lr = lr_array[i];
+ // You could argue that indirect leaks should be counted as errors, but
+ // it seems better to make the counting criteria similar to the printing
+ // criteria. So we don't count them.
count_as_error = Unreached == lr->key.state ||
Possible == lr->key.state;
print_record = is_full_check &&
|
|
From: <sv...@va...> - 2009-08-11 00:28:25
|
Author: njn Date: 2009-08-11 01:18:31 +0100 (Tue, 11 Aug 2009) New Revision: 10772 Log: add a missing script Modified: trunk/drd/tests/Makefile.am Modified: trunk/drd/tests/Makefile.am =================================================================== --- trunk/drd/tests/Makefile.am 2009-08-10 19:39:02 UTC (rev 10771) +++ trunk/drd/tests/Makefile.am 2009-08-11 00:18:31 UTC (rev 10772) @@ -6,7 +6,8 @@ filter_stderr \ filter_stderr_and_thread_no \ run_openmp_test \ - supported_libpthread + supported_libpthread \ + supported_sem_init noinst_HEADERS = \ tsan_thread_wrappers_pthread.h |
|
From: Nicholas N. <n.n...@gm...> - 2009-08-11 00:26:51
|
Hi, Progress towards 3.5.0 is going well. We're down to four blockers: 200760 nor NOR othe nj...@va... ASSI darwin unhandled syscall: unix:284 200029 nor NOR Linu js...@ac... REOP valgrind isn't able to read Fedora 12 debuginfo 199338 nor NOR Linu josef.weidendorfer ASSI callgrind_annotate sorting/thresholds are broken for all but Ir 191189 wis NOR Linu js...@ac... ASSI --xml=yes should obey --gen-suppressions=all I should get to 200760 today or tomorrow. Julian has committed a fix for 200029 and is just waiting on nightly tests to confirm it. He also will soon get to 191189, which is pretty easy. Josef, will you be able to fix 199338 in the next 2 or 3 days? Julian wants to build a release candidate on Friday, so it would be good (well, mandatory, really) to have all blockers fixed by then. We also have 50 wanted3.5.0 bugs open, but it looks like only 1 or 2 of them will be done, although please feel free to work on them if you like. Nick |