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
(17) |
2
(11) |
3
(6) |
4
(6) |
|
5
(10) |
6
(5) |
7
(3) |
8
(7) |
9
(4) |
10
(4) |
11
(3) |
|
12
(3) |
13
(17) |
14
(18) |
15
(32) |
16
(22) |
17
(18) |
18
(10) |
|
19
(4) |
20
(3) |
21
(8) |
22
(15) |
23
(32) |
24
(28) |
25
(18) |
|
26
(20) |
27
(16) |
28
(28) |
29
(28) |
30
(27) |
|
|
|
From: Nicholas N. <n.n...@gm...> - 2009-04-16 22:44:45
|
On Fri, Apr 17, 2009 at 8:33 AM, Filipe Cabecinhas <fi...@gm...> wrote:
>
> I don't know much about the darwin kernel (yet ;-) ) so I started with a
> simpler test... In your notes, the test for post-syscall has something
> about an undefined value error in alarm()...
>
> I made a small program that uses alarm (setup + infinite loop + exit()
> in the handler) and verified that it is indeed in libSystem:
> (I'm running with origin tracking enabled)
> --------------
> ==33057== Conditional jump or move depends on uninitialised value(s)
> ==33057== at 0x264EB2: alarm (in /usr/lib/libSystem.B.dylib)
> ==33057== by 0x1FEA: main (in ./a)
> ==33057== Uninitialised value was created by a stack allocation
> ==33057== at 0x264E6C: alarm (in /usr/lib/libSystem.B.dylib)
> ----------------------
>
> So I suppose we could add something like (I'm no suppression genius):
> {
> macos-Cond-alarm
> Memcheck:Cond
> fun:alarm
> }
>
> But this seems rather small... I don't know if there's a way to force
> this alarm() function to be in /usr/lib/libSystem* or if adding an
> "obj:" will make valgrind expect two calls inside libSystem.
It would be hard to do a less general suppression. Before we do that,
I'd rather know why we're getting the error, whether it's genuine or a
false positive, etc.
Nick
|
|
From: Filipe C. <fi...@gm...> - 2009-04-16 22:33:47
|
Hi,
I don't know much about the darwin kernel (yet ;-) ) so I started with a
simpler test... In your notes, the test for post-syscall has something
about an undefined value error in alarm()...
I made a small program that uses alarm (setup + infinite loop + exit()
in the handler) and verified that it is indeed in libSystem:
(I'm running with origin tracking enabled)
--------------
==33057== Conditional jump or move depends on uninitialised value(s)
==33057== at 0x264EB2: alarm (in /usr/lib/libSystem.B.dylib)
==33057== by 0x1FEA: main (in ./a)
==33057== Uninitialised value was created by a stack allocation
==33057== at 0x264E6C: alarm (in /usr/lib/libSystem.B.dylib)
----------------------
So I suppose we could add something like (I'm no suppression genius):
{
macos-Cond-alarm
Memcheck:Cond
fun:alarm
}
But this seems rather small... I don't know if there's a way to force
this alarm() function to be in /usr/lib/libSystem* or if adding an
"obj:" will make valgrind expect two calls inside libSystem.
That's the first one... I'll see another when I have time (and the
lsframe* tests are really weird...)
Regards,
F
|
|
From: Nicholas N. <n.n...@gm...> - 2009-04-16 17:42:31
|
Nightly build on ocean32 ( Ubuntu 8.10, Intel x86-64 (32-bit only) ) started at 2009-04-17 03:00:01 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
== 445 tests, 7 stderr failures, 2 stdout failures, 0 post failures ==
memcheck/tests/linux/stack_switch (stderr)
memcheck/tests/origin1-yes (stderr)
memcheck/tests/origin5-bz2 (stderr)
none/tests/linux/mremap2 (stdout)
none/tests/shell (stdout)
none/tests/shell (stderr)
none/tests/shell_valid1 (stderr)
none/tests/shell_valid2 (stderr)
none/tests/shell_valid3 (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
== 446 tests, 7 stderr failures, 2 stdout failures, 0 post failures ==
memcheck/tests/linux/stack_switch (stderr)
memcheck/tests/origin1-yes (stderr)
memcheck/tests/origin5-bz2 (stderr)
none/tests/linux/mremap2 (stdout)
none/tests/shell (stdout)
none/tests/shell (stderr)
none/tests/shell_valid1 (stderr)
none/tests/shell_valid2 (stderr)
none/tests/shell_valid3 (stderr)
=================================================
== Difference between 24 hours ago and now ==
=================================================
*** old.short Fri Apr 17 03:22:44 2009
--- new.short Fri Apr 17 03:42:17 2009
***************
*** 8,10 ****
! == 446 tests, 7 stderr failures, 2 stdout failures, 0 post failures ==
memcheck/tests/linux/stack_switch (stderr)
--- 8,10 ----
! == 445 tests, 7 stderr failures, 2 stdout failures, 0 post failures ==
memcheck/tests/linux/stack_switch (stderr)
=================================================
./valgrind/memcheck/tests/linux/stack_switch.stderr.diff
=================================================
--- stack_switch.stderr.exp 2009-04-17 03:24:13.000000000 +1000
+++ stack_switch.stderr.out 2009-04-17 03:40:25.000000000 +1000
@@ -0,0 +1,2 @@
+Syscall param clone(child_tidptr) contains uninitialised byte(s)
+ ...
=================================================
./valgrind/memcheck/tests/origin1-yes.stderr.diff
=================================================
--- origin1-yes.stderr.exp 2009-04-17 03:24:19.000000000 +1000
+++ origin1-yes.stderr.out 2009-04-17 03:40:41.000000000 +1000
@@ -47,7 +47,7 @@
Conditional jump or move depends on uninitialised value(s)
at 0x........: main (origin1-yes.c:93)
Uninitialised value was created
- at 0x........: brk (in /...libc...)
+ at 0x........: ??? (in /lib32/ld-2.8.90.so)
by 0x........: sbrk (in /...libc...)
by 0x........: main (origin1-yes.c:90)
=================================================
./valgrind/memcheck/tests/origin5-bz2.stderr.diff-glibc25-amd64
=================================================
--- origin5-bz2.stderr.exp-glibc25-amd64 2009-04-17 03:24:19.000000000 +1000
+++ origin5-bz2.stderr.out 2009-04-17 03:40:45.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/memcheck/tests/origin5-bz2.stderr.diff-glibc25-x86
=================================================
--- origin5-bz2.stderr.exp-glibc25-x86 2009-04-17 03:24:19.000000000 +1000
+++ origin5-bz2.stderr.out 2009-04-17 03:40:45.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/memcheck/tests/origin5-bz2.stderr.diff-glibc27-ppc64
=================================================
--- origin5-bz2.stderr.exp-glibc27-ppc64 2009-04-17 03:24:19.000000000 +1000
+++ origin5-bz2.stderr.out 2009-04-17 03:40:45.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/none/tests/linux/mremap2.stdout.diff
=================================================
--- mremap2.stdout.exp 2009-04-17 03:25:32.000000000 +1000
+++ mremap2.stdout.out 2009-04-17 03:41:46.000000000 +1000
@@ -27,38 +27,38 @@
..................................................
..................................................
-maymv 0 fixed 0 newsz 21 dstpo 0 dst 0x........ -> 0x........ (== src)
-XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXX.........XXXXXXXXXX
+maymv 0 fixed 0 newsz 21 dstpo 0 dst 0x........ -> error 12
+XXXXXXXXX.XXXXXXXXXXXXXXXXXXXX..........XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
..................................................
..................................................
-maymv 0 fixed 0 newsz 21 dstpo 1 dst 0x........ -> 0x........ (== src)
-XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXX.........XXXXXXXXXX
+maymv 0 fixed 0 newsz 21 dstpo 1 dst 0x........ -> error 12
+XXXXXXXXX.XXXXXXXXXXXXXXXXXXXX..........XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
..................................................
..................................................
-maymv 0 fixed 0 newsz 29 dstpo 0 dst 0x........ -> 0x........ (== src)
-XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXXXXXXXXXX.XXXXXXXXXX
+maymv 0 fixed 0 newsz 29 dstpo 0 dst 0x........ -> error 12
+XXXXXXXXX.XXXXXXXXXXXXXXXXXXXX..........XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
..................................................
..................................................
-maymv 0 fixed 0 newsz 29 dstpo 1 dst 0x........ -> 0x........ (== src)
-XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXXXXXXXXXX.XXXXXXXXXX
+maymv 0 fixed 0 newsz 29 dstpo 1 dst 0x........ -> error 12
+XXXXXXXXX.XXXXXXXXXXXXXXXXXXXX..........XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
..................................................
..................................................
-maymv 0 fixed 0 newsz 30 dstpo 0 dst 0x........ -> 0x........ (== src)
-XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+maymv 0 fixed 0 newsz 30 dstpo 0 dst 0x........ -> error 12
+XXXXXXXXX.XXXXXXXXXXXXXXXXXXXX..........XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
..................................................
..................................................
-maymv 0 fixed 0 newsz 30 dstpo 1 dst 0x........ -> 0x........ (== src)
-XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+maymv 0 fixed 0 newsz 30 dstpo 1 dst 0x........ -> error 12
+XXXXXXXXX.XXXXXXXXXXXXXXXXXXXX..........XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
..................................................
..................................................
@@ -173,40 +173,40 @@
..................................................
..................................................
-maymv 1 fixed 0 newsz 21 dstpo 0 dst 0x........ -> 0x........ (== src)
-XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXX.........XXXXXXXXXX
+maymv 1 fixed 0 newsz 21 dstpo 0 dst 0x........ -> 0x........ (== other)
+XXXXXXXXX...............................XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-..................................................
+XXXXXXXXXXXXXXXXXXXXX.............................
..................................................
-maymv 1 fixed 0 newsz 21 dstpo 1 dst 0x........ -> 0x........ (== src)
-XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXX.........XXXXXXXXXX
+maymv 1 fixed 0 newsz 21 dstpo 1 dst 0x........ -> 0x........ (== other)
+XXXXXXXXX...............................XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-..................................................
+XXXXXXXXXXXXXXXXXXXXX.............................
..................................................
-maymv 1 fixed 0 newsz 29 dstpo 0 dst 0x........ -> 0x........ (== src)
-XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXXXXXXXXXX.XXXXXXXXXX
+maymv 1 fixed 0 newsz 29 dstpo 0 dst 0x........ -> 0x........ (== other)
+XXXXXXXXX...............................XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-..................................................
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXX.....................
..................................................
-maymv 1 fixed 0 newsz 29 dstpo 1 dst 0x........ -> 0x........ (== src)
-XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXXXXXXXXXX.XXXXXXXXXX
+maymv 1 fixed 0 newsz 29 dstpo 1 dst 0x........ -> 0x........ (== other)
+XXXXXXXXX...............................XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-..................................................
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXX.....................
..................................................
-maymv 1 fixed 0 newsz 30 dstpo 0 dst 0x........ -> 0x........ (== src)
-XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+maymv 1 fixed 0 newsz 30 dstpo 0 dst 0x........ -> 0x........ (== other)
+XXXXXXXXX...............................XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-..................................................
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX....................
<truncated beyond 100 lines>
=================================================
./valgrind/none/tests/linux/mremap2.stdout.diff-glibc28-amd64
=================================================
--- mremap2.stdout.exp-glibc28-amd64 2009-04-17 03:25:32.000000000 +1000
+++ mremap2.stdout.out 2009-04-17 03:41:46.000000000 +1000
@@ -176,49 +176,49 @@
maymv 1 fixed 0 newsz 21 dstpo 0 dst 0x........ -> 0x........ (== other)
XXXXXXXXX...............................XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-..................................................
+XXXXXXXXXXXXXXXXXXXXX.............................
..................................................
maymv 1 fixed 0 newsz 21 dstpo 1 dst 0x........ -> 0x........ (== other)
XXXXXXXXX...............................XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-..................................................
+XXXXXXXXXXXXXXXXXXXXX.............................
..................................................
maymv 1 fixed 0 newsz 29 dstpo 0 dst 0x........ -> 0x........ (== other)
XXXXXXXXX...............................XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-..................................................
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXX.....................
..................................................
maymv 1 fixed 0 newsz 29 dstpo 1 dst 0x........ -> 0x........ (== other)
XXXXXXXXX...............................XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-..................................................
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXX.....................
..................................................
maymv 1 fixed 0 newsz 30 dstpo 0 dst 0x........ -> 0x........ (== other)
XXXXXXXXX...............................XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-..................................................
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX....................
..................................................
maymv 1 fixed 0 newsz 30 dstpo 1 dst 0x........ -> 0x........ (== other)
XXXXXXXXX...............................XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-..................................................
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX....................
..................................................
maymv 1 fixed 0 newsz 31 dstpo 0 dst 0x........ -> 0x........ (== other)
XXXXXXXXX...............................XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-..................................................
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX...................
..................................................
maymv 1 fixed 0 newsz 31 dstpo 1 dst 0x........ -> 0x........ (== other)
XXXXXXXXX...............................XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-..................................................
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX...................
..................................................
=================================================
./valgrind/none/tests/linux/mremap2.stdout.diff2
=================================================
--- mremap2.stdout.exp2 2009-04-17 03:25:32.000000000 +1000
+++ mremap2.stdout.out 2009-04-17 03:41:46.000000000 +1000
@@ -27,38 +27,38 @@
..................................................
..................................................
-maymv 0 fixed 0 newsz 21 dstpo 0 dst 0x........ -> 0x........ (== src)
-XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXX.........XXXXXXXXXX
+maymv 0 fixed 0 newsz 21 dstpo 0 dst 0x........ -> error 12
+XXXXXXXXX.XXXXXXXXXXXXXXXXXXXX..........XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
..................................................
..................................................
-maymv 0 fixed 0 newsz 21 dstpo 1 dst 0x........ -> 0x........ (== src)
-XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXX.........XXXXXXXXXX
+maymv 0 fixed 0 newsz 21 dstpo 1 dst 0x........ -> error 12
+XXXXXXXXX.XXXXXXXXXXXXXXXXXXXX..........XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
..................................................
..................................................
-maymv 0 fixed 0 newsz 29 dstpo 0 dst 0x........ -> 0x........ (== src)
-XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXXXXXXXXXX.XXXXXXXXXX
+maymv 0 fixed 0 newsz 29 dstpo 0 dst 0x........ -> error 12
+XXXXXXXXX.XXXXXXXXXXXXXXXXXXXX..........XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
..................................................
..................................................
-maymv 0 fixed 0 newsz 29 dstpo 1 dst 0x........ -> 0x........ (== src)
-XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXXXXXXXXXX.XXXXXXXXXX
+maymv 0 fixed 0 newsz 29 dstpo 1 dst 0x........ -> error 12
+XXXXXXXXX.XXXXXXXXXXXXXXXXXXXX..........XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
..................................................
..................................................
-maymv 0 fixed 0 newsz 30 dstpo 0 dst 0x........ -> 0x........ (== src)
-XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+maymv 0 fixed 0 newsz 30 dstpo 0 dst 0x........ -> error 12
+XXXXXXXXX.XXXXXXXXXXXXXXXXXXXX..........XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
..................................................
..................................................
-maymv 0 fixed 0 newsz 30 dstpo 1 dst 0x........ -> 0x........ (== src)
-XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+maymv 0 fixed 0 newsz 30 dstpo 1 dst 0x........ -> error 12
+XXXXXXXXX.XXXXXXXXXXXXXXXXXXXX..........XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
..................................................
..................................................
@@ -173,52 +173,52 @@
..................................................
..................................................
-maymv 1 fixed 0 newsz 21 dstpo 0 dst 0x........ -> 0x........ (== src)
-XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXX.........XXXXXXXXXX
+maymv 1 fixed 0 newsz 21 dstpo 0 dst 0x........ -> 0x........ (== other)
+XXXXXXXXX...............................XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-..................................................
+XXXXXXXXXXXXXXXXXXXXX.............................
..................................................
-maymv 1 fixed 0 newsz 21 dstpo 1 dst 0x........ -> 0x........ (== src)
-XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXX.........XXXXXXXXXX
+maymv 1 fixed 0 newsz 21 dstpo 1 dst 0x........ -> 0x........ (== other)
+XXXXXXXXX...............................XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-..................................................
+XXXXXXXXXXXXXXXXXXXXX.............................
..................................................
-maymv 1 fixed 0 newsz 29 dstpo 0 dst 0x........ -> 0x........ (== src)
-XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXXXXXXXXXX.XXXXXXXXXX
+maymv 1 fixed 0 newsz 29 dstpo 0 dst 0x........ -> 0x........ (== other)
+XXXXXXXXX...............................XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-..................................................
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXX.....................
..................................................
-maymv 1 fixed 0 newsz 29 dstpo 1 dst 0x........ -> 0x........ (== src)
-XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXXXXXXXXXX.XXXXXXXXXX
+maymv 1 fixed 0 newsz 29 dstpo 1 dst 0x........ -> 0x........ (== other)
+XXXXXXXXX...............................XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-..................................................
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXX.....................
..................................................
-maymv 1 fixed 0 newsz 30 dstpo 0 dst 0x........ -> 0x........ (== src)
-XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+maymv 1 fixed 0 newsz 30 dstpo 0 dst 0x........ -> 0x........ (== other)
+XXXXXXXXX...............................XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-..................................................
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX....................
<truncated beyond 100 lines>
=================================================
./valgrind/none/tests/shell.stderr.diff
=================================================
--- shell.stderr.exp 2009-04-17 03:25:41.000000000 +1000
+++ shell.stderr.out 2009-04-17 03:42:01.000000000 +1000
@@ -1,8 +1 @@
-./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: failed to start tool 'none' for platform 'amd64-linux': No such file or directory
=================================================
./valgrind/none/tests/shell.stderr.diff-dash
=================================================
--- shell.stderr.exp-dash 2009-04-17 03:25:41.000000000 +1000
+++ shell.stderr.out 2009-04-17 03:42:01.000000000 +1000
@@ -1,8 +1 @@
-./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: failed to start tool 'none' for platform 'amd64-linux': No such file or directory
=================================================
./valgrind/none/tests/shell.stdout.diff
=================================================
--- shell.stdout.exp 2009-04-17 03:25:41.000000000 +1000
+++ shell.stdout.out 2009-04-17 03:42:01.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/none/tests/shell_valid1.stderr.diff
=================================================
--- shell_valid1.stderr.exp 2009-04-17 03:25:41.000000000 +1000
+++ shell_valid1.stderr.out 2009-04-17 03:42:01.000000000 +1000
@@ -0,0 +1 @@
+valgrind: failed to start tool 'none' for platform 'amd64-linux': No such file or directory
=================================================
./valgrind/none/tests/shell_valid2.stderr.diff
=================================================
--- shell_valid2.stderr.exp 2009-04-17 03:25:41.000000000 +1000
+++ shell_valid2.stderr.out 2009-04-17 03:42:01.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/none/tests/shell_valid3.stderr.diff
=================================================
--- shell_valid3.stderr.exp 2009-04-17 03:25:41.000000000 +1000
+++ shell_valid3.stderr.out 2009-04-17 03:42:01.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
|
|
From: Nicholas N. <n.n...@gm...> - 2009-04-16 16:44:37
|
Nightly build on ocean ( Ubuntu 8.10, Intel x86-64 ) started at 2009-04-17 02:00:01 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 == 482 tests, 0 stderr failures, 1 stdout failure, 0 post failures == none/tests/linux/mremap2 (stdout) ================================================= == 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, 0 stderr failures, 1 stdout failure, 0 post failures == none/tests/linux/mremap2 (stdout) ================================================= == Difference between 24 hours ago and now == ================================================= *** old.short Fri Apr 17 02:17:48 2009 --- new.short Fri Apr 17 02:44:28 2009 *************** *** 8,10 **** ! == 483 tests, 0 stderr failures, 1 stdout failure, 0 post failures == none/tests/linux/mremap2 (stdout) --- 8,10 ---- ! == 482 tests, 0 stderr failures, 1 stdout failure, 0 post failures == none/tests/linux/mremap2 (stdout) ================================================= ./valgrind/none/tests/linux/mremap2.stdout.diff ================================================= --- mremap2.stdout.exp 2009-04-17 02:23:31.000000000 +1000 +++ mremap2.stdout.out 2009-04-17 02:43:57.000000000 +1000 @@ -27,38 +27,38 @@ .................................................. .................................................. -maymv 0 fixed 0 newsz 21 dstpo 0 dst 0x........ -> 0x........ (== src) -XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXX.........XXXXXXXXXX +maymv 0 fixed 0 newsz 21 dstpo 0 dst 0x........ -> error 12 +XXXXXXXXX.XXXXXXXXXXXXXXXXXXXX..........XXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX .................................................. .................................................. -maymv 0 fixed 0 newsz 21 dstpo 1 dst 0x........ -> 0x........ (== src) -XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXX.........XXXXXXXXXX +maymv 0 fixed 0 newsz 21 dstpo 1 dst 0x........ -> error 12 +XXXXXXXXX.XXXXXXXXXXXXXXXXXXXX..........XXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX .................................................. .................................................. -maymv 0 fixed 0 newsz 29 dstpo 0 dst 0x........ -> 0x........ (== src) -XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXXXXXXXXXX.XXXXXXXXXX +maymv 0 fixed 0 newsz 29 dstpo 0 dst 0x........ -> error 12 +XXXXXXXXX.XXXXXXXXXXXXXXXXXXXX..........XXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX .................................................. .................................................. -maymv 0 fixed 0 newsz 29 dstpo 1 dst 0x........ -> 0x........ (== src) -XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXXXXXXXXXX.XXXXXXXXXX +maymv 0 fixed 0 newsz 29 dstpo 1 dst 0x........ -> error 12 +XXXXXXXXX.XXXXXXXXXXXXXXXXXXXX..........XXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX .................................................. .................................................. -maymv 0 fixed 0 newsz 30 dstpo 0 dst 0x........ -> 0x........ (== src) -XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX +maymv 0 fixed 0 newsz 30 dstpo 0 dst 0x........ -> error 12 +XXXXXXXXX.XXXXXXXXXXXXXXXXXXXX..........XXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX .................................................. .................................................. -maymv 0 fixed 0 newsz 30 dstpo 1 dst 0x........ -> 0x........ (== src) -XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX +maymv 0 fixed 0 newsz 30 dstpo 1 dst 0x........ -> error 12 +XXXXXXXXX.XXXXXXXXXXXXXXXXXXXX..........XXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX .................................................. .................................................. @@ -173,40 +173,40 @@ .................................................. .................................................. -maymv 1 fixed 0 newsz 21 dstpo 0 dst 0x........ -> 0x........ (== src) -XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXX.........XXXXXXXXXX +maymv 1 fixed 0 newsz 21 dstpo 0 dst 0x........ -> 0x........ (== other) +XXXXXXXXX...............................XXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX -.................................................. +XXXXXXXXXXXXXXXXXXXXX............................. .................................................. -maymv 1 fixed 0 newsz 21 dstpo 1 dst 0x........ -> 0x........ (== src) -XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXX.........XXXXXXXXXX +maymv 1 fixed 0 newsz 21 dstpo 1 dst 0x........ -> 0x........ (== other) +XXXXXXXXX...............................XXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX -.................................................. +XXXXXXXXXXXXXXXXXXXXX............................. .................................................. -maymv 1 fixed 0 newsz 29 dstpo 0 dst 0x........ -> 0x........ (== src) -XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXXXXXXXXXX.XXXXXXXXXX +maymv 1 fixed 0 newsz 29 dstpo 0 dst 0x........ -> 0x........ (== other) +XXXXXXXXX...............................XXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX -.................................................. +XXXXXXXXXXXXXXXXXXXXXXXXXXXXX..................... .................................................. -maymv 1 fixed 0 newsz 29 dstpo 1 dst 0x........ -> 0x........ (== src) -XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXXXXXXXXXX.XXXXXXXXXX +maymv 1 fixed 0 newsz 29 dstpo 1 dst 0x........ -> 0x........ (== other) +XXXXXXXXX...............................XXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX -.................................................. +XXXXXXXXXXXXXXXXXXXXXXXXXXXXX..................... .................................................. -maymv 1 fixed 0 newsz 30 dstpo 0 dst 0x........ -> 0x........ (== src) -XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX +maymv 1 fixed 0 newsz 30 dstpo 0 dst 0x........ -> 0x........ (== other) +XXXXXXXXX...............................XXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX -.................................................. +XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.................... <truncated beyond 100 lines> ================================================= ./valgrind/none/tests/linux/mremap2.stdout.diff-glibc28-amd64 ================================================= --- mremap2.stdout.exp-glibc28-amd64 2009-04-17 02:23:31.000000000 +1000 +++ mremap2.stdout.out 2009-04-17 02:43:57.000000000 +1000 @@ -176,49 +176,49 @@ maymv 1 fixed 0 newsz 21 dstpo 0 dst 0x........ -> 0x........ (== other) XXXXXXXXX...............................XXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX -.................................................. +XXXXXXXXXXXXXXXXXXXXX............................. .................................................. maymv 1 fixed 0 newsz 21 dstpo 1 dst 0x........ -> 0x........ (== other) XXXXXXXXX...............................XXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX -.................................................. +XXXXXXXXXXXXXXXXXXXXX............................. .................................................. maymv 1 fixed 0 newsz 29 dstpo 0 dst 0x........ -> 0x........ (== other) XXXXXXXXX...............................XXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX -.................................................. +XXXXXXXXXXXXXXXXXXXXXXXXXXXXX..................... .................................................. maymv 1 fixed 0 newsz 29 dstpo 1 dst 0x........ -> 0x........ (== other) XXXXXXXXX...............................XXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX -.................................................. +XXXXXXXXXXXXXXXXXXXXXXXXXXXXX..................... .................................................. maymv 1 fixed 0 newsz 30 dstpo 0 dst 0x........ -> 0x........ (== other) XXXXXXXXX...............................XXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX -.................................................. +XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.................... .................................................. maymv 1 fixed 0 newsz 30 dstpo 1 dst 0x........ -> 0x........ (== other) XXXXXXXXX...............................XXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX -.................................................. +XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.................... .................................................. maymv 1 fixed 0 newsz 31 dstpo 0 dst 0x........ -> 0x........ (== other) XXXXXXXXX...............................XXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX -.................................................. +XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX................... .................................................. maymv 1 fixed 0 newsz 31 dstpo 1 dst 0x........ -> 0x........ (== other) XXXXXXXXX...............................XXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX -.................................................. +XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX................... .................................................. ================================================= ./valgrind/none/tests/linux/mremap2.stdout.diff2 ================================================= --- mremap2.stdout.exp2 2009-04-17 02:23:31.000000000 +1000 +++ mremap2.stdout.out 2009-04-17 02:43:57.000000000 +1000 @@ -27,38 +27,38 @@ .................................................. .................................................. -maymv 0 fixed 0 newsz 21 dstpo 0 dst 0x........ -> 0x........ (== src) -XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXX.........XXXXXXXXXX +maymv 0 fixed 0 newsz 21 dstpo 0 dst 0x........ -> error 12 +XXXXXXXXX.XXXXXXXXXXXXXXXXXXXX..........XXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX .................................................. .................................................. -maymv 0 fixed 0 newsz 21 dstpo 1 dst 0x........ -> 0x........ (== src) -XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXX.........XXXXXXXXXX +maymv 0 fixed 0 newsz 21 dstpo 1 dst 0x........ -> error 12 +XXXXXXXXX.XXXXXXXXXXXXXXXXXXXX..........XXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX .................................................. .................................................. -maymv 0 fixed 0 newsz 29 dstpo 0 dst 0x........ -> 0x........ (== src) -XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXXXXXXXXXX.XXXXXXXXXX +maymv 0 fixed 0 newsz 29 dstpo 0 dst 0x........ -> error 12 +XXXXXXXXX.XXXXXXXXXXXXXXXXXXXX..........XXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX .................................................. .................................................. -maymv 0 fixed 0 newsz 29 dstpo 1 dst 0x........ -> 0x........ (== src) -XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXXXXXXXXXX.XXXXXXXXXX +maymv 0 fixed 0 newsz 29 dstpo 1 dst 0x........ -> error 12 +XXXXXXXXX.XXXXXXXXXXXXXXXXXXXX..........XXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX .................................................. .................................................. -maymv 0 fixed 0 newsz 30 dstpo 0 dst 0x........ -> 0x........ (== src) -XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX +maymv 0 fixed 0 newsz 30 dstpo 0 dst 0x........ -> error 12 +XXXXXXXXX.XXXXXXXXXXXXXXXXXXXX..........XXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX .................................................. .................................................. -maymv 0 fixed 0 newsz 30 dstpo 1 dst 0x........ -> 0x........ (== src) -XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX +maymv 0 fixed 0 newsz 30 dstpo 1 dst 0x........ -> error 12 +XXXXXXXXX.XXXXXXXXXXXXXXXXXXXX..........XXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX .................................................. .................................................. @@ -173,52 +173,52 @@ .................................................. .................................................. -maymv 1 fixed 0 newsz 21 dstpo 0 dst 0x........ -> 0x........ (== src) -XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXX.........XXXXXXXXXX +maymv 1 fixed 0 newsz 21 dstpo 0 dst 0x........ -> 0x........ (== other) +XXXXXXXXX...............................XXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX -.................................................. +XXXXXXXXXXXXXXXXXXXXX............................. .................................................. -maymv 1 fixed 0 newsz 21 dstpo 1 dst 0x........ -> 0x........ (== src) -XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXX.........XXXXXXXXXX +maymv 1 fixed 0 newsz 21 dstpo 1 dst 0x........ -> 0x........ (== other) +XXXXXXXXX...............................XXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX -.................................................. +XXXXXXXXXXXXXXXXXXXXX............................. .................................................. -maymv 1 fixed 0 newsz 29 dstpo 0 dst 0x........ -> 0x........ (== src) -XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXXXXXXXXXX.XXXXXXXXXX +maymv 1 fixed 0 newsz 29 dstpo 0 dst 0x........ -> 0x........ (== other) +XXXXXXXXX...............................XXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX -.................................................. +XXXXXXXXXXXXXXXXXXXXXXXXXXXXX..................... .................................................. -maymv 1 fixed 0 newsz 29 dstpo 1 dst 0x........ -> 0x........ (== src) -XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXXXXXXXXXX.XXXXXXXXXX +maymv 1 fixed 0 newsz 29 dstpo 1 dst 0x........ -> 0x........ (== other) +XXXXXXXXX...............................XXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX -.................................................. +XXXXXXXXXXXXXXXXXXXXXXXXXXXXX..................... .................................................. -maymv 1 fixed 0 newsz 30 dstpo 0 dst 0x........ -> 0x........ (== src) -XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX +maymv 1 fixed 0 newsz 30 dstpo 0 dst 0x........ -> 0x........ (== other) +XXXXXXXXX...............................XXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX -.................................................. +XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.................... <truncated beyond 100 lines> |
|
From: Dominic A. <zer...@go...> - 2009-04-16 11:52:36
|
Hi Julian,
(1)
I would probably suggest to handle Ev_Dr/Ev_Dm differently in "flushEvents".
Currently, a Ev_Dm is treated like a Ev_Dr (in two case statements) although a
Ev_Dm could have been constructed from a Dw-event (data write) in
"addEvent_Dw" (actually it is only done there!)
So, the log_* functions will loose write-events.
A log_*modify* could count a read and write :
n->parent->Dr.a++;
n->parent->Dw.a++;
A quick fix is to remove merging in "addEvent_Dw". Thus no Dm-events
ever get created.
(2) Another suggestion:
"cg_main.c"
"Ist_Dirty"-opcodes are limited in dataSize to 16 bytes. I would suggest to
limit the data size to twice the configured cache line size instead.
Current code:
// Large (eg. 28B, 108B, 512B on x86) data-sized
// instructions will be done inaccurately, but they're
// very rare and this avoids errors from hitting more
// than two cache lines in the simulation.
if (dataSize > MIN_LINE_SIZE)
dataSize = MIN_LINE_SIZE;
MIN_LINE_SIZE is set to 16
However, "addEvent_Dr" has an assertion which checks "datasize":
tl_assert(datasize >= 1 && datasize <= MIN_LINE_SIZE);
Is this correct? Should not it be twice the configured line size as well?
Currently, it is not an issue because there seems to be no instruction yet that
reads/writes more than 16 bytes.
(3)
A comment in "cg_instrument" ( the "Ist_Dirty" switch-case) may help
understanding
the code better:
// "Ifx_Modify" is turned into an Ev_Dm within addEvent_Dw
if (d->mFx == Ifx_Read || d->mFx == Ifx_Modify)
addEvent_Dr( &cgs, curr_inode, dataSize, d->mAddr );
if (d->mFx == Ifx_Write || d->mFx == Ifx_Modify)
addEvent_Dw( &cgs, curr_inode, dataSize, d->mAddr );
All this stuff applies to Valgrind as it is - no multi-core stuff
involved yet ;-)
I am quite new to Valgrind. Therefore I thought it is better to ask on
the mailing list
before issuing (a) bug-report(s).
Thanks
Dominic
P.S. Nick directed me to the mailing list.
On Thu, Apr 16, 2009 at 12:59 PM, Julian Seward <js...@ac...> wrote:
>
>> My current assumption is that CacheGrind was not designed to be really
>> accurate - or would you consider it a bug?
>
> My impression is that Cachegrind is designed to model a single-processor
> world, and has no concept of multiprocessors sharing a memory hierarchy,
> or of the associated coherence protocols. So it may well be that what
> is currently there doesn't make much sense for a multiprocessor world.
>
> I can say for sure that you know more about multi-core cache stuff
> than me :-)
>
> Nevertheless, as Nick is the author of Cachegrind, he may have more
> comments about this.
>
>> So far I must say the codebase of Valgrind is quite nicely structured!
>
> Thanks! We aim to please :-)
>
> J
>
|
|
From: Julian S. <js...@ac...> - 2009-04-16 10:55:49
|
> My current assumption is that CacheGrind was not designed to be really > accurate - or would you consider it a bug? My impression is that Cachegrind is designed to model a single-processor world, and has no concept of multiprocessors sharing a memory hierarchy, or of the associated coherence protocols. So it may well be that what is currently there doesn't make much sense for a multiprocessor world. I can say for sure that you know more about multi-core cache stuff than me :-) Nevertheless, as Nick is the author of Cachegrind, he may have more comments about this. > So far I must say the codebase of Valgrind is quite nicely structured! Thanks! We aim to please :-) J |
|
From: Dominic A. <zer...@go...> - 2009-04-16 10:24:29
|
Hi everyone,
I am currently trying to extend CacheGrind to support multi-core cache
simulation
( MESI protocol, 1:1 thread/L1 cache mapping come to my mind ).
However, I have stumbled over the event merging mechanism. I suspect
the way events
are currently merged, results into more reads being reported then writes.
I think this is the case because writes (Dw-events) get merged with
reads (Dr-events) to
modify-events (Dm) which are only handled by read-handlers (e.g.
"log_0I_1Dr_cache_access").
The functions to look at are "addEvent_Dw" and "flushEvents".
BTW: I noticed this "strangeness" when I included memory bus event
annotations in "InstrInfo".
My goal is to count how many "locked" (Intel-prefix for cache
exclusive r/w) read/writes/modify miss the cache.
The writes never showed up because they seem to be merged away.
( The merged Dm-events go to log...Dr..... functions like
"log_0I_1Dr_cache_access").
I temporarily disabled merging in "addEvent_Dw" and immediately
saw locked writes!
My current assumption is that CacheGrind was not designed to be really
accurate - or would you consider it a bug?
( The cache miss-statistics are correct after all because the cache is
write-allocate and merging
subsequent read/write-operations into a single read does not change
anything - except the read/write counters which
are off. The man-page and source-code comments - however - do not
indicate such inaccuracies. )
I hope someone can enlighten me a bit :-)
So far I must say the codebase of Valgrind is quite nicely structured!
Thank you
Dominic
|
|
From: Filipe C. <fi...@gm...> - 2009-04-16 08:55:16
|
Hi, Sorry, I got the sources mixed up. Here is a clean patch against the latest revision of the branch. Regards, F Nicholas Nethercote wrote: > On Fri, Apr 3, 2009 at 3:59 AM, Filipe Cabecinhas <fi...@gm...> wrote: >> Done and uploaded. > > I just tried it against the DARWIN branch (r9563) and got this: > > m_syswrap/syswrap-darwin.c: In function ‘vgSysWrap_darwin_sys_fcntl_before’: > m_syswrap/syswrap-darwin.c:1109: error: invalid initializer > m_syswrap/syswrap-darwin.c:1110: error: invalid type argument of ‘->’ > m_syswrap/syswrap-darwin.c:1110: error: invalid type argument of ‘->’ > m_syswrap/syswrap-darwin.c:1112: error: invalid type argument of ‘->’ > m_syswrap/syswrap-darwin.c:1112: error: invalid type argument of ‘->’ > m_syswrap/syswrap-darwin.c:1115: error: invalid type argument of ‘->’ > m_syswrap/syswrap-darwin.c:1116:67: error: macro "PRE_MEM_READ" > requires 3 arguments, but only 2 given > m_syswrap/syswrap-darwin.c:1116: error: ‘PRE_MEM_READ’ undeclared > (first use in this function) > m_syswrap/syswrap-darwin.c:1116: error: (Each undeclared identifier is > reported only once > m_syswrap/syswrap-darwin.c:1116: error: for each function it appears in.) > > > Nick |
|
From: Tom H. <th...@cy...> - 2009-04-16 03:03:16
|
Nightly build on lloyd ( x86_64, Fedora 7 ) started at 2009-04-16 03:05:05 BST 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 == 477 tests, 0 stderr failures, 0 stdout failures, 0 post failures == ================================================= == 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 == 478 tests, 0 stderr failures, 0 stdout failures, 0 post failures == ================================================= == Difference between 24 hours ago and now == ================================================= *** old.short Thu Apr 16 03:34:26 2009 --- new.short Thu Apr 16 04:03:04 2009 *************** *** 8,10 **** ! == 478 tests, 0 stderr failures, 0 stdout failures, 0 post failures == --- 8,10 ---- ! == 477 tests, 0 stderr failures, 0 stdout failures, 0 post failures == |
|
From: Tom H. <th...@cy...> - 2009-04-16 02:47:16
|
Nightly build on mg ( x86_64, Fedora 9 ) started at 2009-04-16 03:10:04 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 == 483 tests, 0 stderr failures, 1 stdout failure, 0 post failures == none/tests/linux/mremap2 (stdout) ================================================= == 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 == 484 tests, 0 stderr failures, 1 stdout failure, 0 post failures == none/tests/linux/mremap2 (stdout) ================================================= == Difference between 24 hours ago and now == ================================================= *** old.short Thu Apr 16 03:28:38 2009 --- new.short Thu Apr 16 03:47:02 2009 *************** *** 8,10 **** ! == 484 tests, 0 stderr failures, 1 stdout failure, 0 post failures == none/tests/linux/mremap2 (stdout) --- 8,10 ---- ! == 483 tests, 0 stderr failures, 1 stdout failure, 0 post failures == none/tests/linux/mremap2 (stdout) |
|
From: <sv...@va...> - 2009-04-16 02:04:13
|
Author: njn
Date: 2009-04-16 03:04:07 +0100 (Thu, 16 Apr 2009)
New Revision: 9565
Log:
Merge r9564 (make pth_cvsimple more reliable) from the DARWIN branch.
Modified:
trunk/none/tests/pth_cvsimple.c
Modified: trunk/none/tests/pth_cvsimple.c
===================================================================
--- trunk/none/tests/pth_cvsimple.c 2009-04-16 02:02:35 UTC (rev 9564)
+++ trunk/none/tests/pth_cvsimple.c 2009-04-16 02:04:07 UTC (rev 9565)
@@ -12,7 +12,7 @@
* Demonstrates pthread condvars.
*
*/
-
+#include <unistd.h>
#include <stdio.h>
#include <pthread.h>
@@ -65,6 +65,7 @@
pthread_t threads[3];
pthread_create(&threads[0], NULL, watch_count, NULL);
+ sleep(1);
pthread_create(&threads[1], NULL, inc_count, NULL);
pthread_create(&threads[2], NULL, inc_count, NULL);
@@ -77,6 +78,7 @@
// pthread_cond_wait() is never called. Or, we could get a spurious
// wake-up in watch_count(). Nonetheless, it's very likely that things
// will work out as expected, since we're starting watch_count() first.
+ // (Also since the sleep() call was added after watch_count()!)
if (condvar_was_hit == 1)
printf("condvar was hit!\n");
else if (condvar_was_hit > 1)
|
|
From: <sv...@va...> - 2009-04-16 02:02:56
|
Author: njn
Date: 2009-04-16 03:02:35 +0100 (Thu, 16 Apr 2009)
New Revision: 9564
Log:
Make pth_cvsimple more reliable; it currently fails often on Darwin due to
thread ordering issues.
Modified:
branches/DARWIN/none/tests/pth_cvsimple.c
Modified: branches/DARWIN/none/tests/pth_cvsimple.c
===================================================================
--- branches/DARWIN/none/tests/pth_cvsimple.c 2009-04-16 01:35:29 UTC (rev 9563)
+++ branches/DARWIN/none/tests/pth_cvsimple.c 2009-04-16 02:02:35 UTC (rev 9564)
@@ -12,7 +12,7 @@
* Demonstrates pthread condvars.
*
*/
-
+#include <unistd.h>
#include <stdio.h>
#include <pthread.h>
@@ -65,6 +65,7 @@
pthread_t threads[3];
pthread_create(&threads[0], NULL, watch_count, NULL);
+ sleep(1);
pthread_create(&threads[1], NULL, inc_count, NULL);
pthread_create(&threads[2], NULL, inc_count, NULL);
@@ -77,6 +78,7 @@
// pthread_cond_wait() is never called. Or, we could get a spurious
// wake-up in watch_count(). Nonetheless, it's very likely that things
// will work out as expected, since we're starting watch_count() first.
+ // (Also since the sleep() call was added after watch_count()!)
if (condvar_was_hit == 1)
printf("condvar was hit!\n");
else if (condvar_was_hit > 1)
|
|
From: Nicholas N. <n.n...@gm...> - 2009-04-16 01:49:36
|
On Fri, Apr 3, 2009 at 3:59 AM, Filipe Cabecinhas <fi...@gm...> wrote: > Done and uploaded. I just tried it against the DARWIN branch (r9563) and got this: m_syswrap/syswrap-darwin.c: In function ‘vgSysWrap_darwin_sys_fcntl_before’: m_syswrap/syswrap-darwin.c:1109: error: invalid initializer m_syswrap/syswrap-darwin.c:1110: error: invalid type argument of ‘->’ m_syswrap/syswrap-darwin.c:1110: error: invalid type argument of ‘->’ m_syswrap/syswrap-darwin.c:1112: error: invalid type argument of ‘->’ m_syswrap/syswrap-darwin.c:1112: error: invalid type argument of ‘->’ m_syswrap/syswrap-darwin.c:1115: error: invalid type argument of ‘->’ m_syswrap/syswrap-darwin.c:1116:67: error: macro "PRE_MEM_READ" requires 3 arguments, but only 2 given m_syswrap/syswrap-darwin.c:1116: error: ‘PRE_MEM_READ’ undeclared (first use in this function) m_syswrap/syswrap-darwin.c:1116: error: (Each undeclared identifier is reported only once m_syswrap/syswrap-darwin.c:1116: error: for each function it appears in.) Nick |
|
From: <sv...@va...> - 2009-04-16 01:48:23
|
Author: njn
Date: 2009-04-16 02:35:29 +0100 (Thu, 16 Apr 2009)
New Revision: 9563
Log:
Merged r9562 (kill nanoleak.vgtest) from the trunk.
Added:
branches/DARWIN/memcheck/tests/nanoleak_supp.c
Removed:
branches/DARWIN/memcheck/tests/nanoleak.c
branches/DARWIN/memcheck/tests/nanoleak.stderr.exp
branches/DARWIN/memcheck/tests/nanoleak.vgtest
Modified:
branches/DARWIN/memcheck/tests/Makefile.am
branches/DARWIN/memcheck/tests/nanoleak_supp.vgtest
Modified: branches/DARWIN/memcheck/tests/Makefile.am
===================================================================
--- branches/DARWIN/memcheck/tests/Makefile.am 2009-04-16 01:28:08 UTC (rev 9562)
+++ branches/DARWIN/memcheck/tests/Makefile.am 2009-04-16 01:35:29 UTC (rev 9563)
@@ -97,7 +97,6 @@
metadata.stderr.exp metadata.stdout.exp metadata.vgtest \
mismatches.stderr.exp mismatches.vgtest \
mmaptest.stderr.exp mmaptest.vgtest \
- nanoleak.stderr.exp nanoleak.vgtest \
nanoleak_supp.stderr.exp nanoleak_supp.vgtest nanoleak.supp \
nanoleak2.stderr.exp nanoleak2.vgtest \
new_nothrow.stderr.exp new_nothrow.vgtest \
@@ -201,7 +200,7 @@
match-overrun \
memalign_test memalign2 memcmptest mempool mmaptest \
mismatches new_override metadata \
- nanoleak nanoleak2 new_nothrow \
+ nanoleak_supp nanoleak2 new_nothrow \
noisy_child \
null_socket \
origin1-yes origin2-not-quite origin3-no \
Deleted: branches/DARWIN/memcheck/tests/nanoleak.c
===================================================================
--- branches/DARWIN/memcheck/tests/nanoleak.c 2009-04-16 01:28:08 UTC (rev 9562)
+++ branches/DARWIN/memcheck/tests/nanoleak.c 2009-04-16 01:35:29 UTC (rev 9563)
@@ -1,9 +0,0 @@
-
-#include <stdlib.h>
-
-int main ( void )
-{
- volatile int* a = malloc(1000);
- a[0] = 0;
- return a[0];
-}
Deleted: branches/DARWIN/memcheck/tests/nanoleak.stderr.exp
===================================================================
--- branches/DARWIN/memcheck/tests/nanoleak.stderr.exp 2009-04-16 01:28:08 UTC (rev 9562)
+++ branches/DARWIN/memcheck/tests/nanoleak.stderr.exp 2009-04-16 01:35:29 UTC (rev 9563)
@@ -1,4 +0,0 @@
-
-1,000 bytes in 1 blocks are definitely lost in loss record ... of ...
- at 0x........: malloc (vg_replace_malloc.c:...)
- by 0x........: main (nanoleak.c:6)
Deleted: branches/DARWIN/memcheck/tests/nanoleak.vgtest
===================================================================
--- branches/DARWIN/memcheck/tests/nanoleak.vgtest 2009-04-16 01:28:08 UTC (rev 9562)
+++ branches/DARWIN/memcheck/tests/nanoleak.vgtest 2009-04-16 01:35:29 UTC (rev 9563)
@@ -1,2 +0,0 @@
-vgopts: --leak-check=yes -q
-prog: nanoleak
Copied: branches/DARWIN/memcheck/tests/nanoleak_supp.c (from rev 9562, trunk/memcheck/tests/nanoleak_supp.c)
===================================================================
--- branches/DARWIN/memcheck/tests/nanoleak_supp.c (rev 0)
+++ branches/DARWIN/memcheck/tests/nanoleak_supp.c 2009-04-16 01:35:29 UTC (rev 9563)
@@ -0,0 +1,9 @@
+
+#include <stdlib.h>
+
+int main ( void )
+{
+ volatile int* a = malloc(1000);
+ a[0] = 0;
+ return a[0];
+}
Modified: branches/DARWIN/memcheck/tests/nanoleak_supp.vgtest
===================================================================
--- branches/DARWIN/memcheck/tests/nanoleak_supp.vgtest 2009-04-16 01:28:08 UTC (rev 9562)
+++ branches/DARWIN/memcheck/tests/nanoleak_supp.vgtest 2009-04-16 01:35:29 UTC (rev 9563)
@@ -1,2 +1,2 @@
vgopts: --leak-check=yes --suppressions=nanoleak.supp -q
-prog: nanoleak
+prog: nanoleak_supp
|
|
From: <sv...@va...> - 2009-04-16 01:28:12
|
Author: njn
Date: 2009-04-16 02:28:08 +0100 (Thu, 16 Apr 2009)
New Revision: 9562
Log:
Remove nanoleak.vgtest, it's a trivial test. nanoleak.c is used by
nanoleak_supp.vgtest, however, so rename it nanoleak_supp.c to make the
connection more obvious.
Added:
trunk/memcheck/tests/nanoleak_supp.c
Removed:
trunk/memcheck/tests/nanoleak.c
trunk/memcheck/tests/nanoleak.stderr.exp
trunk/memcheck/tests/nanoleak.vgtest
Modified:
trunk/memcheck/tests/Makefile.am
trunk/memcheck/tests/nanoleak_supp.vgtest
Modified: trunk/memcheck/tests/Makefile.am
===================================================================
--- trunk/memcheck/tests/Makefile.am 2009-04-16 00:40:55 UTC (rev 9561)
+++ trunk/memcheck/tests/Makefile.am 2009-04-16 01:28:08 UTC (rev 9562)
@@ -94,7 +94,6 @@
metadata.stderr.exp metadata.stdout.exp metadata.vgtest \
mismatches.stderr.exp mismatches.vgtest \
mmaptest.stderr.exp mmaptest.vgtest \
- nanoleak.stderr.exp nanoleak.vgtest \
nanoleak_supp.stderr.exp nanoleak_supp.vgtest nanoleak.supp \
nanoleak2.stderr.exp nanoleak2.vgtest \
new_nothrow.stderr.exp new_nothrow.vgtest \
@@ -198,7 +197,7 @@
match-overrun \
memalign_test memalign2 memcmptest mempool mmaptest \
mismatches new_override metadata \
- nanoleak nanoleak2 new_nothrow \
+ nanoleak_supp nanoleak2 new_nothrow \
noisy_child \
null_socket \
origin1-yes origin2-not-quite origin3-no \
Deleted: trunk/memcheck/tests/nanoleak.c
===================================================================
--- trunk/memcheck/tests/nanoleak.c 2009-04-16 00:40:55 UTC (rev 9561)
+++ trunk/memcheck/tests/nanoleak.c 2009-04-16 01:28:08 UTC (rev 9562)
@@ -1,9 +0,0 @@
-
-#include <stdlib.h>
-
-int main ( void )
-{
- volatile int* a = malloc(1000);
- a[0] = 0;
- return a[0];
-}
Deleted: trunk/memcheck/tests/nanoleak.stderr.exp
===================================================================
--- trunk/memcheck/tests/nanoleak.stderr.exp 2009-04-16 00:40:55 UTC (rev 9561)
+++ trunk/memcheck/tests/nanoleak.stderr.exp 2009-04-16 01:28:08 UTC (rev 9562)
@@ -1,4 +0,0 @@
-
-1,000 bytes in 1 blocks are definitely lost in loss record ... of ...
- at 0x........: malloc (vg_replace_malloc.c:...)
- by 0x........: main (nanoleak.c:6)
Deleted: trunk/memcheck/tests/nanoleak.vgtest
===================================================================
--- trunk/memcheck/tests/nanoleak.vgtest 2009-04-16 00:40:55 UTC (rev 9561)
+++ trunk/memcheck/tests/nanoleak.vgtest 2009-04-16 01:28:08 UTC (rev 9562)
@@ -1,2 +0,0 @@
-vgopts: --leak-check=yes -q
-prog: nanoleak
Copied: trunk/memcheck/tests/nanoleak_supp.c (from rev 9555, trunk/memcheck/tests/nanoleak.c)
===================================================================
--- trunk/memcheck/tests/nanoleak_supp.c (rev 0)
+++ trunk/memcheck/tests/nanoleak_supp.c 2009-04-16 01:28:08 UTC (rev 9562)
@@ -0,0 +1,9 @@
+
+#include <stdlib.h>
+
+int main ( void )
+{
+ volatile int* a = malloc(1000);
+ a[0] = 0;
+ return a[0];
+}
Property changes on: trunk/memcheck/tests/nanoleak_supp.c
___________________________________________________________________
Name: svn:keywords
+ author date id revision
Name: svn:mergeinfo
+
Name: svn:eol-style
+ native
Modified: trunk/memcheck/tests/nanoleak_supp.vgtest
===================================================================
--- trunk/memcheck/tests/nanoleak_supp.vgtest 2009-04-16 00:40:55 UTC (rev 9561)
+++ trunk/memcheck/tests/nanoleak_supp.vgtest 2009-04-16 01:28:08 UTC (rev 9562)
@@ -1,2 +1,2 @@
vgopts: --leak-check=yes --suppressions=nanoleak.supp -q
-prog: nanoleak
+prog: nanoleak_supp
|
|
From: <sv...@va...> - 2009-04-16 00:41:06
|
Author: njn
Date: 2009-04-16 01:40:55 +0100 (Thu, 16 Apr 2009)
New Revision: 9561
Log:
Merged r9559 (a manual fix) from the trunk.
Modified:
branches/DARWIN/README
branches/DARWIN/docs/xml/manual-writing-tools.xml
Modified: branches/DARWIN/README
===================================================================
--- branches/DARWIN/README 2009-04-16 00:40:43 UTC (rev 9560)
+++ branches/DARWIN/README 2009-04-16 00:40:55 UTC (rev 9561)
@@ -87,7 +87,7 @@
options are documented in the INSTALL file. The only interesting
one is the usual --prefix=/where/you/want/it/installed.
- 5. Do "make".
+ 5. Do "make". (Nb: this cannot be combined with the next step.)
6. Do "make install", possibly as root if the destination permissions
require that.
Modified: branches/DARWIN/docs/xml/manual-writing-tools.xml
===================================================================
--- branches/DARWIN/docs/xml/manual-writing-tools.xml 2009-04-16 00:40:43 UTC (rev 9560)
+++ branches/DARWIN/docs/xml/manual-writing-tools.xml 2009-04-16 00:40:55 UTC (rev 9561)
@@ -140,6 +140,7 @@
<programlisting><![CDATA[
autogen.sh
./configure --prefix=`pwd`/inst
+ make # Nb: this cannot be combined with the next step
make install]]></programlisting>
<para>It should automake, configure and compile without errors,
|
|
From: <sv...@va...> - 2009-04-16 00:40:49
|
Author: njn
Date: 2009-04-16 01:40:43 +0100 (Thu, 16 Apr 2009)
New Revision: 9560
Log:
Merged r9559 (a manual fix) from the trunk.
Modified:
branches/VALGRIND_3_4_BRANCH/README
branches/VALGRIND_3_4_BRANCH/docs/xml/manual-writing-tools.xml
Modified: branches/VALGRIND_3_4_BRANCH/README
===================================================================
--- branches/VALGRIND_3_4_BRANCH/README 2009-04-16 00:40:02 UTC (rev 9559)
+++ branches/VALGRIND_3_4_BRANCH/README 2009-04-16 00:40:43 UTC (rev 9560)
@@ -87,7 +87,7 @@
options are documented in the INSTALL file. The only interesting
one is the usual --prefix=/where/you/want/it/installed.
- 5. Do "make".
+ 5. Do "make". (Nb: this cannot be combined with the next step.)
6. Do "make install", possibly as root if the destination permissions
require that.
Modified: branches/VALGRIND_3_4_BRANCH/docs/xml/manual-writing-tools.xml
===================================================================
--- branches/VALGRIND_3_4_BRANCH/docs/xml/manual-writing-tools.xml 2009-04-16 00:40:02 UTC (rev 9559)
+++ branches/VALGRIND_3_4_BRANCH/docs/xml/manual-writing-tools.xml 2009-04-16 00:40:43 UTC (rev 9560)
@@ -140,6 +140,7 @@
<programlisting><![CDATA[
autogen.sh
./configure --prefix=`pwd`/inst
+ make # Nb: this cannot be combined with the next step
make install]]></programlisting>
<para>It should automake, configure and compile without errors,
|
|
From: <sv...@va...> - 2009-04-16 00:40:04
|
Author: njn
Date: 2009-04-16 01:40:02 +0100 (Thu, 16 Apr 2009)
New Revision: 9559
Log:
Fix the installation instructions in the manual.
Modified:
trunk/README
trunk/docs/xml/manual-writing-tools.xml
Modified: trunk/README
===================================================================
--- trunk/README 2009-04-16 00:37:57 UTC (rev 9558)
+++ trunk/README 2009-04-16 00:40:02 UTC (rev 9559)
@@ -87,7 +87,7 @@
options are documented in the INSTALL file. The only interesting
one is the usual --prefix=/where/you/want/it/installed.
- 5. Do "make".
+ 5. Do "make". (Nb: this cannot be combined with the next step.)
6. Do "make install", possibly as root if the destination permissions
require that.
Modified: trunk/docs/xml/manual-writing-tools.xml
===================================================================
--- trunk/docs/xml/manual-writing-tools.xml 2009-04-16 00:37:57 UTC (rev 9558)
+++ trunk/docs/xml/manual-writing-tools.xml 2009-04-16 00:40:02 UTC (rev 9559)
@@ -140,6 +140,7 @@
<programlisting><![CDATA[
autogen.sh
./configure --prefix=`pwd`/inst
+ make # Nb: this cannot be combined with the next step
make install]]></programlisting>
<para>It should automake, configure and compile without errors,
|
|
From: <sv...@va...> - 2009-04-16 00:38:00
|
Author: njn
Date: 2009-04-16 01:37:57 +0100 (Thu, 16 Apr 2009)
New Revision: 9558
Log:
Merge r9556 (clarify crash/abort message) from the trunk.
Modified:
branches/VALGRIND_3_4_BRANCH/coregrind/m_libcassert.c
branches/VALGRIND_3_4_BRANCH/coregrind/m_mallocfree.c
branches/VALGRIND_3_4_BRANCH/docs/xml/FAQ.xml
Modified: branches/VALGRIND_3_4_BRANCH/coregrind/m_libcassert.c
===================================================================
--- branches/VALGRIND_3_4_BRANCH/coregrind/m_libcassert.c 2009-04-16 00:35:24 UTC (rev 9557)
+++ branches/VALGRIND_3_4_BRANCH/coregrind/m_libcassert.c 2009-04-16 00:37:57 UTC (rev 9558)
@@ -152,14 +152,19 @@
VG_(pp_StackTrace) (ips, BACKTRACE_DEPTH);
VG_(show_sched_status)();
- VG_(printf)("\n");
- VG_(printf)("Note: see also the FAQ.txt in the source distribution.\n");
- VG_(printf)("It contains workarounds to several common problems.\n");
- VG_(printf)("\n");
- VG_(printf)("If that doesn't help, please report this bug to: %s\n\n",
- report);
- VG_(printf)("In the bug report, send all the above text, the valgrind\n");
- VG_(printf)("version, and what Linux distro you are using. Thanks.\n\n");
+ VG_(printf)(
+ "\n"
+ "Note: see also the FAQ in the source distribution.\n"
+ "It contains workarounds to several common problems.\n"
+ "In particular, if Valgrind aborted or crashed after\n"
+ "identifying problems in your program, there's a good chance\n"
+ "that fixing those problems will prevent Valgrind aborting or\n"
+ "crashing, especially if it happened in m_mallocfree.c.\n"
+ "\n"
+ "If that doesn't help, please report this bug to: %s\n\n"
+ "In the bug report, send all the above text, the valgrind\n"
+ "version, and what OS and version you are using. Thanks.\n\n",
+ report);
VG_(exit)(1);
}
Modified: branches/VALGRIND_3_4_BRANCH/coregrind/m_mallocfree.c
===================================================================
--- branches/VALGRIND_3_4_BRANCH/coregrind/m_mallocfree.c 2009-04-16 00:35:24 UTC (rev 9557)
+++ branches/VALGRIND_3_4_BRANCH/coregrind/m_mallocfree.c 2009-04-16 00:37:57 UTC (rev 9558)
@@ -200,23 +200,29 @@
#define SIZE_T_0x1 ((SizeT)0x1)
+static char* probably_your_fault =
+ "This is probably caused by your program erroneously writing past the\n"
+ "end of a heap block and corrupting heap metadata. If you fix any\n"
+ "invalid writes reported by Memcheck, this assertion failure will\n"
+ "probably go away. Please try that before reporting this as a bug.\n";
+
// Mark a bszB as in-use, and not in-use, and remove the in-use attribute.
static __inline__
SizeT mk_inuse_bszB ( SizeT bszB )
{
- vg_assert(bszB != 0);
+ vg_assert2(bszB != 0, probably_your_fault);
return bszB & (~SIZE_T_0x1);
}
static __inline__
SizeT mk_free_bszB ( SizeT bszB )
{
- vg_assert(bszB != 0);
+ vg_assert2(bszB != 0, probably_your_fault);
return bszB | SIZE_T_0x1;
}
static __inline__
SizeT mk_plain_bszB ( SizeT bszB )
{
- vg_assert(bszB != 0);
+ vg_assert2(bszB != 0, probably_your_fault);
return bszB & (~SIZE_T_0x1);
}
@@ -238,9 +244,8 @@
SizeT bszB_lo = *(SizeT*)&b2[0 + hp_overhead_szB()];
SizeT bszB_hi = *(SizeT*)&b2[mk_plain_bszB(bszB_lo) - sizeof(SizeT)];
vg_assert2(bszB_lo == bszB_hi,
- "Heap block lo/hi size mismatch: lo = %llu, hi = %llu.\n"
- "Probably caused by overrunning/underrunning a heap block's bounds.\n",
- (ULong)bszB_lo, (ULong)bszB_hi);
+ "Heap block lo/hi size mismatch: lo = %llu, hi = %llu.\n%s",
+ (ULong)bszB_lo, (ULong)bszB_hi, probably_your_fault);
return bszB_lo;
}
@@ -267,7 +272,7 @@
Bool is_inuse_block ( Block* b )
{
SizeT bszB = get_bszB_as_is(b);
- vg_assert(bszB != 0);
+ vg_assert2(bszB != 0, probably_your_fault);
return (0 != (bszB & SIZE_T_0x1)) ? False : True;
}
@@ -312,7 +317,7 @@
static __inline__
SizeT bszB_to_pszB ( Arena* a, SizeT bszB )
{
- vg_assert(bszB >= overhead_szB(a));
+ vg_assert2(bszB >= overhead_szB(a), probably_your_fault);
return bszB - overhead_szB(a);
}
Modified: branches/VALGRIND_3_4_BRANCH/docs/xml/FAQ.xml
===================================================================
--- branches/VALGRIND_3_4_BRANCH/docs/xml/FAQ.xml 2009-04-16 00:35:24 UTC (rev 9557)
+++ branches/VALGRIND_3_4_BRANCH/docs/xml/FAQ.xml 2009-04-16 00:37:57 UTC (rev 9558)
@@ -142,7 +142,11 @@
<qandaentry id="faq.bugdeath">
<question id="q-bugdeath">
<para>My (buggy) program dies like this:</para>
-<screen>valgrind: m_mallocfree.c:442 (bszW_to_pszW): Assertion 'pszW >= 0' failed.</screen>
+<screen>valgrind: m_mallocfree.c:248 (get_bszB_as_is): Assertion 'bszB_lo == bszB_hi' failed.</screen>
+ <para>or like this:</para>
+<screen>valgrind: m_mallocfree.c:442 (mk_inuse_bszB): Assertion 'bszB != 0' failed.</screen>
+ <para>or otherwise aborts or crashes in m_mallocfree.c.<para/>
+
</question>
<answer id="a-bugdeath">
<para>If Memcheck (the memory checker) shows any invalid reads,
@@ -162,16 +166,20 @@
<screen>vex x86->IR: unhandled instruction bytes: 0x66 0xF 0x2E 0x5</screen>
</question>
<answer id="a-msgdeath">
- <para>Older versions did not support some x86 and amd64 instructions,
- particularly SSE/SSE2/SSE3 instructions. Try a newer Valgrind; we now
- support almost all instructions. If it still breaks, file a bug
+ <para>One possibility is that your program has a bug and erroneously
+ jumps to a non-code address, in which case you'll get a SIGILL signal.
+ Memcheck may issue a warning just before this happens, but it might not
+ if the jump happens to land in addressable memory.</para>
+
+ <para>Another possibility is that Valgrind does not handle the
+ instruction. If you are using an older Valgrind, a newer version might
+ handle the instruction. However, all instruction sets have some
+ obscure, rarely used instructions. Also, on amd64 there are an almost
+ limitless number of combinations of redundant instruction prefixes, many
+ of them undocumented but accepted by CPUs. So Valgrind will still have
+ decoding failures from time to time. If this happens, please file a bug
report.</para>
- <para>Another possibility is that your program has a bug and
- erroneously jumps to a non-code address, in which case you'll get a
- SIGILL signal. Memcheck may issue a warning just before
- this happens, but it might not if the jump happens to land in
- addressable memory.</para>
</answer>
</qandaentry>
|
|
From: <sv...@va...> - 2009-04-16 00:35:33
|
Author: njn
Date: 2009-04-16 01:35:24 +0100 (Thu, 16 Apr 2009)
New Revision: 9557
Log:
Merged r9556 (clarify crash/abort message) from the trunk.
Modified:
branches/DARWIN/coregrind/m_libcassert.c
branches/DARWIN/coregrind/m_mallocfree.c
branches/DARWIN/docs/xml/FAQ.xml
Modified: branches/DARWIN/coregrind/m_libcassert.c
===================================================================
--- branches/DARWIN/coregrind/m_libcassert.c 2009-04-16 00:33:20 UTC (rev 9556)
+++ branches/DARWIN/coregrind/m_libcassert.c 2009-04-16 00:35:24 UTC (rev 9557)
@@ -152,14 +152,19 @@
VG_(pp_StackTrace) (ips, BACKTRACE_DEPTH);
VG_(show_sched_status)();
- VG_(printf)("\n");
- VG_(printf)("Note: see also the FAQ.txt in the source distribution.\n");
- VG_(printf)("It contains workarounds to several common problems.\n");
- VG_(printf)("\n");
- VG_(printf)("If that doesn't help, please report this bug to: %s\n\n",
- report);
- VG_(printf)("In the bug report, send all the above text, the valgrind\n");
- VG_(printf)("version, and what OS and version you are using. Thanks.\n\n" );
+ VG_(printf)(
+ "\n"
+ "Note: see also the FAQ in the source distribution.\n"
+ "It contains workarounds to several common problems.\n"
+ "In particular, if Valgrind aborted or crashed after\n"
+ "identifying problems in your program, there's a good chance\n"
+ "that fixing those problems will prevent Valgrind aborting or\n"
+ "crashing, especially if it happened in m_mallocfree.c.\n"
+ "\n"
+ "If that doesn't help, please report this bug to: %s\n\n"
+ "In the bug report, send all the above text, the valgrind\n"
+ "version, and what OS and version you are using. Thanks.\n\n",
+ report);
VG_(exit)(1);
}
Modified: branches/DARWIN/coregrind/m_mallocfree.c
===================================================================
--- branches/DARWIN/coregrind/m_mallocfree.c 2009-04-16 00:33:20 UTC (rev 9556)
+++ branches/DARWIN/coregrind/m_mallocfree.c 2009-04-16 00:35:24 UTC (rev 9557)
@@ -200,23 +200,29 @@
#define SIZE_T_0x1 ((SizeT)0x1)
+static char* probably_your_fault =
+ "This is probably caused by your program erroneously writing past the\n"
+ "end of a heap block and corrupting heap metadata. If you fix any\n"
+ "invalid writes reported by Memcheck, this assertion failure will\n"
+ "probably go away. Please try that before reporting this as a bug.\n";
+
// Mark a bszB as in-use, and not in-use, and remove the in-use attribute.
static __inline__
SizeT mk_inuse_bszB ( SizeT bszB )
{
- vg_assert(bszB != 0);
+ vg_assert2(bszB != 0, probably_your_fault);
return bszB & (~SIZE_T_0x1);
}
static __inline__
SizeT mk_free_bszB ( SizeT bszB )
{
- vg_assert(bszB != 0);
+ vg_assert2(bszB != 0, probably_your_fault);
return bszB | SIZE_T_0x1;
}
static __inline__
SizeT mk_plain_bszB ( SizeT bszB )
{
- vg_assert(bszB != 0);
+ vg_assert2(bszB != 0, probably_your_fault);
return bszB & (~SIZE_T_0x1);
}
@@ -238,9 +244,8 @@
SizeT bszB_lo = *(SizeT*)&b2[0 + hp_overhead_szB()];
SizeT bszB_hi = *(SizeT*)&b2[mk_plain_bszB(bszB_lo) - sizeof(SizeT)];
vg_assert2(bszB_lo == bszB_hi,
- "Heap block lo/hi size mismatch: lo = %llu, hi = %llu.\n"
- "Probably caused by overrunning/underrunning a heap block's bounds.\n",
- (ULong)bszB_lo, (ULong)bszB_hi);
+ "Heap block lo/hi size mismatch: lo = %llu, hi = %llu.\n%s",
+ (ULong)bszB_lo, (ULong)bszB_hi, probably_your_fault);
return bszB_lo;
}
@@ -267,7 +272,7 @@
Bool is_inuse_block ( Block* b )
{
SizeT bszB = get_bszB_as_is(b);
- vg_assert(bszB != 0);
+ vg_assert2(bszB != 0, probably_your_fault);
return (0 != (bszB & SIZE_T_0x1)) ? False : True;
}
@@ -312,7 +317,7 @@
static __inline__
SizeT bszB_to_pszB ( Arena* a, SizeT bszB )
{
- vg_assert(bszB >= overhead_szB(a));
+ vg_assert2(bszB >= overhead_szB(a), probably_your_fault);
return bszB - overhead_szB(a);
}
Modified: branches/DARWIN/docs/xml/FAQ.xml
===================================================================
--- branches/DARWIN/docs/xml/FAQ.xml 2009-04-16 00:33:20 UTC (rev 9556)
+++ branches/DARWIN/docs/xml/FAQ.xml 2009-04-16 00:35:24 UTC (rev 9557)
@@ -142,7 +142,11 @@
<qandaentry id="faq.bugdeath">
<question id="q-bugdeath">
<para>My (buggy) program dies like this:</para>
-<screen>valgrind: m_mallocfree.c:442 (bszW_to_pszW): Assertion 'pszW >= 0' failed.</screen>
+<screen>valgrind: m_mallocfree.c:248 (get_bszB_as_is): Assertion 'bszB_lo == bszB_hi' failed.</screen>
+ <para>or like this:</para>
+<screen>valgrind: m_mallocfree.c:442 (mk_inuse_bszB): Assertion 'bszB != 0' failed.</screen>
+ <para>or otherwise aborts or crashes in m_mallocfree.c.<para/>
+
</question>
<answer id="a-bugdeath">
<para>If Memcheck (the memory checker) shows any invalid reads,
@@ -162,16 +166,20 @@
<screen>vex x86->IR: unhandled instruction bytes: 0x66 0xF 0x2E 0x5</screen>
</question>
<answer id="a-msgdeath">
- <para>Older versions did not support some x86 and amd64 instructions,
- particularly SSE/SSE2/SSE3 instructions. Try a newer Valgrind; we now
- support almost all instructions. If it still breaks, file a bug
+ <para>One possibility is that your program has a bug and erroneously
+ jumps to a non-code address, in which case you'll get a SIGILL signal.
+ Memcheck may issue a warning just before this happens, but it might not
+ if the jump happens to land in addressable memory.</para>
+
+ <para>Another possibility is that Valgrind does not handle the
+ instruction. If you are using an older Valgrind, a newer version might
+ handle the instruction. However, all instruction sets have some
+ obscure, rarely used instructions. Also, on amd64 there are an almost
+ limitless number of combinations of redundant instruction prefixes, many
+ of them undocumented but accepted by CPUs. So Valgrind will still have
+ decoding failures from time to time. If this happens, please file a bug
report.</para>
- <para>Another possibility is that your program has a bug and
- erroneously jumps to a non-code address, in which case you'll get a
- SIGILL signal. Memcheck may issue a warning just before
- this happens, but it might not if the jump happens to land in
- addressable memory.</para>
</answer>
</qandaentry>
|
|
From: <sv...@va...> - 2009-04-16 00:33:25
|
Author: njn
Date: 2009-04-16 01:33:20 +0100 (Thu, 16 Apr 2009)
New Revision: 9556
Log:
Made the Valgrind abort/crash message clearer about the fact that it can be
caused by heap corruption by the client. Also clarified the FAQ about this.
Also updated the FAQ about decoding failures a little.
Modified:
trunk/coregrind/m_libcassert.c
trunk/coregrind/m_mallocfree.c
trunk/docs/xml/FAQ.xml
Modified: trunk/coregrind/m_libcassert.c
===================================================================
--- trunk/coregrind/m_libcassert.c 2009-04-16 00:15:25 UTC (rev 9555)
+++ trunk/coregrind/m_libcassert.c 2009-04-16 00:33:20 UTC (rev 9556)
@@ -152,14 +152,19 @@
VG_(pp_StackTrace) (ips, BACKTRACE_DEPTH);
VG_(show_sched_status)();
- VG_(printf)("\n");
- VG_(printf)("Note: see also the FAQ.txt in the source distribution.\n");
- VG_(printf)("It contains workarounds to several common problems.\n");
- VG_(printf)("\n");
- VG_(printf)("If that doesn't help, please report this bug to: %s\n\n",
- report);
- VG_(printf)("In the bug report, send all the above text, the valgrind\n");
- VG_(printf)("version, and what Linux distro you are using. Thanks.\n\n");
+ VG_(printf)(
+ "\n"
+ "Note: see also the FAQ in the source distribution.\n"
+ "It contains workarounds to several common problems.\n"
+ "In particular, if Valgrind aborted or crashed after\n"
+ "identifying problems in your program, there's a good chance\n"
+ "that fixing those problems will prevent Valgrind aborting or\n"
+ "crashing, especially if it happened in m_mallocfree.c.\n"
+ "\n"
+ "If that doesn't help, please report this bug to: %s\n\n"
+ "In the bug report, send all the above text, the valgrind\n"
+ "version, and what OS and version you are using. Thanks.\n\n",
+ report);
VG_(exit)(1);
}
Modified: trunk/coregrind/m_mallocfree.c
===================================================================
--- trunk/coregrind/m_mallocfree.c 2009-04-16 00:15:25 UTC (rev 9555)
+++ trunk/coregrind/m_mallocfree.c 2009-04-16 00:33:20 UTC (rev 9556)
@@ -200,23 +200,29 @@
#define SIZE_T_0x1 ((SizeT)0x1)
+static char* probably_your_fault =
+ "This is probably caused by your program erroneously writing past the\n"
+ "end of a heap block and corrupting heap metadata. If you fix any\n"
+ "invalid writes reported by Memcheck, this assertion failure will\n"
+ "probably go away. Please try that before reporting this as a bug.\n";
+
// Mark a bszB as in-use, and not in-use, and remove the in-use attribute.
static __inline__
SizeT mk_inuse_bszB ( SizeT bszB )
{
- vg_assert(bszB != 0);
+ vg_assert2(bszB != 0, probably_your_fault);
return bszB & (~SIZE_T_0x1);
}
static __inline__
SizeT mk_free_bszB ( SizeT bszB )
{
- vg_assert(bszB != 0);
+ vg_assert2(bszB != 0, probably_your_fault);
return bszB | SIZE_T_0x1;
}
static __inline__
SizeT mk_plain_bszB ( SizeT bszB )
{
- vg_assert(bszB != 0);
+ vg_assert2(bszB != 0, probably_your_fault);
return bszB & (~SIZE_T_0x1);
}
@@ -238,9 +244,8 @@
SizeT bszB_lo = *(SizeT*)&b2[0 + hp_overhead_szB()];
SizeT bszB_hi = *(SizeT*)&b2[mk_plain_bszB(bszB_lo) - sizeof(SizeT)];
vg_assert2(bszB_lo == bszB_hi,
- "Heap block lo/hi size mismatch: lo = %llu, hi = %llu.\n"
- "Probably caused by overrunning/underrunning a heap block's bounds.\n",
- (ULong)bszB_lo, (ULong)bszB_hi);
+ "Heap block lo/hi size mismatch: lo = %llu, hi = %llu.\n%s",
+ (ULong)bszB_lo, (ULong)bszB_hi, probably_your_fault);
return bszB_lo;
}
@@ -267,7 +272,7 @@
Bool is_inuse_block ( Block* b )
{
SizeT bszB = get_bszB_as_is(b);
- vg_assert(bszB != 0);
+ vg_assert2(bszB != 0, probably_your_fault);
return (0 != (bszB & SIZE_T_0x1)) ? False : True;
}
@@ -312,7 +317,7 @@
static __inline__
SizeT bszB_to_pszB ( Arena* a, SizeT bszB )
{
- vg_assert(bszB >= overhead_szB(a));
+ vg_assert2(bszB >= overhead_szB(a), probably_your_fault);
return bszB - overhead_szB(a);
}
Modified: trunk/docs/xml/FAQ.xml
===================================================================
--- trunk/docs/xml/FAQ.xml 2009-04-16 00:15:25 UTC (rev 9555)
+++ trunk/docs/xml/FAQ.xml 2009-04-16 00:33:20 UTC (rev 9556)
@@ -142,7 +142,11 @@
<qandaentry id="faq.bugdeath">
<question id="q-bugdeath">
<para>My (buggy) program dies like this:</para>
-<screen>valgrind: m_mallocfree.c:442 (bszW_to_pszW): Assertion 'pszW >= 0' failed.</screen>
+<screen>valgrind: m_mallocfree.c:248 (get_bszB_as_is): Assertion 'bszB_lo == bszB_hi' failed.</screen>
+ <para>or like this:</para>
+<screen>valgrind: m_mallocfree.c:442 (mk_inuse_bszB): Assertion 'bszB != 0' failed.</screen>
+ <para>or otherwise aborts or crashes in m_mallocfree.c.<para/>
+
</question>
<answer id="a-bugdeath">
<para>If Memcheck (the memory checker) shows any invalid reads,
@@ -162,16 +166,20 @@
<screen>vex x86->IR: unhandled instruction bytes: 0x66 0xF 0x2E 0x5</screen>
</question>
<answer id="a-msgdeath">
- <para>Older versions did not support some x86 and amd64 instructions,
- particularly SSE/SSE2/SSE3 instructions. Try a newer Valgrind; we now
- support almost all instructions. If it still breaks, file a bug
+ <para>One possibility is that your program has a bug and erroneously
+ jumps to a non-code address, in which case you'll get a SIGILL signal.
+ Memcheck may issue a warning just before this happens, but it might not
+ if the jump happens to land in addressable memory.</para>
+
+ <para>Another possibility is that Valgrind does not handle the
+ instruction. If you are using an older Valgrind, a newer version might
+ handle the instruction. However, all instruction sets have some
+ obscure, rarely used instructions. Also, on amd64 there are an almost
+ limitless number of combinations of redundant instruction prefixes, many
+ of them undocumented but accepted by CPUs. So Valgrind will still have
+ decoding failures from time to time. If this happens, please file a bug
report.</para>
- <para>Another possibility is that your program has a bug and
- erroneously jumps to a non-code address, in which case you'll get a
- SIGILL signal. Memcheck may issue a warning just before
- this happens, but it might not if the jump happens to land in
- addressable memory.</para>
</answer>
</qandaentry>
|
|
From: <sv...@va...> - 2009-04-16 00:15:36
|
Author: njn Date: 2009-04-16 01:15:25 +0100 (Thu, 16 Apr 2009) New Revision: 9555 Log: Merged r9554 (fix for older automakes) from the trunk. Modified: branches/DARWIN/Makefile.flags.am Modified: branches/DARWIN/Makefile.flags.am =================================================================== --- branches/DARWIN/Makefile.flags.am 2009-04-15 23:58:26 UTC (rev 9554) +++ branches/DARWIN/Makefile.flags.am 2009-04-16 00:15:25 UTC (rev 9555) @@ -18,9 +18,20 @@ # Flags for specific targets. +# # Nb: the AM_CPPFLAGS_* values are suitable for building tools and auxprogs. # For building the core, coregrind/Makefile.am files add some extra things. +# +# Also: in newer versions of automake (1.10 onwards?) asm files ending with +# '.S' are considered "pre-processed" (as opposed to those ending in '.s') +# and so the CPPFLAGS are passed to the assembler. But this is not true for +# older automakes (e.g. 1.8.5, 1.9.6), sigh. So we include +# AM_CPPFLAGS_<PLATFORM> in each AM_CCASFLAGS_<PLATFORM> variable. This +# means some of the flags are duplicated on systems with newer versions of +# automake, but this does not really matter and seems hard to avoid. + AM_CPPFLAGS_COMMON = \ + -I$(top_srcdir) \ -I$(top_srcdir)/include \ -I@VEX_DIR@/pub @@ -31,7 +42,7 @@ -DVGP_x86_linux=1 AM_CFLAGS_X86_LINUX = @FLAG_M32@ @PREFERRED_STACK_BOUNDARY@ \ $(AM_CFLAGS_BASE) -AM_CCASFLAGS_X86_LINUX = @FLAG_M32@ -g +AM_CCASFLAGS_X86_LINUX = $(AM_CPPFLAGS_X86_LINUX) @FLAG_M32@ -g AM_FLAG_M3264_AMD64_LINUX = @FLAG_M64@ AM_CPPFLAGS_AMD64_LINUX = $(AM_CPPFLAGS_COMMON) \ @@ -40,7 +51,7 @@ -DVGP_amd64_linux=1 AM_CFLAGS_AMD64_LINUX = @FLAG_M64@ -fomit-frame-pointer \ @PREFERRED_STACK_BOUNDARY@ $(AM_CFLAGS_BASE) -AM_CCASFLAGS_AMD64_LINUX = @FLAG_M64@ -g +AM_CCASFLAGS_AMD64_LINUX = $(AM_CPPFLAGS_AMD64_LINUX) @FLAG_M64@ -g AM_FLAG_M3264_PPC32_LINUX = @FLAG_M32@ AM_CPPFLAGS_PPC32_LINUX = $(AM_CPPFLAGS_COMMON) \ @@ -48,7 +59,7 @@ -DVGO_linux=1 \ -DVGP_ppc32_linux=1 AM_CFLAGS_PPC32_LINUX = @FLAG_M32@ $(AM_CFLAGS_BASE) -AM_CCASFLAGS_PPC32_LINUX = @FLAG_M32@ -g +AM_CCASFLAGS_PPC32_LINUX = $(AM_CPPFLAGS_PPC32_LINUX) @FLAG_M32@ -g AM_FLAG_M3264_PPC64_LINUX = @FLAG_M64@ AM_CPPFLAGS_PPC64_LINUX = $(AM_CPPFLAGS_COMMON) \ @@ -56,7 +67,7 @@ -DVGO_linux=1 \ -DVGP_ppc64_linux=1 AM_CFLAGS_PPC64_LINUX = @FLAG_M64@ $(AM_CFLAGS_BASE) -AM_CCASFLAGS_PPC64_LINUX = @FLAG_M64@ -g +AM_CCASFLAGS_PPC64_LINUX = $(AM_CPPFLAGS_PPC64_LINUX) @FLAG_M64@ -g AM_FLAG_M3264_PPC32_AIX5 = @FLAG_MAIX32@ AM_CPPFLAGS_PPC32_AIX5 = $(AM_CPPFLAGS_COMMON) \ @@ -64,7 +75,8 @@ -DVGO_aix5=1 \ -DVGP_ppc32_aix5=1 AM_CFLAGS_PPC32_AIX5 = @FLAG_MAIX32@ -mcpu=powerpc $(AM_CFLAGS_BASE) -AM_CCASFLAGS_PPC32_AIX5 = @FLAG_MAIX32@ -mcpu=powerpc -g +AM_CCASFLAGS_PPC32_AIX5 = $(AM_CPPFLAGS_PPC32_AIX5) \ + @FLAG_MAIX32@ -mcpu=powerpc -g AM_FLAG_M3264_PPC64_AIX5 = @FLAG_MAIX64@ AM_CPPFLAGS_PPC64_AIX5 = $(AM_CPPFLAGS_COMMON) \ @@ -72,7 +84,8 @@ -DVGO_aix5=1 \ -DVGP_ppc64_aix5=1 AM_CFLAGS_PPC64_AIX5 = @FLAG_MAIX64@ -mcpu=powerpc64 $(AM_CFLAGS_BASE) -AM_CCASFLAGS_PPC64_AIX5 = @FLAG_MAIX64@ -mcpu=powerpc64 -g +AM_CCASFLAGS_PPC64_AIX5 = $(AM_CPPFLAGS_PPC64_AIX5) \ + @FLAG_MAIX64@ -mcpu=powerpc64 -g AM_FLAG_M3264_X86_DARWIN = -arch i386 AM_CPPFLAGS_X86_DARWIN = $(AM_CPPFLAGS_COMMON) \ @@ -82,9 +95,7 @@ AM_CFLAGS_X86_DARWIN = $(WERROR) -arch i386 $(AM_CFLAGS_BASE) \ -mmacosx-version-min=10.5 -fno-stack-protector \ -mdynamic-no-pic -# GrP fixme -O0 for debugging goes here; -O3 crashes -# [Nb: that comment was from when we had -gstabs here instead of -g] -AM_CCASFLAGS_X86_DARWIN = $(add_includes_x86_darwin) -arch i386 -g -O0 +AM_CCASFLAGS_X86_DARWIN = $(AM_CPPFLAGS_X86_DARWIN) -arch i386 -g AM_FLAG_M3264_AMD64_DARWIN = -arch x86_64 AM_CPPFLAGS_AMD64_DARWIN = $(AM_CPPFLAGS_COMMON) \ @@ -94,7 +105,7 @@ AM_CFLAGS_AMD64_DARWIN = $(WERROR) -arch x86_64 $(AM_CFLAGS_BASE) \ -mmacosx-version-min=10.5 -fno-stack-protector # GrP fixme -O0 for debugging goes here -AM_CCASFLAGS_AMD64_DARWIN = $(add_includes_amd64_darwin) -arch x86_64 -g +AM_CCASFLAGS_AMD64_DARWIN = $(AM_CPPFLAGS_AMD64_DARWIN) -arch x86_64 -g # Flags for the primary target. These must be used to build the # regtests and performance tests. In fact, these must be used to |