Bug#540373: libc6: malloc.c, segmentation fault now and then
Hinn 9. ágúst 2009 lét Aurelien Jarno þetta frá sér fara:
> On Sun, Aug 09, 2009 at 05:22:27PM +0000, Bjarni Ingi Gislason wrote:
> > Some more information about dump in ftp.
> >
> > 1) No dump if text is keyed in, instead of using the macro "$safn ...".
> > (only tested once)
>
> Is the problem always reproducible?
>
No, but I found a solution, see next item.
...
> > dir std* "| more"
> > 200 PORT command successful.
> > 150 Opening ASCII mode data connection for /bin/ls.
> > *** glibc detected *** ftp: corrupted double-linked list: 0x09ceb050 ***
>
> This sounds like a bug in the ftp package.
>
Thanks for the tip. This bug has been reported for the ftp package.
Bug #508378 explains the situation. One then only needs to add enough
spaces to the definition of the macro, in my case 2 spaces after the
first word, to get it working.
I think I should report the segmentation fault from "ace-of-penguins"
to that package.
There are still issues with "malloc.c" on my mind.
1) The libc6-dbg package should not be compiled with the -O option (see
"<value optimized out>" in a backtrace). Use that library only for the
program to be tested (e.g.
env LD_LIBRARY_PATH=/usr/lib/debug <program(s) ...>.
or add the name after ".../debug" if the variable exists.
Put that in a file and source the file. Repeating is thus simple.
Such information could be in a README file (now absent) with some
references about debugging.
2) The segmentation fault is in the "unlink(nextchunk, bck, fwd)"
function, but it is a "#define". Therefore no backtrace???
Maybe a compile dependent version of "unlink" should be used if
debugging information is created (option -g).
3) Even an "malloc(512)" can cause a segmentation fault (example with
"mtrace()", line 314: malloc (TRACE_BUFFER_SIZE) ).
4) Errors (warnings) could be better phrased for the novices
Suggestion: Instead of
*** glibc detected *** ftp: corrupted double-linked list: 0x09ceb050 ***
use e.g.
*** glibc detected invalid data from ftp: ...
Generally state with a sentence (if known):
1) Who is reporting
2) What is done
3) Why is it done (cause of problem)
4) Who is the culprit
--
Bjarni I. Gislason
Reply to: