komischer segfault

Disclaimer: Dieser Thread wurde aus dem alten Forum importiert. Daher werden eventuell nicht alle Formatierungen richtig angezeigt. Der ursprüngliche Thread beginnt im zweiten Post dieses Threads.

komischer segfault
Hi,

ich weiß ich bin spät dran, aber ich habe hier einen segfault in meinem wsort, den ich nicht verstehe. wsort funktioniert und gibt die sortierten dinger auch alle richtig aus, nur beim beenden kommt vom system ein segfault. Hier mal die letzten paar anweisungen mit gdb debugged:

main (argc=1, argv=0xafdf8944) at wsort.c:35
35 return 0;
(gdb) s
36 }
(gdb) s
0xa7ea9e36 in __libc_start_main () from /lib/libc.so.6
(gdb) s
Single stepping until exit from function __libc_start_main,
which has no line number information.

Program received signal SIGSEGV, Segmentation fault.
0xa7ff13d9 in _dl_init () from /lib/ld-linux.so.2

also man sieht, die main wurde schon beendet. Hat jemand eine Ahnung was dieses nette _dl_init() ist? und warum des teil bitte einen segfault schmeißt wo doch das programm schon fertig ist…

Vielen Dank!


lass es mal mit valgrind laufen - das gibt dir vielleicht nen hinweis ob du wo hinschreibst wo du nicht solltest. Was noch sein kann ist dass du nen statischen buffer freigibst - also du hast in main z.B. char buffer[100]; und machst jetzt free drauf oder solche sachen.

“_dl_init” ist die funktion die dir funktionen aus der libc dynamisch bindet - also immer wenn du eine funktion aus der libc oder einer anderen .so datei aufrufst kommt die beim ersten mal (außer ich vertausch etz gerade “_dl_init” mit einer anderen die mit “dl” anfängt - ich hoff mein Erinnerungsvermögen passt noch so weit).

die vielen " weil sonst alles unterstrichen wird …


kann es sein das du versuchst eine zeile zuviel auszugeben


Hi,

so es läuft jetzt dank einer kleinen debug session mit TheChip in ICQ. Ich hatte einfach vergessen einen pointer zu initialisieren, lustigerweise hat das prog trotzdem funktioniert…

also keine Hexenwerk sonder nur ein dummer pointer Anfänger Fehler…

vielen Dank für eure schnellen kommentare…

Cu Andi