rotalever
2007-02-23, 22:28:08
Ich hab ein mehr oder weniger kleines C Programm, was ich hier auch nicht posten kann. Auf jeden Fall bricht die glibc im Linux es nach kurzer Zeit hiermit ab:
*** glibc detected *** corrupted double-linked list: 0xXXXXXXXX ***
Das passiert in fast allen Fällen, nur selten mal nicht. Der Fehler ist aber auf jeden Fall reproduzierbar. Nach gdb ist ein Fehler an einer Stelle in meinem Code, wo ich ein free(..) mache. Da kann aber eigentlich kein Fehler sein! Da ich vorher ein malloc(..) und später eben ein free(..) mache, da ist ein Fehler unmöglich.
Da ich eine GUI (GTK) in diesem Programm verwende, dachte ich es könnte daran liegen. Wenn ich die GUI aus dem Programm ausbaue, und die selben Funktionen ablaufen lasse, tritt der Fehler NIE auf. Mein Verdacht liegt also darin, dass ich keinen Fehler gemacht habe sondern entweder die GTK-lib oder eine andere, die von GTK benutzt wird den Fehler produziert. Kann das sein?
Und, was bedeutet der Fehler eigentlich genau?
Die libs habe ich bei meinem Debian auch auf den neuesten Stand gebracht...
*** glibc detected *** corrupted double-linked list: 0xXXXXXXXX ***
Das passiert in fast allen Fällen, nur selten mal nicht. Der Fehler ist aber auf jeden Fall reproduzierbar. Nach gdb ist ein Fehler an einer Stelle in meinem Code, wo ich ein free(..) mache. Da kann aber eigentlich kein Fehler sein! Da ich vorher ein malloc(..) und später eben ein free(..) mache, da ist ein Fehler unmöglich.
Da ich eine GUI (GTK) in diesem Programm verwende, dachte ich es könnte daran liegen. Wenn ich die GUI aus dem Programm ausbaue, und die selben Funktionen ablaufen lasse, tritt der Fehler NIE auf. Mein Verdacht liegt also darin, dass ich keinen Fehler gemacht habe sondern entweder die GTK-lib oder eine andere, die von GTK benutzt wird den Fehler produziert. Kann das sein?
Und, was bedeutet der Fehler eigentlich genau?
Die libs habe ich bei meinem Debian auch auf den neuesten Stand gebracht...