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
(8) |
2
(11) |
3
(21) |
4
(15) |
5
(10) |
|
6
(7) |
7
(7) |
8
(5) |
9
(7) |
10
(5) |
11
(1) |
12
(21) |
|
13
(8) |
14
(17) |
15
(6) |
16
(10) |
17
(7) |
18
(6) |
19
(15) |
|
20
(12) |
21
(16) |
22
(25) |
23
(14) |
24
(10) |
25
(7) |
26
(6) |
|
27
(34) |
28
(13) |
29
(10) |
30
(8) |
|
|
|
|
From: Nicholas N. <nj...@ca...> - 2004-06-27 12:38:24
|
CVS commit by nethercote:
typo
M +1 -1 vg_errcontext.c 1.54
--- valgrind/coregrind/vg_errcontext.c #1.53:1.54
@@ -239,5 +239,5 @@ static void gen_suppression(Error* err)
} else {
VG_(printf)(" ???:??? "
- "# unknown, suppression will not work, sorry)\n");
+ "# unknown, suppression will not work, sorry\n");
}
i++;
|
|
From: Nicholas N. <nj...@ca...> - 2004-06-27 12:32:54
|
On Sun, 27 Jun 2004, Tom Hughes wrote: > I thought this was something to do with prelinking as it doesn't > seem to happen on my FC2 box where prelinking is turned off, but > it doesn't happen on an FC1 box with prelinking on either. > > It does happen on my RH9 box at work where I think libc is prelinked > although there is no daily cronjob to update prelinking like there > is in Fedora. > > Looking at libc with objdump -p shows that the virtual addresses > for each section are set to those high numbers on RH9 but are set > to zero on the FC boxes. I see, mine is a RH9 box. Thanks for the info. N |
|
From: Nicholas N. <nj...@ca...> - 2004-06-27 12:30:20
|
CVS commit by nethercote:
Printing slightly more informative message when mmap fails.
M +3 -1 vg_symtab2.c 1.80
--- valgrind/coregrind/vg_symtab2.c #1.79:1.80
@@ -1189,5 +1189,7 @@ Bool vg_read_lib_symbols ( SegInfo* si )
if (oimage == ((Addr)(-1))) {
VG_(message)(Vg_UserMsg,
- "mmap failed on %s", si->filename );
+ "warning: mmap failed on %s", si->filename );
+ VG_(message)(Vg_UserMsg,
+ " no symbols or debug info loaded" );
return False;
}
|
|
From: Nicholas N. <nj...@ca...> - 2004-06-27 12:30:02
|
CVS commit by nethercote:
Changed (client-heap-size : client-map-seg-size) ratio from 3:1 to 1:2.
As a result, can now mmap much more memory (eg. for Memcheck, 850MB up from
250MB, for Nulgrind 1750MB up from 700MB). The heap is smaller, but that
doesn't matter much, since programs use brk() directly only rarely, and
malloc() falls back on mmap() if brk() fails anyway.
Also changed the debug info printing for memory layout slightly.
M +31 -16 vg_main.c 1.165
--- valgrind/coregrind/vg_main.c #1.164:1.165
@@ -84,5 +84,6 @@
#define CLIENT_SIZE_MULTIPLE (1 * 1024*1024)
-#define ISSPACE(cc) ((cc) == ' ' || (cc) == '\t' || (cc) == '\n')
+/* Proportion of client space for its heap (rest is for mmaps + stack) */
+#define CLIENT_HEAP_PROPORTION 0.333
/*====================================================================*/
@@ -496,13 +497,4 @@ static void layout_client_space(Addr arg
VG_(valgrind_end) = ROUNDUP(argc_addr, 0x10000); /* stack */
- if (0)
- printf("client base: %x\n"
- "valgrind base--end: %x--%x (%x)\n"
- "valgrind mmap end: %x\n\n",
- VG_(client_base),
- VG_(valgrind_base), VG_(valgrind_end),
- VG_(valgrind_end) - VG_(valgrind_base),
- VG_(valgrind_mmap_end));
-
as_pad((void *)VG_(client_base), (void *)VG_(valgrind_base));
}
@@ -518,4 +510,7 @@ static void layout_remaining_space(float
VG_(client_end) = VG_(client_base) + client_size;
VG_(client_mapbase) = PGROUNDDN((client_size/4)*3); /* where !FIXED mmap goes */
+
+ /* where !FIXED mmap goes */
+ VG_(client_mapbase) = PGROUNDDN((addr_t)(client_size * CLIENT_HEAP_PROPORTION));
VG_(client_trampoline_code) = VG_(client_end) - VKI_BYTES_PER_PAGE;
@@ -523,11 +518,27 @@ static void layout_remaining_space(float
VG_(shadow_end) = VG_(shadow_base) + shadow_size;
+#define SEGSIZE(a,b) ((VG_(b) - VG_(a))/(1024*1024))
+
if (0)
- printf("client base--end: %x--%x (%x)\n"
- "client mapbase: %x\n"
- "shadow base--end: %x--%x (%x)\n\n",
- VG_(client_base), VG_(client_end), client_size,
- VG_(client_mapbase),
- VG_(shadow_base), VG_(shadow_end), shadow_size);
+ VG_(printf)(
+ "client_base %8x (%dMB)\n"
+ "client_mapbase %8x (%dMB)\n"
+ "client_end %8x (%dMB)\n"
+ "shadow_base %8x (%dMB)\n"
+ "shadow_end %8x (%dMB)\n"
+ "valgrind_base %8x (%dMB)\n"
+ "valgrind_mmap_end %8x (%dMB)\n"
+ "valgrind_end %8x\n",
+ VG_(client_base), SEGSIZE(client_base, client_mapbase),
+ VG_(client_mapbase), SEGSIZE(client_mapbase, client_end),
+ VG_(client_end), SEGSIZE(client_end, shadow_base),
+ VG_(shadow_base), SEGSIZE(shadow_base, shadow_end),
+ VG_(shadow_end), SEGSIZE(shadow_end, valgrind_base),
+ VG_(valgrind_base), SEGSIZE(valgrind_base, valgrind_mmap_end),
+ VG_(valgrind_mmap_end), SEGSIZE(valgrind_mmap_end, valgrind_end),
+ VG_(valgrind_end)
+ );
+
+#undef SEGSIZE
// Ban redzone
@@ -574,4 +585,6 @@ static char* get_file_clo(char* dir)
}
+#define ISSPACE(cc) ((cc) == ' ' || (cc) == '\t' || (cc) == '\n')
+
static Int count_args(char* s)
{
@@ -610,4 +623,6 @@ static char** copy_args( char* s, char**
}
+#undef ISSPACE
+
// Augment command line with arguments from environment and .valgrindrc
// files.
|
|
From: Julian S. <js...@ac...> - 2004-06-27 12:14:12
|
On Sunday 27 June 2004 12:39, Nicholas Nethercote wrote: > On Sun, 27 Jun 2004, Tom Hughes wrote: > > Does anybody have any particular objections to removing the use of > > nested functions in valgrind? I haven't looked at it in any detail > > yet and I know that at least some of them make use of stack variables > > from the parent function which makes removing them non-trivial but > > it could be done. [...] > > Another advantage of removing the nested functions is that the practice is > one of the things that prevents Valgrind from being compiled with the > Intel C compiler. It's the only thing, I think, that prevents building with Icc. At some point in the past I did exactly this nested fn removal, and the result works with Icc. It's an hour's work or so, not a big deal. It'll make you a Hero(tm) with the Icc people, who have asked more than once to make valgrind icc-compilable. Probably a good thing to do. Another reason is Icc uses a completely different C/C++ front end from gcc/g++ and so produces a whole different set of warnings. Ideally V should compile cleanly with both compilers. J |
|
From: Tom H. <th...@cy...> - 2004-06-27 12:07:33
|
In message <Pin...@he...>
Nicholas Nethercote <nj...@ca...> wrote:
> On my machine, it seems that /lib/tls/libc.so is always put at address
> 0x42000000. All other .so files seem to move around and get put near the
> base of the mmap-segment. Here's an example -- with Memcheck, here the
> mmap-segment starts at 0x1b8e4000, and all the other .so files are put
> around there, but /lib/tlc/libc.so isn't:
I thought this was something to do with prelinking as it doesn't
seem to happen on my FC2 box where prelinking is turned off, but
it doesn't happen on an FC1 box with prelinking on either.
It does happen on my RH9 box at work where I think libc is prelinked
although there is no daily cronjob to update prelinking like there
is in Fedora.
Looking at libc with objdump -p shows that the virtual addresses
for each section are set to those high numbers on RH9 but are set
to zero on the FC boxes.
Tom
--
Tom Hughes (th...@cy...)
Software Engineer, Cyberscience Corporation
http://www.cyberscience.com/
|
|
From: Nicholas N. <nj...@ca...> - 2004-06-27 11:39:15
|
On Sun, 27 Jun 2004, Tom Hughes wrote:
> Does anybody have any particular objections to removing the use of
> nested functions in valgrind? I haven't looked at it in any detail
> yet and I know that at least some of them make use of stack variables
> from the parent function which makes removing them non-trivial but
> it could be done.
I don't mind. The usual hack is to use a global variable, eg:
int foo(int x)
{
int nest(void)
{
... something with x ...
}
...
}
becomes
int x_for_nest_in_foo;
int foo(int x)
{
x_for_nest_in_foo = x;
int nest(void)
{
... something with x_for_nest_in_foo ...
}
...
}
I think there are a couple of examples like this already. I like to use
horrible long names for the global variables that make it extremely clear
why they're there.
Another advantage of removing the nested functions is that the practice is
one of the things that prevents Valgrind from being compiled with the
Intel C compiler.
N
|
|
From: Nicholas N. <nj...@ca...> - 2004-06-27 11:35:19
|
Hi, On my machine, it seems that /lib/tls/libc.so is always put at address 0x42000000. All other .so files seem to move around and get put near the base of the mmap-segment. Here's an example -- with Memcheck, here the mmap-segment starts at 0x1b8e4000, and all the other .so files are put around there, but /lib/tlc/libc.so isn't: 08048000-08049000 r-xp 00000000 00:0e 4309378 /auto/homes/njn25/grind/head6/mmap 08049000-0804a000 rw-p 00000000 00:0e 4309378 /auto/homes/njn25/grind/head6/mmap 1b8e4000-1b8f9000 r-xp 00000000 09:03 74918 /lib/ld-2.3.2.so 1b8f9000-1b8fa000 rw-p 00015000 09:03 74918 /lib/ld-2.3.2.so 1b8fb000-1b8fc000 rw-p 00000000 00:00 0 1b8fd000-1b8fe000 r-xp 00000000 00:0e 12496364 /auto/homes/njn25/grind/head6/coregrind/vg_inject.so 1b8fe000-1b8ff000 rw-p 00000000 00:0e 12496364 /auto/homes/njn25/grind/head6/coregrind/vg_inject.so 1b900000-1b905000 r-xp 00000000 00:0e 7789291 /auto/homes/njn25/grind/head6/memcheck/vgpreload_memcheck.so 1b905000-1b906000 rw-p 00004000 00:0e 7789291 /auto/homes/njn25/grind/head6/memcheck/vgpreload_memcheck.so 1b907000-1b908000 rw-p 00000000 00:00 0 1b913000-1b914000 rw-p 00000000 00:00 0 42000000-42130000 r-xp 00000000 09:03 75056 /lib/tls/libc-2.3.2.so 42130000-42133000 rw-p 00130000 09:03 75056 /lib/tls/libc-2.3.2.so 42133000-42136000 rw-p 00000000 00:00 0 This is a bit frustrating because it often cuts the mmap-segment into two pieces unnecessarily, which reduces the size of the biggest mmap that can be made. Any ideas why this might be so? I guess this could be mapped in with with MAP_FIXED... I tried tweaking things so that 0x42000000 isn't available to the client (by artificially inflating Memcheck's shadow memory needs) and I got this: date: error while loading shared libraries: libc.so.6: failed to map segment from shared object: Cannot allocate memory It's probably out of our control, which I can live with, ok, but I am curious as to why this is happening. N |
|
From: Tom H. <th...@cy...> - 2004-06-27 11:32:14
|
In message <71c...@lo...>
Tom Hughes <th...@cy...> wrote:
> In message <4da...@ma...>
> Joseph Turian <tu...@gm...> wrote:
>
> > I wanted to pass on a comment from the Gentoo bug report:
> > "On another note it would be nice to get all of the trampolines
> > resolved in valgrind as well."
> > (http://bugs.gentoo.org/show_bug.cgi?id=54068#c5)
> >
> > Not sure what is meant by this, but maybe you do.
>
> I have no idea what it means... Perhaps you could find out?
>
> The only thing I can think they're talking about is the issue with
> nested functions in gcc, which cause trampolines to be built on the
> stack that valgrind can't handle.
I've now heard from the person who wrote that and apparently what they
were talking about is the fact that several routines in valgrind use
nested functions themselves, which causes gcc to mark those object as
needing an executable stack which in turn stops things like NX support
from kicking in.
Does anybody have any particular objections to removing the use of
nested functions in valgrind? I haven't looked at it in any detail
yet and I know that at least some of them make use of stack variables
from the parent function which makes removing them non-trivial but
it could be done.
Tom
--
Tom Hughes (th...@cy...)
Software Engineer, Cyberscience Corporation
http://www.cyberscience.com/
|
|
From: Tom H. <to...@co...> - 2004-06-27 02:25:16
|
Nightly build on dunsmere ( Fedora Core 2 ) started at 2004-06-27 03:20:02 BST Checking out source tree ... done Configuring ... done Building ... done Running regression tests ... done Last 20 lines of log.verbose follow shorts: valgrind ./shorts smc1: valgrind ./smc1 susphello: valgrind ./susphello syscall-restart1: valgrind ./syscall-restart1 syscall-restart2: valgrind ./syscall-restart2 system: valgrind ./system yield: valgrind ./yield -- Finished tests in none/tests ---------------------------------------- == 169 tests, 7 stderr failures, 1 stdout failure ================= corecheck/tests/fdleak_cmsg (stderr) corecheck/tests/fdleak_fcntl (stderr) corecheck/tests/fdleak_ipv4 (stderr) corecheck/tests/fdleak_socketpair (stderr) memcheck/tests/buflen_check (stderr) memcheck/tests/execve (stderr) memcheck/tests/writev (stderr) none/tests/exec-sigmask (stdout) make: *** [regtest] Error 1 |
|
From: Tom H. <th...@cy...> - 2004-06-27 02:19:50
|
Nightly build on audi ( Red Hat 9 ) started at 2004-06-27 03:15:02 BST Checking out source tree ... done Configuring ... done Building ... done Running regression tests ... done Last 20 lines of log.verbose follow shorts: valgrind ./shorts smc1: valgrind ./smc1 susphello: valgrind ./susphello syscall-restart1: valgrind ./syscall-restart1 syscall-restart2: valgrind ./syscall-restart2 system: valgrind ./system yield: valgrind ./yield -- Finished tests in none/tests ---------------------------------------- == 169 tests, 8 stderr failures, 0 stdout failures ================= corecheck/tests/fdleak_cmsg (stderr) corecheck/tests/fdleak_fcntl (stderr) corecheck/tests/fdleak_ipv4 (stderr) corecheck/tests/fdleak_socketpair (stderr) corecheck/tests/pth_cancel2 (stderr) memcheck/tests/buflen_check (stderr) memcheck/tests/execve (stderr) memcheck/tests/writev (stderr) make: *** [regtest] Error 1 |
|
From: Tom H. <th...@cy...> - 2004-06-27 02:13:20
|
Nightly build on ginetta ( Red Hat 8.0 ) started at 2004-06-27 03:10:02 BST Checking out source tree ... done Configuring ... done Building ... done Running regression tests ... done Last 20 lines of log.verbose follow sem: valgrind ./sem semlimit: valgrind ./semlimit sha1_test: valgrind ./sha1_test shortpush: valgrind ./shortpush shorts: valgrind ./shorts smc1: valgrind ./smc1 susphello: valgrind ./susphello syscall-restart1: valgrind ./syscall-restart1 syscall-restart2: valgrind ./syscall-restart2 system: valgrind ./system yield: valgrind ./yield -- Finished tests in none/tests ---------------------------------------- == 169 tests, 4 stderr failures, 0 stdout failures ================= helgrind/tests/deadlock (stderr) helgrind/tests/race (stderr) helgrind/tests/race2 (stderr) memcheck/tests/writev (stderr) make: *** [regtest] Error 1 |
|
From: Tom H. <th...@cy...> - 2004-06-27 02:08:18
|
Nightly build on alvis ( Red Hat 7.3 ) started at 2004-06-27 03:05:02 BST Checking out source tree ... done Configuring ... done Building ... done Running regression tests ... done Last 20 lines of log.verbose follow smc1: valgrind ./smc1 susphello: valgrind ./susphello syscall-restart1: valgrind ./syscall-restart1 syscall-restart2: valgrind ./syscall-restart2 system: valgrind ./system yield: valgrind ./yield -- Finished tests in none/tests ---------------------------------------- == 169 tests, 8 stderr failures, 1 stdout failure ================= helgrind/tests/deadlock (stderr) helgrind/tests/race (stderr) helgrind/tests/race2 (stderr) memcheck/tests/badfree-2trace (stderr) memcheck/tests/badjump (stderr) memcheck/tests/brk (stderr) memcheck/tests/error_counts (stdout) memcheck/tests/new_nothrow (stderr) memcheck/tests/writev (stderr) make: *** [regtest] Error 1 |
|
From: Tom H. <th...@cy...> - 2004-06-27 02:07:26
|
Nightly build on standard ( Red Hat 7.2 ) started at 2004-06-27 03:00:01 BST Checking out source tree ... done Configuring ... done Building ... done Running regression tests ... done Last 20 lines of log.verbose follow resolv: valgrind ./resolv rlimit_nofile: valgrind ./rlimit_nofile seg_override: valgrind ./seg_override sem: valgrind ./sem semlimit: valgrind ./semlimit sha1_test: valgrind ./sha1_test shortpush: valgrind ./shortpush shorts: valgrind ./shorts smc1: valgrind ./smc1 susphello: valgrind ./susphello syscall-restart1: valgrind ./syscall-restart1 syscall-restart2: valgrind ./syscall-restart2 system: valgrind ./system yield: valgrind ./yield -- Finished tests in none/tests ---------------------------------------- == 169 tests, 1 stderr failure, 0 stdout failures ================= memcheck/tests/badfree-2trace (stderr) make: *** [regtest] Error 1 |
|
From: Tom H. <th...@cy...> - 2004-06-26 11:28:05
|
CVS commit by thughes:
Implement an emulated soft limit for file descriptors in addition to
the current reserved area, which effectively acts as a hard limit. The
setrlimit system call now simply updates the emulated limits as best
as possible - the hard limit is not allowed to move at all and just
returns EPERM if you try and change it.
This should stop reductions in the soft limit causing assertions when
valgrind tries to allocate descriptors from the reserved area.
A none/tests/rlimit_nofile.c 1.1 [POSSIBLY UNSAFE: printf] [no copyright]
A none/tests/rlimit_nofile.stderr.exp 1.1
A none/tests/rlimit_nofile.stdout.exp 1.1
A none/tests/rlimit_nofile.vgtest 1.1
M +3 -2 coregrind/vg_include.h 1.197
M +7 -5 coregrind/vg_main.c 1.164
M +3 -3 coregrind/vg_mylibc.c 1.74
M +40 -26 coregrind/vg_syscalls.c 1.103
M +1 -0 none/tests/.cvsignore 1.17
M +4 -2 none/tests/Makefile.am 1.39
--- valgrind/coregrind/vg_include.h #1.196:1.197
@@ -178,6 +178,7 @@ extern Int VG_(main_pid);
extern Int VG_(main_pgrp);
-/* Maximum allowed application-visible file descriptor */
-extern Int VG_(max_fd);
+/* Application-visible file descriptor limits */
+extern Int VG_(fd_soft_limit);
+extern Int VG_(fd_hard_limit);
/* Should we stop collecting errors if too many appear? default: YES */
--- valgrind/coregrind/vg_main.c #1.163:1.164
@@ -144,6 +144,7 @@ Int VG_(main_pid);
Int VG_(main_pgrp);
-/* Maximum allowed application-visible file descriptor */
-Int VG_(max_fd) = -1;
+/* Application-visible file descriptor limits */
+Int VG_(fd_soft_limit) = -1;
+Int VG_(fd_hard_limit) = -1;
/* As deduced from esp_at_startup, the client's argc, argv[] and
@@ -1906,5 +1907,5 @@ static void process_cmd_line_options( UI
/* Move log_fd into the safe range, so it doesn't conflict with any app fds */
- eventually_log_fd = VG_(fcntl)(VG_(clo_log_fd), VKI_F_DUPFD, VG_(max_fd)+1);
+ eventually_log_fd = VG_(fcntl)(VG_(clo_log_fd), VKI_F_DUPFD, VG_(fd_hard_limit));
if (eventually_log_fd < 0)
VG_(message)(Vg_UserMsg, "valgrind: failed to move logfile fd into safe range");
@@ -2025,5 +2026,6 @@ static void setup_file_descriptors(void)
/* Reserve some file descriptors for our use. */
- VG_(max_fd) = rl.rlim_cur - VG_N_RESERVED_FDS;
+ VG_(fd_soft_limit) = rl.rlim_cur - VG_N_RESERVED_FDS;
+ VG_(fd_hard_limit) = rl.rlim_cur - VG_N_RESERVED_FDS;
/* Update the soft limit. */
@@ -2800,5 +2802,5 @@ int main(int argc, char **argv)
// Process Valgrind's + tool's command-line options
// p: load_tool() [for 'tool']
- // p: setup_file_descriptors() [for 'VG_(max_fd)']
+ // p: setup_file_descriptors() [for 'VG_(fd_xxx_limit)']
// p: sk_pre_clo_init [to set 'command_line_options' need]
//--------------------------------------------------------------
--- valgrind/coregrind/vg_mylibc.c #1.73:1.74
@@ -1264,7 +1264,7 @@ Int VG_(safe_fd)(Int oldfd)
Int newfd;
- vg_assert(VG_(max_fd) != -1);
+ vg_assert(VG_(fd_hard_limit) != -1);
- newfd = VG_(fcntl)(oldfd, VKI_F_DUPFD, VG_(max_fd)+1);
+ newfd = VG_(fcntl)(oldfd, VKI_F_DUPFD, VG_(fd_hard_limit));
if (newfd != -1)
VG_(close)(oldfd);
@@ -1272,5 +1272,5 @@ Int VG_(safe_fd)(Int oldfd)
VG_(fcntl)(newfd, VKI_F_SETFD, VKI_FD_CLOEXEC);
- vg_assert(newfd > VG_(max_fd));
+ vg_assert(newfd >= VG_(fd_hard_limit));
return newfd;
}
--- valgrind/coregrind/vg_syscalls.c #1.102:1.103
@@ -514,5 +514,5 @@ void record_fd_close(Int tid, Int fd)
OpenFd *i = allocated_fds;
- if (fd > VG_(max_fd))
+ if (fd >= VG_(fd_hard_limit))
return; /* Valgrind internal */
@@ -547,5 +547,5 @@ void record_fd_open(Int tid, Int fd, cha
OpenFd *i;
- if (fd > VG_(max_fd))
+ if (fd >= VG_(fd_hard_limit))
return; /* Valgrind internal */
@@ -1056,7 +1056,7 @@ static Addr do_brk(Addr newbrk)
/* Return true if we're allowed to use or create this fd */
-static Bool fd_allowed(Int fd, const Char *syscall, ThreadId tid)
+static Bool fd_allowed(Int fd, const Char *syscall, ThreadId tid, Bool soft)
{
- if (fd < 0 || fd > VG_(max_fd) || fd == VG_(clo_log_fd)) {
+ if (fd < 0 || fd >= VG_(fd_hard_limit) || fd == VG_(clo_log_fd)) {
VG_(message)(Vg_UserMsg,
"Warning: invalid file descriptor %d in syscall %s()",
@@ -1071,4 +1071,7 @@ static Bool fd_allowed(Int fd, const Cha
return False;
}
+ else if (soft && fd >= VG_(fd_soft_limit)) {
+ return False;
+ }
return True;
}
@@ -2100,5 +2103,5 @@ PRE(close)
MAYBE_PRINTF("close ( %d )\n",arg1);
/* Detect and negate attempts by the client to close Valgrind's log fd */
- if (!fd_allowed(arg1, "close", tid))
+ if (!fd_allowed(arg1, "close", tid, False))
res = -VKI_EBADF;
}
@@ -2118,5 +2121,5 @@ POST(dup)
{
MAYBE_PRINTF("%d\n", res);
- if (!fd_allowed(res, "dup", tid)) {
+ if (!fd_allowed(res, "dup", tid, True)) {
VG_(close)(res);
res = -VKI_EMFILE;
@@ -2131,5 +2134,5 @@ PRE(dup2)
/* int dup2(int oldfd, int newfd); */
MAYBE_PRINTF("dup2 ( %d, %d ) ...\n", arg1,arg2);
- if (!fd_allowed(arg2, "dup2", tid))
+ if (!fd_allowed(arg2, "dup2", tid, True))
res = -VKI_EBADF;
}
@@ -2153,5 +2156,5 @@ POST(fcntl)
{
if (arg2 == VKI_F_DUPFD) {
- if (!fd_allowed(res, "fcntl(DUPFD)", tid)) {
+ if (!fd_allowed(res, "fcntl(DUPFD)", tid, True)) {
VG_(close)(res);
res = -VKI_EMFILE;
@@ -2192,5 +2195,5 @@ POST(fcntl64)
{
if (arg2 == VKI_F_DUPFD) {
- if (!fd_allowed(res, "fcntl64(DUPFD)", tid)) {
+ if (!fd_allowed(res, "fcntl64(DUPFD)", tid, True)) {
VG_(close)(res);
res = -VKI_EMFILE;
@@ -2513,5 +2516,6 @@ POST(getrlimit)
switch(arg1) {
case VKI_RLIMIT_NOFILE:
- ((vki_rlimit *)arg2)->rlim_cur = VG_(max_fd);
+ ((vki_rlimit *)arg2)->rlim_cur = VG_(fd_soft_limit);
+ ((vki_rlimit *)arg2)->rlim_max = VG_(fd_hard_limit);
break;
@@ -4146,5 +4150,5 @@ PRE(open)
POST(open)
{
- if (!fd_allowed(res, "open", tid)) {
+ if (!fd_allowed(res, "open", tid, True)) {
VG_(close)(res);
res = -VKI_EMFILE;
@@ -4161,5 +4165,5 @@ PRE(read)
MAYBE_PRINTF("read ( %d, %p, %d )\n", arg1, arg2, arg3);
- if (!fd_allowed(arg1, "read", tid))
+ if (!fd_allowed(arg1, "read", tid, False))
res = -VKI_EBADF;
}
@@ -4175,5 +4179,5 @@ PRE(write)
/* size_t write(int fd, const void *buf, size_t count); */
MAYBE_PRINTF("write ( %d, %p, %d )\n", arg1, arg2, arg3);
- if (!fd_allowed(arg1, "write", tid))
+ if (!fd_allowed(arg1, "write", tid, False))
res = -VKI_EBADF;
else
@@ -4190,5 +4194,5 @@ PRE(creat)
POST(creat)
{
- if (!fd_allowed(res, "creat", tid)) {
+ if (!fd_allowed(res, "creat", tid, True)) {
VG_(close)(res);
res = -VKI_EMFILE;
@@ -4212,6 +4216,6 @@ POST(pipe)
Int *p = (Int *)arg1;
- if (!fd_allowed(p[0], "pipe", tid) ||
- !fd_allowed(p[1], "pipe", tid)) {
+ if (!fd_allowed(p[0], "pipe", tid, True) ||
+ !fd_allowed(p[1], "pipe", tid, True)) {
VG_(close)(p[0]);
VG_(close)(p[1]);
@@ -4266,5 +4270,5 @@ PRE(epoll_create)
POST(epoll_create)
{
- if (!fd_allowed(res, "open", tid)) {
+ if (!fd_allowed(res, "open", tid, True)) {
VG_(close)(res);
res = -VKI_EMFILE;
@@ -4323,5 +4327,5 @@ PRE(readv)
struct iovec * vec;
MAYBE_PRINTF("readv ( %d, %p, %d )\n",arg1,arg2,arg3);
- if (!fd_allowed(arg1, "readv", tid)) {
+ if (!fd_allowed(arg1, "readv", tid, False)) {
res = -VKI_EBADF;
} else {
@@ -4528,5 +4532,15 @@ PRE(setrlimit)
arg2, sizeof(struct vki_rlimit) );
- if (arg1 == VKI_RLIMIT_DATA) {
+ if (arg1 == VKI_RLIMIT_NOFILE) {
+ if (((vki_rlimit *)arg2)->rlim_cur > VG_(fd_hard_limit) ||
+ ((vki_rlimit *)arg2)->rlim_max != VG_(fd_hard_limit)) {
+ res = -VKI_EPERM;
+ }
+ else {
+ VG_(fd_soft_limit) = ((vki_rlimit *)arg2)->rlim_cur;
+ res = 0;
+ }
+ }
+ else if (arg1 == VKI_RLIMIT_DATA) {
VG_(client_rlimit_data) = *(vki_rlimit *)arg2;
res = 0;
@@ -4772,6 +4786,6 @@ POST(socketcall)
Int fd2 = ((UInt*)((UInt*)arg2)[3])[1];
VG_TRACK( post_mem_write, ((UInt*)arg2)[3], 2*sizeof(int) );
- if (!fd_allowed(fd1, "socketcall.socketpair", tid) ||
- !fd_allowed(fd2, "socketcall.socketpair", tid)) {
+ if (!fd_allowed(fd1, "socketcall.socketpair", tid, True) ||
+ !fd_allowed(fd2, "socketcall.socketpair", tid, True)) {
VG_(close)(fd1);
VG_(close)(fd2);
@@ -4788,5 +4802,5 @@ POST(socketcall)
case SYS_SOCKET:
- if (!fd_allowed(res, "socket", tid)) {
+ if (!fd_allowed(res, "socket", tid, True)) {
VG_(close)(res);
res = -VKI_EMFILE;
@@ -4808,5 +4822,5 @@ POST(socketcall)
case SYS_ACCEPT: {
/* int accept(int s, struct sockaddr *addr, int *addrlen); */
- if (!fd_allowed(res, "accept", tid)) {
+ if (!fd_allowed(res, "accept", tid, True)) {
VG_(close)(res);
res = -VKI_EMFILE;
@@ -5125,5 +5139,5 @@ PRE(writev)
struct iovec * vec;
MAYBE_PRINTF("writev ( %d, %p, %d )\n",arg1,arg2,arg3);
- if (!fd_allowed(arg1, "writev", tid)) {
+ if (!fd_allowed(arg1, "writev", tid, False)) {
res = -VKI_EBADF;
} else {
@@ -5215,7 +5229,7 @@ POST(futex)
VG_TRACK( post_mem_write, arg1, sizeof(int) );
if (arg2 == VKI_FUTEX_FD) {
- if (!fd_allowed(res, "futex", tid)) {
+ if (!fd_allowed(res, "futex", tid, True)) {
VG_(close)(res);
- res = -VKI_ENFILE;
+ res = -VKI_EMFILE;
} else {
if (VG_(clo_track_fds))
--- valgrind/none/tests/.cvsignore #1.16:1.17
@@ -43,4 +43,5 @@
readline1
resolv
+rlimit_nofile
seg_override
sem
--- valgrind/none/tests/Makefile.am #1.38:1.39
@@ -51,4 +51,5 @@
readline1.vgtest \
resolv.stderr.exp resolv.stdout.exp resolv.vgtest \
+ rlimit_nofile.stderr.exp rlimit_nofile.stdout.exp rlimit_nofile.vgtest \
seg_override.stderr.exp \
seg_override.stdout.exp seg_override.vgtest \
@@ -70,6 +71,6 @@
cpuid dastest discard exec-sigmask execve floored fork \
fpu_lazy_eflags fucomip $(INSN_TESTS) \
- int munmap_exe map_unmap mremap rcl_assert \
- rcrl readline1 resolv seg_override sem semlimit sha1_test \
+ int munmap_exe map_unmap mremap rcl_assert rcrl readline1 \
+ resolv rlimit_nofile seg_override sem semlimit sha1_test \
shortpush shorts smc1 susphello pth_blockedsig pushpopseg \
syscall-restart1 syscall-restart2 system \
@@ -120,4 +121,5 @@
readline1_SOURCES = readline1.c
resolv_SOURCES = resolv.c
+rlimit_nofile_SOURCES = rlimit_nofile.c
seg_override_SOURCES = seg_override.c
sem_SOURCES = sem.c
|
|
From: Tom H. <to...@co...> - 2004-06-26 02:25:15
|
Nightly build on dunsmere ( Fedora Core 2 ) started at 2004-06-26 03:20:02 BST Checking out source tree ... done Configuring ... done Building ... done Running regression tests ... done Last 20 lines of log.verbose follow shorts: valgrind ./shorts smc1: valgrind ./smc1 susphello: valgrind ./susphello syscall-restart1: valgrind ./syscall-restart1 syscall-restart2: valgrind ./syscall-restart2 system: valgrind ./system yield: valgrind ./yield -- Finished tests in none/tests ---------------------------------------- == 168 tests, 7 stderr failures, 1 stdout failure ================= corecheck/tests/fdleak_cmsg (stderr) corecheck/tests/fdleak_fcntl (stderr) corecheck/tests/fdleak_ipv4 (stderr) corecheck/tests/fdleak_socketpair (stderr) memcheck/tests/buflen_check (stderr) memcheck/tests/execve (stderr) memcheck/tests/writev (stderr) none/tests/exec-sigmask (stdout) make: *** [regtest] Error 1 |
|
From: Tom H. <th...@cy...> - 2004-06-26 02:19:19
|
Nightly build on audi ( Red Hat 9 ) started at 2004-06-26 03:15:02 BST Checking out source tree ... done Configuring ... done Building ... done Running regression tests ... done Last 20 lines of log.verbose follow shortpush: valgrind ./shortpush shorts: valgrind ./shorts smc1: valgrind ./smc1 susphello: valgrind ./susphello syscall-restart1: valgrind ./syscall-restart1 syscall-restart2: valgrind ./syscall-restart2 system: valgrind ./system yield: valgrind ./yield -- Finished tests in none/tests ---------------------------------------- == 168 tests, 7 stderr failures, 0 stdout failures ================= corecheck/tests/fdleak_cmsg (stderr) corecheck/tests/fdleak_fcntl (stderr) corecheck/tests/fdleak_ipv4 (stderr) corecheck/tests/fdleak_socketpair (stderr) memcheck/tests/buflen_check (stderr) memcheck/tests/execve (stderr) memcheck/tests/writev (stderr) make: *** [regtest] Error 1 |
|
From: Tom H. <th...@cy...> - 2004-06-26 02:13:28
|
Nightly build on ginetta ( Red Hat 8.0 ) started at 2004-06-26 03:10:02 BST Checking out source tree ... done Configuring ... done Building ... done Running regression tests ... done Last 20 lines of log.verbose follow sem: valgrind ./sem semlimit: valgrind ./semlimit sha1_test: valgrind ./sha1_test shortpush: valgrind ./shortpush shorts: valgrind ./shorts smc1: valgrind ./smc1 susphello: valgrind ./susphello syscall-restart1: valgrind ./syscall-restart1 syscall-restart2: valgrind ./syscall-restart2 system: valgrind ./system yield: valgrind ./yield -- Finished tests in none/tests ---------------------------------------- == 168 tests, 4 stderr failures, 0 stdout failures ================= helgrind/tests/deadlock (stderr) helgrind/tests/race (stderr) helgrind/tests/race2 (stderr) memcheck/tests/writev (stderr) make: *** [regtest] Error 1 |
|
From: Tom H. <th...@cy...> - 2004-06-26 02:08:09
|
Nightly build on alvis ( Red Hat 7.3 ) started at 2004-06-26 03:05:01 BST Checking out source tree ... done Configuring ... done Building ... done Running regression tests ... done Last 20 lines of log.verbose follow smc1: valgrind ./smc1 susphello: valgrind ./susphello syscall-restart1: valgrind ./syscall-restart1 syscall-restart2: valgrind ./syscall-restart2 system: valgrind ./system yield: valgrind ./yield -- Finished tests in none/tests ---------------------------------------- == 168 tests, 8 stderr failures, 1 stdout failure ================= helgrind/tests/deadlock (stderr) helgrind/tests/race (stderr) helgrind/tests/race2 (stderr) memcheck/tests/badfree-2trace (stderr) memcheck/tests/badjump (stderr) memcheck/tests/brk (stderr) memcheck/tests/error_counts (stdout) memcheck/tests/new_nothrow (stderr) memcheck/tests/writev (stderr) make: *** [regtest] Error 1 |
|
From: Tom H. <th...@cy...> - 2004-06-26 02:06:40
|
Nightly build on standard ( Red Hat 7.2 ) started at 2004-06-26 03:00:01 BST Checking out source tree ... done Configuring ... done Building ... done Running regression tests ... done Last 20 lines of log.verbose follow readline1: valgrind ./readline1 resolv: valgrind ./resolv seg_override: valgrind ./seg_override sem: valgrind ./sem semlimit: valgrind ./semlimit sha1_test: valgrind ./sha1_test shortpush: valgrind ./shortpush shorts: valgrind ./shorts smc1: valgrind ./smc1 susphello: valgrind ./susphello syscall-restart1: valgrind ./syscall-restart1 syscall-restart2: valgrind ./syscall-restart2 system: valgrind ./system yield: valgrind ./yield -- Finished tests in none/tests ---------------------------------------- == 168 tests, 1 stderr failure, 0 stdout failures ================= memcheck/tests/badfree-2trace (stderr) make: *** [regtest] Error 1 |
|
From: Tom H. <th...@cy...> - 2004-06-25 23:25:16
|
CVS commit by thughes: Ignore all addrcheck test output files. M +4 -4 .cvsignore 1.3 --- valgrind/addrcheck/tests/.cvsignore #1.2:1.3 @@ -1,6 +1,6 @@ Makefile.in Makefile -badrw.stderr.diff -badrw.stderr.out -fprw.stderr.diff -fprw.stderr.out +*.stdout.diff +*.stderr.diff +*.stdout.out +*.stderr.out |
|
From: Josef W. <Jos...@gm...> - 2004-06-25 10:17:54
|
On Monday 21 June 2004 12:15, Nicholas Nethercote wrote: > Josef, > > I've finally (it only took 6 months!) had a close look at your description > of how Calltree accurately tracks function entry/exit. > > I've paraphrased your description to help me understand it better, but I'm > still not quite clear on some points. I looked at the code, but found it > hard to understand. Could you help me? I've written my questions in > square brackets. Here's the description. > > -------- > > Data structures: > > - have a shadow call stack for every thread > [not sure exactly what goes on this] That's the resizable array of struct _call_entry's. Probably most important for call tracking is the %ESP value directly after a CALL, and a pointer to some struct storing information about the call arc or the called function. The esp value is needed to be able to robustly unwind correctly at %esp changes with %esp > stored esp on shadow stack. > Action at BB start -- depends on jmp_kind from previous BB: > > - If jmp_kind is neither JmpCall nor JmpRet (ie. is JmpNone, JmpBoring, > JmpCond or JmpSyscall) and we transferred from one ELF object/section to > another, it must be a function call to a shared library -- treat as a > call. This catches jmps from PLT code. > > - If this is the first BB of a function, treat as a call. This catches > tail calls (which gcc uses for "return f()" with -O2). > [What if a function had a 'goto' back to its beginning? Would that be > interpreted as a call?] Yes. IMHO, there is no way to distinguish between optimized tail recursion using a jump and regular jumping. But as most functions need parameters on the stack, a normal jump will rarely jump to the first BB of a function, wouldn't it? > - Unwind the shadow call stack if necessary. > [when is "necessary"? If the real %esp > the shadow stack %esp?] Yes. Currently I do this at every BB boundary, but perhaps it should be checked at every %esp change. Then, OTOH, it would look strange to attribute instructions of one BB to different functions? > - If this is a function return and there was no shadow stack unwinding, > this must be a RET control transfer (typically used in the runtime > linker). Pop the shadow call stack, setting the previous BB address to > call site and override jmpkind with a CALL. By this, you get 2 function > calls from a calling site. > [I don't understand this... What is a "RET control transfer"? Why do > you end up with 2 function calls -- is that a bad thing?] If there is a RET instruction, this usually should unwind (i.e. leave a function) at least one entry of the shadow call stack. But this doesn't need to be the case, i.e. even after a RET, %esp could be lower or equal to the one on the shadow stack. E.g. suppose PUSH addr RET This is only another way of saying "JMP addr", and doesn't add/remove any stack frame at all. Now, if addr is (according to debug information) inside of another function, this is a JMP between functions, let's say from B to C. Suppose B was called from A, I generate a RETURN event to A and a CALL event from A to C in this case. > - If we're treating the control transfer as a call, push new function call > from previous BB to current BB on shadow call stack. > [when is this information used?] I meant: Append a struct call_entry to the shadow stack (together with the current %esp value). As I said before, the shadow stack is used for robust unwinding. > - Save current BB address to be available for call to handler in next BB. > > > Other actions: > > When entering a signal handler, first push a separation marker on the > thread's shadow stack, then use it as normal. The marker is used for > unwinding when leaving the signal handler. This is fine as there is no > scheduling among signal handlers of one thread. > > Special care is needed at thread switches and enter/leave of signal > handlers, as we need separate shadow call stacks. > [Do you mean "separate shadow call stacks for each thread"?] Yes. > What about stack switching -- does it cope with that? (Not that Valgrind > in general does...) No. If you could give me a hint how to do it, I would be pleased. The problem here IMHO is: How to distinguish among a stack switch and allocating a huge array on the stack? Josef |
|
From: Tom H. <to...@co...> - 2004-06-25 02:25:03
|
Nightly build on dunsmere ( Fedora Core 2 ) started at 2004-06-25 03:20:02 BST Checking out source tree ... done Configuring ... done Building ... done Running regression tests ... done Last 20 lines of log.verbose follow shorts: valgrind ./shorts smc1: valgrind ./smc1 susphello: valgrind ./susphello syscall-restart1: valgrind ./syscall-restart1 syscall-restart2: valgrind ./syscall-restart2 system: valgrind ./system yield: valgrind ./yield -- Finished tests in none/tests ---------------------------------------- == 168 tests, 7 stderr failures, 1 stdout failure ================= corecheck/tests/fdleak_cmsg (stderr) corecheck/tests/fdleak_fcntl (stderr) corecheck/tests/fdleak_ipv4 (stderr) corecheck/tests/fdleak_socketpair (stderr) memcheck/tests/buflen_check (stderr) memcheck/tests/execve (stderr) memcheck/tests/writev (stderr) none/tests/exec-sigmask (stdout) make: *** [regtest] Error 1 |
|
From: Tom H. <th...@cy...> - 2004-06-25 02:19:36
|
Nightly build on audi ( Red Hat 9 ) started at 2004-06-25 03:15:02 BST Checking out source tree ... done Configuring ... done Building ... done Running regression tests ... done Last 20 lines of log.verbose follow shortpush: valgrind ./shortpush shorts: valgrind ./shorts smc1: valgrind ./smc1 susphello: valgrind ./susphello syscall-restart1: valgrind ./syscall-restart1 syscall-restart2: valgrind ./syscall-restart2 system: valgrind ./system yield: valgrind ./yield -- Finished tests in none/tests ---------------------------------------- == 168 tests, 7 stderr failures, 0 stdout failures ================= corecheck/tests/fdleak_cmsg (stderr) corecheck/tests/fdleak_fcntl (stderr) corecheck/tests/fdleak_ipv4 (stderr) corecheck/tests/fdleak_socketpair (stderr) memcheck/tests/buflen_check (stderr) memcheck/tests/execve (stderr) memcheck/tests/writev (stderr) make: *** [regtest] Error 1 |
|
From: Tom H. <th...@cy...> - 2004-06-25 02:13:21
|
Nightly build on ginetta ( Red Hat 8.0 ) started at 2004-06-25 03:10:01 BST Checking out source tree ... done Configuring ... done Building ... done Running regression tests ... done Last 20 lines of log.verbose follow sem: valgrind ./sem semlimit: valgrind ./semlimit sha1_test: valgrind ./sha1_test shortpush: valgrind ./shortpush shorts: valgrind ./shorts smc1: valgrind ./smc1 susphello: valgrind ./susphello syscall-restart1: valgrind ./syscall-restart1 syscall-restart2: valgrind ./syscall-restart2 system: valgrind ./system yield: valgrind ./yield -- Finished tests in none/tests ---------------------------------------- == 168 tests, 4 stderr failures, 0 stdout failures ================= helgrind/tests/deadlock (stderr) helgrind/tests/race (stderr) helgrind/tests/race2 (stderr) memcheck/tests/writev (stderr) make: *** [regtest] Error 1 |