Краш сервера CBasePlayer::UpdateClientData_OrigFunc()

Сообщения
58
Реакции
2
Помог
2 раз(а)
Ошибка
----------------------------------------------
CRASH: Mon Mar 9 22:55:14 MSK 2020
Start Line: ./hlds_linux -debug -game cstrike -master -noipx -pingboost 3 +sys_ticrate 1200 -insecure +ip 5.178.87.101 +port 27022 +map de_dust2_2x2 -maxplayers 20 +rcon_password +sv_password -norestart -pidfile hlds.2332.pid
[New LWP 2339]
[New LWP 3061]
[New LWP 3043]
[New LWP 4823]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Core was generated by `./hlds_linux -debug -game cstrike -master -noipx -pingboost 3 +sys_ticrate 1200'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0 0xf317f9e3 in CBasePlayer::UpdateClientData_OrigFunc() () from /home/srv199789/cstrike/dlls/cs.so
[Current thread is 1 (Thread 0xf73dd040 (LWP 2339))]
#0 0xf317f9e3 in CBasePlayer::UpdateClientData_OrigFunc() () from /home/srv199789/cstrike/dlls/cs.so
#1 0xf3172443 in CBasePlayer::UpdateClientData() () from /home/srv199789/cstrike/dlls/cs.so
#2 0xf31785b8 in CBasePlayer::PreThink_OrigFunc() () from /home/srv199789/cstrike/dlls/cs.so
#3 0xf31722f3 in CBasePlayer::PreThink() () from /home/srv199789/cstrike/dlls/cs.so
#4 0xf31ed753 in PlayerPreThink(edict_s*) () from /home/srv199789/cstrike/dlls/cs.so
#5 0xf2fe928e in ?? ()
#6 0x00000000 in ?? ()
No symbol table info available.
From To Syms Read Shared Object Library
0xf76d2a30 0xf76d3921 Yes (*) /lib32/libdl.so.2
0xf7645914 0xf768bc78 Yes ./libstdc++.so.6
0xf75ae6e0 0xf75e5c8b Yes (*) /lib32/libm.so.6
0xf740a7f0 0xf753749f Yes (*) /lib32/libc.so.6
0xf76e4860 0xf76fdf3d Yes (*) /lib/ld-linux.so.2
0xf73dfe04 0xf73ef490 Yes ./libgcc_s.so.1
0xf6d10200 0xf6df68d0 Yes (*) /home/srv199789/engine_i486.so
0xf6cd4840 0xf6cd7dfc Yes (*) /lib32/librt.so.1
0xf6cc25c0 0xf6cccd74 Yes (*) ./libsteam_api.so
0xf6ca78c0 0xf6cb4ec1 Yes /lib32/libpthread.so.0
0xf6c8af40 0xf6c9c8f8 Yes (*) /home/srv199789/filesystem_stdio.so
0xf5d7fe80 0xf6867040 Yes (*) /cs/hlds_6153/steamclient.so
0xf5bfa670 0xf5c70020 Yes (*) /cs/hlds_6153/crashhandler.so
0xf33946a0 0xf33d6f70 Yes (*) /home/srv199789/./cstrike/addons/metamod/metamod_i386.so
0xf3156e60 0xf32d3f40 Yes (*) /home/srv199789/cstrike/dlls/cs.so
0xf2ef97b0 0xf2f63bc4 Yes (*) /home/srv199789/cstrike/addons/VoiceTranscoder/VoiceTranscoder.so
0xf2ec93a0 0xf2edf370 Yes (*) /home/srv199789/cstrike/addons/reunion/reunion_mm_i386.so
0xf2e0cdb0 0xf2e285d0 Yes (*) /home/srv199789/cstrike/addons/whblocker/whblocker_mm_i386.so
0xf2dea200 0xf2dfd120 Yes (*) /home/srv199789/cstrike/addons/rechecker/rechecker_mm_i386.so
0xf2c149f0 0xf2c77d27 Yes (*) /home/srv199789/cstrike/addons/amxmodx/dlls/amxmodx_mm_i386.so
0xf2b6d660 0xf2b71f84 Yes (*) cstrike/addons/amxmodx/modules/fun_amxx_i386.so
0xf2b50d50 0xf2b60460 Yes (*) cstrike/addons/amxmodx/modules/cstrike_amxx_i386.so
0xf2b0f9d0 0xf2b3bd6c Yes (*) cstrike/addons/amxmodx/modules/fakemeta_amxx_i386.so
0xf2ae0290 0xf2aec80c Yes (*) cstrike/addons/amxmodx/modules/engine_amxx_i386.so
0xf2a73540 0xf2ab2670 Yes (*) cstrike/addons/amxmodx/modules/reapi_amxx_i386.so
0xf2a50a50 0xf2a568e4 Yes (*) cstrike/addons/amxmodx/modules/geoip_amxx_i386.so
0xf29f4b60 0xf2a3c624 Yes (*) cstrike/addons/amxmodx/modules/hamsandwich_amxx_i386.so
0xf2009790 0xf20a1fc5 Yes (*) cstrike/addons/amxmodx/modules/mysql_amxx_i386.so
0xf27e0a80 0xf27e68f0 Yes (*) /lib32/libnss_files.so.2
0xf2948010 0xf29b1d59 Yes (*) /home/srv199789/cstrike/addons/unprecacher/unprecacher_i386.so
0xefeffe80 0xf09e7040 Yes (*) ./steamclient.so
0xef8a8670 0xef91e020 Yes (*) ./crashhandler.so
0xf2b945d0 0xf2bdd548 Yes (*) cstrike/addons/amxmodx/modules/regex_amxx_i386.so
(*): Shared library is missing debugging information.
Stack level 0, frame at 0xffb0ab40:
eip = 0xf317f9e3 in CBasePlayer::UpdateClientData_OrigFunc(); saved eip = 0xf3172443
called by frame at 0xffb0ab70
Arglist at 0xffb0ab38, args:
Locals at 0xffb0ab38, Previous frame's sp is 0xffb0ab40
Saved registers:
ebp at 0xffb0ab38, eip at 0xffb0ab3c
End of crash report
----------------------------------------------
ОС
Linux
Amx Mod X
AMX Mod X 1.9.0.5263 (http://www.amxmodx.org)
Authors:
David "BAILOPAN" Anderson, Pavol "PM OnoTo" Marko
Felix "SniperBeamer" Geyer, Jonny "Got His Gun" Bergstrom
Lukasz "SidLuke" Wlasinski, Christian "Basic-Master" Hammacher
Borja "faluco" Ferrer, Scott "DS" Ehlert
Compiled: Oct 27 2019 16:23:31
Built from: https://github.com/alliedmodders/amxmodx/commit/15a14a0
Build ID: 5263:15a14a0
Core mode: JIT+ASM32
Билд
Protocol version 48
Exe version 1.1.2.7/Stdio (cstrike)
ReHLDS version: 3.7.0.693-dev
Build date: 18:20:58 Jan 28 2020 (2117)
Build from: https://github.com/dreamstalker/rehlds/commit/c4cecf5
ReGamedll
ReGameDLL version: 5.14.0.454-dev+m
Build date: 17:39:55 Feb 19 2020
Build from: https://github.com/s1lentq/ReGameDLL_CS/commit/05cf0f7
Версия Metamod
Metamod-r v1.3.0.128, API (5:13)
Metamod-r build: 17:47:54 Aug 24 2018
Metamod-r from: https://github.com/theAsmodai/metamod-r/commit/0cf2f70
Список метамодулей
Currently loaded plugins:
description stat pend file vers src load unload
[ 1] Ultimate Unprecacher RUN - unprecacher_i386.so vBeta 2.5.3 ini Chlvl Chlvl
[ 2] VoiceTranscoder RUN - VoiceTranscoder.so v2017RC5 ini ANY
[ 3] Reunion RUN - reunion_mm_i386.so v0.1.0.92 ini Start Never
[ 4] WHBlocker RUN - whblocker_mm_i386.so v1.5.696 ini ANY
[ 5] Rechecker RUN - rechecker_mm_i386.so v2.5 ini ANY
[ 6] AMX Mod X RUN - amxmodx_mm_i386.so v1.9.0.5263 ini Start ANY
[ 7] Fun RUN - fun_amxx_i386.so v1.9.0.5263 pl6 ANY
[ 8] CStrike RUN - cstrike_amxx_i386.so v1.9.0.5263 pl6 ANY
[ 9] FakeMeta RUN - fakemeta_amxx_i386.so v1.9.0.5263 pl6 ANY
[10] Engine RUN - engine_amxx_i386.so v1.9.0.5263 pl6 ANY ANY
[11] ReAPI RUN - reapi_amxx_i386.so v5.12.0.192-dev pl6 ANY Never
[12] GeoIP RUN - geoip_amxx_i386.so v1.9.0.5263 pl6 ANY ANY
[13] Ham Sandwich RUN - hamsandwich_amxx_i386.so v1.9.0.5263 pl6 ANY ANY
[14] MySQL RUN - mysql_amxx_i386.so v1.9.0.5263 pl6 ANY ANY
14 plugins, 14 running
Список плагинов
Currently loaded plugins:
name version author file status
[ 1] Ultimate Bans v1.9 Souvik UltimateBans.am running
[ 2] Admin Base v1.9.0.5263 AMXX Dev Team admin.amxx running
[ 3] amx_kickmenu reasons a v0.3a Beta Flash kickmenu_reason running
[ 4] CSDM Spawns v0.1 CSDM Team csdm_spawn_pres debug
[ 5] Anti Reklama v3.0b Exolent/->UrOS<- antireklama.amx running
[ 6] Admin Commands v1.9.0.5263 AMXX Dev Team admincmd.amxx running
[ 7] CSDM MOD v0.1 pro100web csdm_new.amxx debug
[ 8] Players Menu v1.9.0.5263 AMXX Dev Team plmenu.amxx running
[ 9] Maps Menu v1.9.0.5263 AMXX Dev Team mapsmenu.amxx running
[ 10] Map Manager v2.5.61 Mistrick mapmanager.amxx running
[ 11] Anti Flood v1.9.0.5263 AMXX Dev Team antiflood.amxx running
[ 12] Vampire v0.1 ko1dun vampire.amxx running
[ 13] Lite Translit v2.8 neygomon lite_translit.a debug
[ 14] Map Spawns Editor v1.0.16 iG_os map_spawns_edit debug
[ 15] Just Capture the Flag v1.32c Digi jctf.amxx debug
[ 16] Build Dispenser v0.1 pro100web dispens.amxx debug
[ 17] Hats shop v1.1 R-2 ShopHats.amxx debug
[ 18] Sentry v0.1 modified by ko1d sentry_L.amxx debug
[ 19] Mines v0.1 modified by pro1 mines.amxx debug
[ 20] LaserMine New v0.1 ko1dun lasermine.amxx debug
[ 21] Money Transferer v1.3 kalash1k money_transfer. debug
[ 22] AES: Bonus System v0.5 Vega serfreeman1337 aes_bonus_syste running
[ 23] PRESENTs v0.1 pro100web next21_gifts.am running
[ 24] Advert Messages v1.22 neygomon adverts.amxx running
[ 25] Precache Management v1.0.0 ConnorMcLeod precache_manage paused
25 plugins, 24 running
Вопрос, какую функцию стоит искать в плагинах?
1583828620227.png1583828695009.png1583828725832.png
 
Сообщения
443
Реакции
319
Помог
13 раз(а)
У тебя последний AmxModX?
Там были проблемы с register_plugin. Проверь во всех ли плагинах он, аргументы тоже заодно проверь, их 3 должно быть.

Если что пиши.


Скрытое содержимое могут видеть только пользователь группы: Web Dev, Администратор, Куратор, Маппер, Моделлер, Модератор, Пользователь, Проверенный, Разработчик, Скриптер
 
Сообщения
58
Реакции
2
Помог
2 раз(а)
UPD:
1583829941279.png1583829970502.png1583829993939.png
10 Мар 2020
Shel, у меня 1.9.0
Я просто отстал от всего, у меня сервера только в CS:CZ и за обновлениями не так слежу. Скомпилировал все плагины на 1.9.0 год назад примерно, а до этого был на 1.8.2. и скажу что 1.9.0 больше возможностей, а с выходом rehlds костыли убрал :)
Сервер падал из-за того, что is_valid_ent и pev_valid пропускали не существующий объект и сервер падал.
А вот is_entity всё корректно проверяет
10 Мар 2020
Если про билд, то да, поставил последнюю build 5263
 
Сообщения
58
Реакции
2
Помог
2 раз(а)
Я вот что подумал, не могло ли это произойти из-за имитации парашюта?
1583836030190.png
 
Сообщения
212
Реакции
334
Помог
3 раз(а)
Классное имя файла у плагина на 23 позиции.
Shel, а какая связь может быть между сегфолтом в хук gamedll и нативом регистрации плагина из amxmodx? Вроде стек, выведенный в лог, довольно однозначный
 
Сообщения
58
Реакции
2
Помог
2 раз(а)
Классное имя файла у плагина на 23 позиции.
Shel, а какая связь может быть между сегфолтом в хук gamedll и нативом регистрации плагина из amxmodx? Вроде стек, выведенный в лог, довольно однозначный
Я не помню что там делал, года 4 прошло с тех пор.
Тогда ещё не умел работать с файлами, скачал первый попавшийся и убрал не нужное. Оставил меню и ввод-вывод из файла
 

Вложения

Сообщения
58
Реакции
2
Помог
2 раз(а)
Новый краш
Код:
----------------------------------------------
CRASH: Ср мар 11 20:16:54 MSK 2020
Start Line: ./hlds_linux -game czero +ip 46.174.48.28 +port 27214 +map de_dust2_2x2 +maxplayers 19 -debug -timeout 60 +sys_ticrate 10000 -noipx -norestart -pidfile game.pid
[New LWP 30140]
[New LWP 30185]
[New LWP 24640]
[New LWP 30243]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
Core was generated by `./hlds_linux -game czero +ip 46.174.48.28 +port 27214 +map de_dust2_2x2 +maxpla'.
Program terminated with signal 11, Segmentation fault.
#0  0x4c6fee9c in ?? ()
#0  0x4c6fee9c in ?? ()
#1  0xf2e8c92e in CBasePlayer::UpdateClientData_OrigFunc() () from /game/czero/dlls/cs.so
#2  0xf2e7f443 in CBasePlayer::UpdateClientData() () from /game/czero/dlls/cs.so
#3  0xf2e855b8 in CBasePlayer::PreThink_OrigFunc() () from /game/czero/dlls/cs.so
#4  0xf2e7f2f3 in CBasePlayer::PreThink() () from /game/czero/dlls/cs.so
#5  0xf2efa753 in PlayerPreThink(edict_s*) () from /game/czero/dlls/cs.so
#6  0xf2cfc28e in ?? ()
#7  0x00000000 in ?? ()
No symbol table info available.
From        To          Syms Read   Shared Object Library
0xf76ca914  0xf7710c78  Yes         ./libstdc++.so.6
0xf7678a90  0xf767997c  Yes (*)     /lib/libdl.so.2
0xf7661780  0xf766d857  Yes (*)     /lib/libpthread.so.0
0xf74b3320  0xf75f991b  Yes (*)     /lib/libc.so.6
0xf745e460  0xf7488c06  Yes (*)     /lib/libm.so.6
0xf7446e04  0xf7456490  Yes         ./libgcc_s.so.1
0xf77678a0  0xf7782261  Yes (*)     /lib/ld-linux.so.2
0xf6d2efc0  0xf6e48901  Yes (*)     /game/engine_i486.so
0xf6c98900  0xf6c9bdca  Yes (*)     /lib/librt.so.1
0xf6c865c0  0xf6c90d74  Yes (*)     ./libsteam_api.so
0xf6c6bf40  0xf6c7d3f8  Yes (*)     /game/filesystem_stdio.so
0xf59bc1c0  0xf6735b04  Yes (*)     /.steam/sdk32/steamclient.so
0xf30a16a0  0xf30e3f70  Yes (*)     /game/./czero/addons/metamod/metamod_i386.so
0xf2e63e60  0xf2fe0f40  Yes (*)     /game/czero/dlls/cs.so
0xf2c097b0  0xf2c73bc4  Yes (*)     /game/czero/addons/VoiceTranscoder/VoiceTranscoder.so
0xf2bd93a0  0xf2bef370  Yes (*)     /game/czero/addons/reunion/reunion_mm_i386.so
0xf2b1cdb0  0xf2b385d0  Yes (*)     /game/czero/addons/whblocker/whblocker_mm_i386.so
0xf2afa200  0xf2b0d120  Yes (*)     /game/czero/addons/rechecker/rechecker_mm_i386.so
0xf29249f0  0xf2987d27  Yes (*)     /game/czero/addons/amxmodx/dlls/amxmodx_mm_i386.so
0xf2880660  0xf2884f84  Yes (*)     czero/addons/amxmodx/modules/fun_amxx_i386.so
0xf2862d50  0xf2872460  Yes (*)     czero/addons/amxmodx/modules/cstrike_amxx_i386.so
0xf28209d0  0xf284cd6c  Yes (*)     czero/addons/amxmodx/modules/fakemeta_amxx_i386.so
0xf27f0290  0xf27fc80c  Yes (*)     czero/addons/amxmodx/modules/engine_amxx_i386.so
0xf2783540  0xf27c2670  Yes (*)     czero/addons/amxmodx/modules/reapi_amxx_i386.so
0xf2760a50  0xf27668e4  Yes (*)     czero/addons/amxmodx/modules/geoip_amxx_i386.so
0xf2701b60  0xf2749624  Yes (*)     czero/addons/amxmodx/modules/hamsandwich_amxx_i386.so
0xf1d1e790  0xf1db6fc5  Yes (*)     czero/addons/amxmodx/modules/mysql_amxx_i386.so
0xedbc4a50  0xedbcbfb9  Yes (*)     /lib/libnss_files.so.2
0xecaffe80  0xed5e7040  Yes (*)     ./steamclient.so
0xec4a8670  0xec51e020  Yes (*)     ./crashhandler.so
0xf2655010  0xf26bed59  Yes (*)     /game/czero/addons/unprecacher/unprecacher_i386.so
0xf28a45d0  0xf28ed548  Yes (*)     czero/addons/amxmodx/modules/regex_amxx_i386.so
(*): Shared library is missing debugging information.
Stack level 0, frame at 0xfff1c800:
 eip = 0x4c6fee9c; saved eip 0xf2e8c92e
 called by frame at 0xfff1c880
 Arglist at 0xfff1c7f8, args:
 Locals at 0xfff1c7f8, Previous frame's sp is 0xfff1c800
 Saved registers:
  eip at 0xfff1c7fc
End of crash report
----------------------------------------------
 
Сообщения
594
Реакции
350
Предупреждения
1
Помог
9 раз(а)
Попробуй добавить больше проверок в плагины, где используется clientdata и prethink
 
Сообщения
212
Реакции
334
Помог
3 раз(а)
steelzzz, PreThink вызывает UpdateClientData, который в стеке был последний. Дело однозначно в UpdateClientData
pro100iweb, скинь сошку что ли. И еще проверь все плагины, которые как либо обрабатывают UpdateClientData.
Start Line: ./hlds_linux -game czero
А почему czero мод загружается? Это сервер по cs:cz?
 
Сообщения
58
Реакции
2
Помог
2 раз(а)
steelzzz, да я так и сдела, где можно понаставил всяких костылей, да бы не повторилось, увы ошибка не там, где я думал.

скинь сошку что ли
Последнюю версию тут взял Re GameDLL 5.14.0.454
Можно сказать не важно какая версия, так как проблема существует ещё с 5.12.0.425

А почему czero мод загружается? Это сервер по cs:cz?
Изначально сервер в CS:CZ, думал из-за этого, вероятность низкая.
Потом поставил в 1.6, всё идентично, кроме как rehlds версиями отличается, в cs:cz старее, а в 1.6 новее
Но это не изменило то, что ошибки идентичны. Отказаться от ReGameDll не могу, тогда будет падать из-за удаления не существующего объекта.
Возможно это уже пофиксили, но не уверен, последний раз на 1.8.3 это было.
А именно pev_valid и is_valid_ent не проверяют корректно на существование, спасло переход на regamedll и использование is_entity

От безысходности решил сюда обратиться, может кто знает где именно искать.
Мне ещё говорили, что в reapi необходимо возвращать в форварды хоть что то и остановился на HC_CONTINUE
Пока падений в 1.6 после этого не наблюдалось, возможно решил, но не точно
 
Сообщения
212
Реакции
334
Помог
3 раз(а)
Мне ещё говорили, что в reapi необходимо возвращать в форварды хоть что то и остановился на HC_CONTINUE
UpdateClientData сама по себе void, такие функции не возвращают какое либо значение. Это вряд ли являетя решением, если речь идёт про SetHookChainReturn. А return внутри обработчика — всегда по дефолту возвращается HC_CONTINUE, нет?
Так какие плагины редактируют UpdateClientData? Ты их проверил?
 
Сообщения
212
Реакции
334
Помог
3 раз(а)
Немного проанализировал. Падение происходит примерно тут. То есть при обработке UpdateClientData в какой-то момент m_pActiveItem перестает быть валидным. Так что попробуй поискать где плагины оперируют с m_pActiveItem
 
Сообщения
58
Реакции
2
Помог
2 раз(а)
Увы не помогло :)
Сначала произвел поиск по m_pActiveItem
потом нашел define c числом 373, поискал похожие, нашел OFFSET_ACTIVE_ITEM
Но он используется лишь в оружиях, но дело в том, что этих оружий на сервере в 1.6 нет :)
Пока падений не было, после того как везде где функция think что то не возвращало не добавил return HC_CONTINUE
Буду наблюдать.
 
Сообщения
2,491
Реакции
2,794
Помог
61 раз(а)
Ни в одном плагине, кроме как в оружиях ZP не встречается, но их в 1.6 нет. Искал совпадение на UpdateClientData.
Какие функции могут использовать этот метод?
Это разные хуки UpdateClientData. Один для отправки дельты игроку. Второй для мессаг таких как тнитхуд, резетхуд, туман, тимскор .... и много дркгих при изменении значений. У вас падает во втором, в то время как в зм оружках как правило используют первый для блока предикта.
 
Сообщения
58
Реакции
2
Помог
2 раз(а)
fantom, это уже очень плохо, придеться заняться всеми событиями и повозможности проверить их конструкции, корректно ли написаны.
Лучше бы я занимался сайтами, там хоть всегда чем то занят, а не поиском проблемного участка кода
 
Сообщения
2,491
Реакции
2,794
Помог
61 раз(а)
pro100iweb, для начала найдите шагы для точного вызова падения. После отключайте плагины ищя тот который приводит к падению. В нем ищите, методом анализа, все сеты приватдаты и тому подобное.
 
Сообщения
212
Реакции
334
Помог
3 раз(а)
Увы не помогло :)
Сначала произвел поиск по m_pActiveItem
потом нашел define c числом 373, поискал похожие, нашел OFFSET_ACTIVE_ITEM
Но он используется лишь в оружиях, но дело в том, что этих оружий на сервере в 1.6 нет :)
Пока падений не было, после того как везде где функция think что то не возвращало не добавил return HC_CONTINUE
Буду наблюдать.
Может быть такое, что какая-то функция удаляет объект оружия и видимой работы с m_pActiveItem нет. Стактрейс показывает именно на то место.
 
Сообщения
58
Реакции
2
Помог
2 раз(а)
fantom, ух, если бы падал каждый день или каждую неделю, но ведь сервер падает раз 3-4 месяца
 

Пользователи, просматривающие эту тему

Сейчас на форуме нет ни одного пользователя.
Сверху Снизу