Während des Laufens ein Perl-Programm, das ich die folgende Fehler aufgetreten*** glibc erkannt *** perl: Doppel frei oder Korruption (i!): 0x0c2b7138 ***
*** glibc detected *** perl: double free or corruption (!prev): 0x0c2b7138 *** /lib/tls/i686/cmov/libc.so.6[0xb7daea85] /lib/tls/i686/cmov/libc.so.6(cfree+0x90)[0xb7db24f0] perl(Perl_pregfree+0x3e)[0x80a004e] perl(perl_destruct+0xcf1)[0x806b711] /usr/local/lib/perl/5.8.8/auto/threads/threads.so[0xb79d2dfb] /usr/local/lib/perl/5.8.8/auto/threads/threads.so[0xb79d2f9b] /usr/local/lib/perl/5.8.8/auto/threads/threads.so[0xb79d5fbb] /lib/tls/i686/cmov/libpthread.so.0[0xb7e974fb] /lib/tls/i686/cmov/libc.so.6(clone+0x5e)[0xb7e19e5e]
Mein OS ist Ubuntu 8.04, Perl Version ist 5.8.8
Meine Skripts enthält Threads ... Ich kann den Code nicht teilen, aber wollte wissen, ob jemand Erfahrung mit dieser Art von Fehlern hatte und wie Sie es gelöst/angegangen/analysiert hatten. Gibt es irgendwelche Werkzeuge/Protokolle, auf die ich zurückgreifen könnte, um an solchen Problemen zu arbeiten?
Vielen Dank für Ihre Unterstützung.
P.S: Ich weiß, dass Threads nicht die idealen Freunde für jemanden sind. Ich kontrolliere jedoch nicht die Entscheidung, Perl zu verwenden. Ich behalte nur den Code.
Das Bremsen in Threads bekam eine Menge Kopfschmerzen für mich .. Danke für diese Info. :) So konnte ich tatsächlich herausfinden, was das Problem war. Bin gerade nicht zurückgekommen und habe deine Lösung markiert. – kingpin