*** glibc detected *** double free or corruption (!prev): [...]
Alexander Gretencord
arutha at gmx.de
Fri May 2 15:04:55 CEST 2008
On Friday 02 May 2008, Stefan U. Hegner wrote:
> Maximilian Wilhelm schrieb:
> > Am Thursday, den 1 May hub Stefan U. Hegner folgendes in die Tasten:
> >> *** glibc detected *** double free or corruption (!prev):
> >> 0x00000000005510a0 ***
> > Das kann ein einfacher Programmierfehler sein.
> Finde ich nicht wahrscheinlich bei einem Paket aus Etch, oder? Es sei
> denn, es knallt nut unter ganz bestimmten Rahmenbedingungen.
Das ist meist genau das Problem, das mit den Rahmenbedingungen. Mailinglisten
wie Bugtraq sind voll von solchen total unwahrscheinlichen Problemen in fuer
Produktion freigegebenen Programmen :)
> > Optimalerweise solltest Du dann sehen können, wo es geknallt hat.
>
> So weit so gut. - Aber was ist der Sinn davon? Dann habe ich nochmal so
> einen Fehler nachgebaut, und dann? Oder willst Du mir sagen, dass das
> Problem möglicherweise außerhalb von Mondoarchive liegt und mir Dein
> Programm helfen soll, jenes genauer zu lokalisieren?
Ich denke das war einfach dazu da, um zu erklaeren, wie einfach ein solcher
Fehler passieren kann und um zu zeigen, wie du in Mondoarchive danach suchen
kannst.
Wenn in Mondo jetzt zum Beispiel nur unter einer wie von dir vermuteten
bestimmten Rahmenbedingung der zweite free gemacht wird, knallts. Ebenso wenn
der Zeiger fuer den Speicher, der gefree()t werden soll leider mit etwas
unsinnigem ueberschrieben wurde. Dazu siehe auch die Antwort von Andre, der
Valgrind ist da echt fein, da er einiges an Fehlern anzeigt, was dir
beim "Normaldurchlauf" gar nicht auffaellt, sondern erst bei den "bestimmten
Rahmenbedingungen".
Alex
More information about the Linux
mailing list