Hallo,
ich habe seit ein paar Stunden folgendes Problem:
Beim starten des Server über Putty kommt ein Segmentation fault.
Den Fehler konnte ich auf folgende Funktion eingrenzen:
Function()
{
new result[100];
for(new h=0; h<sizeof Array; h++)
{
format(mysql_string, sizeof mysql_string, "SELECT * FROM table WHERE id LIKE '%d'", h+1);
mysql_fix_query(mysql_string, sql);
mysql_store_result(sql);
if(mysql_num_rows(sql) == 1)
{
mysql_fetch_field_row(result,"owner", sql);
format(Array[h][hoOwner], MAX_PLAYER_NAME, "%s", result);
mysql_fetch_field_row(result,"name", sql);
format(Array[h][hoName], 52, "%s", result);
mysql_fetch_field_row(result,"hx", sql); Array[h][hoX] = floatstr( result );
mysql_fetch_field_row(result,"hy", sql); Array[h][hoY] = floatstr( result );
mysql_fetch_field_row(result,"hz", sql); Array[h][hoZ] = floatstr( result );
mysql_fetch_field_row(result,"owned", sql); Array[h][hoOwned] = strval( result );
}
return 1;
}
Die Zeile mysql_fetch_field_row(result,"owner", sql); verursacht meiner Meinung nach den Error.
Es laufen die Plugins mysql.so (Von Strickenkid), sscanf2.so, streamer.so (Von Inkognito) und whirpool.so
Das Serverlog ist ohne Auffälligkeiten.
Das komische:
Wenn ich den Server mit dem Plugin crashdetect.so startet, dann startet der Server. Ohne startet er garnicht.
Das ist aber erst, seit ich obrige Function eingebaut habe.
Ich hab aus lauter Verzweiflung den ganzen Server mit strace überprüft.
Die ausgabe hab ich mal angehängt, aber ich finde dabei keinen schwerwiegenden Fehler, der auf einen Segmentation fault hinweist.
Als Server läuft Debian Squeeze 64 Bit mit 32 Bit Libary, MySQL 5.1.66 per ATP installiert.
Server wird als eigener Benutzer ohne Admin Rechte ausgeführt, was bislang auch ohne Probleme geklappt hat.
Falls weiter Infos benötigt werden bitte melden.
MfG
Wepper
//Edit
So, endlich hinbekommen. Der Server startet jetzt überhaupt nicht mehr
.
Crashdetect spuckt folgendes aus:
[07:23:16] [debug] Server crashed while executing selfmade.amx
[07:23:16] [debug] AMX backtrace:
[07:23:16] [debug] #0 native mysql_fetch_field () [f6a83610] from mysql.so
[07:23:16] [debug] #1 00007e50 in mysql_fetch_field_row (dest[]=@0x0002a4bc "", fieldname[]=@0x0001f84c "owner", MySQL:handle=0) at C:\Users\Lucas\Downloads\selfmade Script\gamemodes\selfmade.pwn:75
[07:23:16] [debug] #2 000144c4 in LoadHotels () at C:\PFAD_ZUM_SERVER\gamemodes\selfmade.pwn:1666
[07:23:16] [debug] #3 0000bf30 in public SSCANF_OnGameModeInit () at C:\PFAD_ZUM_SERVER\gamemodes\selfmade.pwn:603
[07:23:16] [debug] #4 00001950 in public Streamer_OnGameModeInit () at C:\PFAD_ZUM_SERVER\pawno\include\sscanf2.inc:174
[07:23:16] [debug] #5 native CallLocalFunction () [080d24b0] from samp03svr
[07:23:16] [debug] #6 000011e0 in public OnGameModeInit () at C:\PFAD_ZUM_SERVER\pawno\include\streamer.inc:323
[07:23:16] [debug] Native backtrace:
[07:23:16] [debug] #0 f74f060b in _ZN10StackTraceC1EPv () from plugins/crashdetect.so
[07:23:16] [debug] #1 f74e7e92 in _ZN11CrashDetect20PrintNativeBacktraceEPv () from plugins/crashdetect.so
[07:23:16] [debug] #2 f74e98d9 in _ZN11CrashDetect11OnExceptionEPv () from plugins/crashdetect.so
[07:23:16] [debug] #3 f74f02a0 in ?? () from plugins/crashdetect.so
[07:23:16] [debug] #4 f77a9410 in ?? ()
[07:23:16] [debug] #5 f6a80b79 in _ZN5MySQL11fetch_fieldEPKc () from plugins/mysql.so
[07:23:16] [debug] #6 f6a836d7 in _ZN7Natives19n_mysql_fetch_fieldEP6tagAMXPi () from plugins/mysql.so
[07:23:16] [debug] #7 080938e4 in ?? () from ./samp03svr
[07:23:16] [debug] #8 f74e75fc in _ZN11CrashDetect13DoAmxCallbackEiPiS0_ () from plugins/crashdetect.so
[07:23:16] [debug] #9 f74ec15c in ?? () from plugins/crashdetect.so
[07:23:16] [debug] #10 f74f464d in amx_Exec () from plugins/crashdetect.so
[07:23:16] [debug] #11 f74e9abb in _ZN11CrashDetect9DoAmxExecEPii () from plugins/crashdetect.so
[07:23:16] [debug] #12 f74ec100 in ?? () from plugins/crashdetect.so
[07:23:16] [debug] #13 080d2752 in ?? () from ./samp03svr
[07:23:16] [debug] #14 080938e4 in ?? () from ./samp03svr
[07:23:16] [debug] #15 f74e75fc in _ZN11CrashDetect13DoAmxCallbackEiPiS0_ () from plugins/crashdetect.so
[07:23:16] [debug] #16 f74ec15c in ?? () from plugins/crashdetect.so
[07:23:16] [debug] #17 f74f464d in amx_Exec () from plugins/crashdetect.so
[07:23:16] [debug] #18 f74e9abb in _ZN11CrashDetect9DoAmxExecEPii () from plugins/crashdetect.so
[07:23:16] [debug] #19 f74ec100 in ?? () from plugins/crashdetect.so
[07:23:16] [debug] #20 080ac89b in ?? () from ./samp03svr
[07:23:16] [debug] #21 080b278d in ?? () from ./samp03svr
[07:23:16] [debug] #22 080b1057 in ?? () from ./samp03svr
[07:23:16] [debug] #23 f7515ca6 in __libc_start_main () from /lib32/libc.so.6
[07:23:16] [debug] #24 0804b521 in ?? () from ./samp03svr
Alles anzeigen
Die Function, die hier Probleme macht, ist die obrige.
//Edit 2:
Wenn ich den Server mit strace starte, stürzt er nicht ab, zumindest ist er jetzt grad 3 mal ohne Probleme hochgefahren.
Aber dass ist doch nicht die Lösung?!