Wie »stack smashing detected«untersuchen?

28/01/2009 - 13:30 von Jörg Sommer | Report spam
Hi,

ich bekomme bei einem Programm einen Abbruch mit »stack smashing
detected«. Wenn ich das Programm im gdb laufen lasse und es dann anhàlt,
bekomme ich mit bt keine sinnvollen Angaben:

Program received signal SIGABRT, Aborted.
0x1fbe642c in ?? ()
(gdb) bt
#0 0x1fbe642c in ?? ()
#1 0x1fbe80c4 in ?? ()
#2 0x1fbe81f0 in ?? ()
#3 0x1fc27fc4 in ?? ()
#4 0x1fcb488c in ?? ()
#5 0x1fcb4818 in ?? ()

In dem Backtrace, der automatisch ausgegeben wird, sehe ich allerdings
sinnvolle Angaben:

= Backtrace: ==/lib/libc.so.6(__fortify_fail+0x6c)[0x1fcb488c]
/lib/libc.so.6[0x1fcb4818]
/home/joerg/git/debian/jed/src/objs/xjed(_savefpr_14+0x0)[0x20050ef4]
/home/joerg/git/debian/jed/src/objs/xjed[0x2003a4b4]
/lib/libslang.so.2[0x1ff08c54]
/lib/libslang.so.2[0x1ff09ca8]
/lib/libslang.so.2[0x1ff0e744]
/lib/libslang.so.2[0x1ff09c70]

Wie kann ich der Ursache dieses Abbruchs nachgehen?

Gruß, Jörg.
Was man mühelos erreichen kann, ist gewöhnlich nicht der Mühe wert,
erreicht zu werden.
 

Lesen sie die antworten

#1 Markus Raab
28/01/2009 - 14:31 | Warnen spam
Jörg Sommer wrote:

ich bekomme bei einem Programm einen Abbruch mit »stack smashing
detected«. Wenn ich das Programm im gdb laufen lasse und es dann anhàlt,
bekomme ich mit bt keine sinnvollen Angaben:



Ich hatte das Problem einmal wie ich eine Funktion aufrufen wollte von einer
Library die (natürlich nicht absichtlich) bereits mit dlclose (bzw. den
libtool Pendant) geschlossen war.

Ich weiss nicht ob man es verallgemeinern kann dass so ein Fehler auftritt
wenn eine nicht existente Funktion aufgerufen wird.

Làdst du in deinem Programm Module und verwendest sie?

mfg Markus

Ähnliche fragen