On Feb 15, 2011, at 5:24 PM, ext Karol Lewandowski wrote:
On 02/15/2011 01:36 PM, Lauri T. Aarnio wrote:
Anyway, one more thing to test out now is to use strace; check if the
crashing program is able to reserve memory with brk. See if brk
starts
to return the same value just before the program crashes. If that
is the
case, then your problem probably looks and feels very much like
what we
had seen here in the past.
Exactly.
19301 execve("/home/lmctl/sbs/tools/lib/ld-linux.so.2", ["/home/
lmctl/sbs/tools/lib/ld-lin"..., "--rpath-prefix", "/home/lmctl/sbs/
tools", "
--nodefaultdirs", "--argv0", "/bin/bash", "/home/lmctl/sbs/tools/bin/
bash", "-c", "echo bug"], [/* 68 vars */]) = 0
19301 brk(0) = 0x55573000
19301 open("/home/lmctl/sbs/tools/bin/bash", O_RDONLY) = 3
...
19301 mprotect(0x55571000, 4096, PROT_READ) = 0
19301 brk(0) = 0x55573000
19301 brk(0x55574000) = 0x55573000
Yes, looks like the same thing.
btw, I'm using ubuntu lucid 64-bit, tools are 32-bit (but not from
ubuntu or debian, instead you can probably guess where those came
from
:-) and I haven't seen this problem since we finally got the fix to
ubuntu.
Hmm... it also fails on ubuntu 10.04/i386 machine running kernel
2.6.32-28.55 (linux-image-2.6.32-28-generic).
I've been using 2.6.32-25-server.
It is still possible that bash has some role in triggering this, since
it has it's own version of memory allocation routines. And even worse,
it exports them to the other libraries with the common names, i.e. the
bash binary contains and exports malloc(), free(), etc. Definitely a
really bad programming practice, something that I have newer
understood. But in any case, the kernel is the component which fails
to allocate memory...
Lauri
_______________________________________________
Scratchbox-devel mailing list
[email protected]
http://lists.scratchbox.org/cgi-bin/mailman/listinfo/scratchbox-devel