Падение спартанцев.
#1

Приветствую. Падает сервер. Никаких критических изменении в сценарии не было. Компилирую с ключем -d3 - отладка ссылается на это:

Code:
[01:37:15] [debug] #0 a1f7f240 in _Z13GetStackTraceRSt6vectorI10StackFrameSaIS0_EEPv () from plugins/crashdetect.so
[01:37:15] [debug] #1 a1f770f4 in _ZN11CrashDetect20PrintNativeBacktraceERSoRKN2os7ContextE () from plugins/crashdetect.so
[01:37:15] [debug] #2 a1f77df4 in _ZN11CrashDetect20PrintNativeBacktraceERKN2os7ContextE () from plugins/crashdetect.so
[01:37:15] [debug] #3 a1f79d6b in _ZN11CrashDetect7OnCrashERKN2os7ContextE () from plugins/crashdetect.so
[01:37:15] [debug] #4 a1f7e595 in ?? () from plugins/crashdetect.so
[01:37:15] [debug] #5 a2266410 in ?? ()
[01:37:15] [debug] #6 080ebb16 in ?? () from ./samp03svr
[01:37:15] [debug] #7 080af03c in ?? () from ./samp03svr
[01:37:15] [debug] #8 080aa13a in ?? () from ./samp03svr
[01:37:15] [debug] #9 a1fbee46 in __libc_start_main () from /lib/i386-linux-gnu/i686/cmov/libc.so.6
[01:37:15] [debug] #10 0804b4e1 in ?? () from ./samp03svr
[01:37:15] [debug] Registers:
[01:37:15] [debug] EAX: 08e5fa38 EBX: 094b6490 ECX: 094b6490 EDX: 00000000
[01:37:15] [debug] ESI: 08e5fa39 EDI: 00000003 EBP: b1d1c1e8 ESP: b1d1c1b0
[01:37:15] [debug] EIP: 080ebb16 EFLAGS: 00010212
[01:37:15] [debug] Stack:
[01:37:15] [debug] ESP+00000000: 000001f4 0000005d b1d1c1e8 080c889c
[01:37:15] [debug] ESP+00000020: 08e5fa38 0000005c a18bf008 08e60118
[01:37:15] [debug] ESP+00000040: 08e5fa38 00000003 b1d1c218 3b4e8102
[01:37:15] [debug] ESP+00000060: 00000000 00b28773 b1d1c358 080aa13a
[01:37:15] [debug] ESP+00000080: 00000000 00000000 00000006 00000010
[01:37:15] [debug] ESP+000000a0: a223df94 a2234524 a2235bf8 01000000
[01:37:15] [debug] ESP+000000c0: 656d6167 65646f6d a2003531 a223d334
[01:37:15] [debug] ESP+000000e0: a223cde4 a1fd7375 a2235560 a21c1560
[01:37:15] [debug] ESP+00000100: 080aa260 00000000 00000000 00000000
[01:37:15] [debug] ESP+00000120: 00000000 00000000 00000000 00000000
[01:37:15] [debug] ESP+00000140: 00000000 00000000 00000000 00000000
[01:37:15] [debug] ESP+00000160: 00000000 00000000 00000000 00000000
[01:37:15] [debug] ESP+00000180: 00000000 00000000 08150650 b1d1c358
[01:37:15] [debug] ESP+000001a0: 00000000 00000000 b1d1c3d8 a1fbee46
[01:37:15] [debug] ESP+000001c0: a227b7f1 0177ff8e a2283ff4 08049e50
[01:37:15] [debug] ESP+000001e0: a223fc20 a210bff4 00000000 00000000
[01:37:15] [debug] ESP+00000200: 00000000 00000000 00000001 0804b4c0
[01:37:15] [debug] ESP+00000220: 00000001 0804b4c0 00000000 0804b4e1
[01:37:15] [debug] ESP+00000240: 08150640 a2275560 b1d1c3fc a2284908
[01:37:15] [debug] ESP+00000260: b1d1c548 b1d1c553 b1d1c563 b1d1c586
[01:37:15] [debug] ESP+00000280: b1d1c608 b1d1c614 b1d1c625 b1d1c62d
[01:37:15] [debug] ESP+000002a0: 00000000 00000020 a2266420 00000021
[01:37:15] [debug] ESP+000002c0: 00001000 00000011 00000064 00000003
[01:37:15] [debug] ESP+000002e0: 00000008 00000007 a2267000 00000008
[01:37:15] [debug] ESP+00000300: 00000000 0000000c 00000000 0000000d
[01:37:15] [debug] ESP+00000320: 00000000 00000019 b1d1c500 0000001f
[01:37:15] [debug] ESP+00000340: 00000000 00000000 00000000 00000000
[01:37:15] [debug] ESP+00000360: 00000000 00000000 69000000 00363836
[01:37:15] [debug] ESP+00000380: 73333070 47007276 505f4154 3d485441
[01:37:15] [debug] ESP+000003a0: 53006d72 4c4c4548 69622f3d 61622f6e
[01:37:15] [debug] ESP+000003c0: 3531312e 3432322e 3839312e 33313120
[01:37:15] [debug] ESP+000003e0: 3330706d 48535300 5954545f 65642f3d
[01:37:15] [debug] Loaded modules:
[01:37:15] [debug] 00000000 - 00187dc3 samp03svr
[01:37:15] [debug] a2268000 - a2268530 
[01:37:15] [debug] a2259000 - a225b23f /lib/i386-linux-gnu/i686/cmov/libdl.so.2
[01:37:15] [debug] a2240000 - a2257bfb /lib/i386-linux-gnu/i686/cmov/libpthread.so.0
[01:37:15] [debug] a2153000 - a2245e97 /usr/lib/i386-linux-gnu/libstdc++.so.6
[01:37:15] [debug] a212d000 - a21515eb /lib/i386-linux-gnu/i686/cmov/libm.so.6
[01:37:15] [debug] a2110000 - a212c278 /lib/i386-linux-gnu/libgcc_s.so.1
[01:37:15] [debug] a1fa8000 - a2112dc3 /lib/i386-linux-gnu/i686/cmov/libc.so.6
[01:37:15] [debug] a2267000 - a22832cc /lib/ld-linux.so.2
[01:37:15] [debug] a1f61000 - a1fa3c04 plugins/crashdetect.so
[01:37:15] [debug] a1ebb000 - a1f6114c plugins/streamer.so
[01:37:15] [debug] a1eab000 - a1eb1a0b /lib/i386-linux-gnu/i686/cmov/librt.so.1
[01:37:15] [debug] a1e9b000 - a1eaa40c plugins/sscanf.so
[01:37:15] [debug] a1afb000 - a1e9bb1a plugins/mysql_static.so
[01:37:15] [debug] a18f0000 - a18f9887 /lib/i386-linux-gnu/i686/cmov/libnss_files.so.2
Все модули на которые ссылается отладка присутствуют. Не знаю в чем может быть проблема
Reply
#2

Вот мне интересно почему нельзя сделать плагин наподобии крашдетекта, который бы выдавал в лог не непонятную абру кадабру, а понятный простому юзеру язык. Ну или хотя бы название функции которая вызывает сбой. А нахрена нужен дамп памяти, который не каждый спец расшифрует и то не без спец софта....
Reply
#3

Quote:
Originally Posted by Sidorovich12
View Post
Вот мне интересно почему нельзя сделать плагин наподобии крашдетекта, который бы выдавал в лог не непонятную абру кадабру, а понятный простому юзеру язык. Ну или хотя бы название функции которая вызывает сбой. А нахрена нужен дамп памяти, который не каждый спец расшифрует и то не без спец софта....
Ну, во-первых, потому что это невозможно. Во-вторых, это не абракадабра и не дамп памяти.

Quote:

Падает сервер.

Можно подробнее? Когда падает, как часто, какие плагины используются?
Судя по крашлогу, что-то не то со скриптовыми таймерами
Reply
#4

падает не так часто. Использую mysql_static sscanf streamer + (в зависимости от ситуации jit or crashdetect). Ах. Да кстати. судя по всему параметр sleep в server.cfg как - то влияет на таймеры ? (нет не должен. он просто редактирует паузу между итерациями в протоколе raknet) опциональное значение sleep = 5. я поставил = 3 (убрать возможный рассинхрони и потерю пакетов) если проблема в этом придется отказаться.
Reply
#5

Вообще-то нет, sleep не только на задержку в потоке ракнета влияет, но и в основном потоке тоже (даже на вики это указано). А в основном потоке обработка игровых пулов и, собственно, таймеров
Reply
#6

думаешь проблема в этом?
Reply
#7

По крайней мере стоит проверить. Зачем вообще нужно было изменять sleep? На потерю пакетов он не влияет, а насчёт рассинхрона... Что за рассинхрон?
Reply
#8

влияет.
Reply
#9

Хорошо, если sleep 3 жизненно необходим для сервера, то могу лишь посоветовать попробовать какой-нибудь timer fix (инклуд или плагин). Не уверен, поможет ли
Reply
#10

нет. Чисто теоретический он влияет на потерю пакетов т. к. уменьшается пауза между запросами в ракнет протоколе в следствии чего он принимает за это время данные пакет повторно. Я не понял в чем конкретно проблема с таймерами? в sa-mp я не компетентен но судя по всему это отсутствие модулей или краш в крашдетекте ? кхм... это судя по логам. убрал сейчас sleep. надеюсь проблема в этом. а какая проблема с таймерами ? можешь подробнее это ошибка самого движка или ?
Reply
#11

Модули тут совершенно не причём. Сам точно не знаю, в чём проблема. Попытка разыменовать нулевой указатель при обработке карты таймеров (из логов регистр edx равен нулю)
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)