Grüssi!
Nachdem ich nun endlich den Tuxracer-Code mit dem GCC-3.3 zum Laufen bekommen habe, hatte ich noch immer einen Segfault beim Start von tuxracer.
Ich konnte das Problem jetzt auf die Zeile
Code:
Tcl_EvalFile( g_game.tcl_interp, GAME_INIT_SCRIPT);
eingrenzen. Jedoch ist mir nicht klar, wesshalb diese Zeile einen Segfault verursacht.
Nur weil ich einen anderen Compilier verwendet habe, das tuxracer welches bei SuSE mitgeliefert wird, funktioniert einwandfrei.
Auch wurde der Interpreter kurz vorher initialisiert:
Code:
g_game.tcl_interp = NULL;
g_game.tcl_interp = Tcl_CreateInterp();
if ( g_game.tcl_interp == NULL ) {
handle_error( 1, "cannot create Tcl interpreter" );
}
Hat irgendjemand eine Idee an was dieser komische Segfault liegen kann?
GDB liefert nur folgendes:
Code:
#0 0x404ffdd7 in __strtod_internal () from /lib/i686/libc.so.6
#1 0x080aaf96 in text_colour ()
#2 0xbfffe588 in ?? ()
#3 0x40231b5e in TclGetNamespaceForQualName () from /usr/lib/libtcl8.4.so
Previous frame inner to this frame (corrupt stack?)
Also anscheinend ein Problem in TclGetNamespaceForQualName?
Lesezeichen