On 11/18/10 09:10, Bruce Korb wrote:
> The limit assigned is not 1 byte, but 10 million.
> The process space after the setrlimit call is far smaller.
> Whatever underlying call malloc uses (beit "sbrk" or even "mmap")
> should *NOT* fail.  The bug is not in the test.  Either glibc
> or the kernel -- perhaps even both.  Please notice that
> adding the following line at the start of the program evades the issue:
> 
>    free (malloc (0x88));

I reported this issue as a bug to glibc:
http://sourceware.org/bugzilla/show_bug.cgi?id=12232
and the unsurprising result is they said, "go away".
But one kind soul asked for an ltrace on the failing program.
That causes the test to succeed, likely because ltrace doesn't
pass through the exit code.  It did "exit(1)" but the test
thought everything was working.  In any case, this isn't the
same problem because the original problem was an allocation failure.
Maybe if I dig far enough, it will show a malloc issue in
"rpl_dprintf()"?

I'll keep digging while I have a little time, but the same two
tests are failing:  test-fprintf-posix3 and test-dprintf-posix2

==> /tmp/dprintf-684-1.ltrc <==
__libc_start_main(0x400860, 2, 0x7fff8ecc0778, 0x4009b0, 0x400a40 <unfinished 
...>
getrlimit(2, 0x7fff8ecc0670, 0x7fff8ecc0790, 0x2b27ce7984a8, 0x2b27ce799320) = 0
setrlimit(2, 0x7fff8ecc0670, 0x7fff8ecc0790, -1, 0x2b27ce799320) = 0
getrlimit(9, 0x7fff8ecc0670, 0x7fff8ecc0790, -1, 0x2b27ce799320) = 0
setrlimit(9, 0x7fff8ecc0670, 0x7fff8ecc0790, -1, 0x2b27ce799320) = 0
strtol(0x7fff8ecc21a5, 0, 10, -1, 0x2b27ce799320) = 1
rpl_dprintf(1, 0x400a9c, 17, 1, 0x2b27ce798580)  = 0xffffffff
__errno_location()                               = 0x2b27ce9bcac8
+++ exited (status 1) ++

Reply via email to