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

Reply via email to