[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: