-
Notifications
You must be signed in to change notification settings - Fork 203
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Server crash #948
Comments
Probably fixed here: https://github.com/s1lentq/ReGameDLL_CS/actions/runs/7880509406 but try to disable all metamod plugins first |
I have checked this patch and the problem continues, and the modules have nothing to do because there are no such crashes on my other servers. |
I having the same problems after the update
|
Can you provide your |
ReGameDLL version: 5.26.0.668-dev |
Any submodule/subplugin that's currently hooking FireBullets3 or Clear/Add/ApplyMultiDamage? meta version, amxx modules, amxx plugins, etc The described behaviour is not something expected to crash in default environments, a lot of users would be reporting this crash in that case (guessing it comes from a gun shot, game's main mechanic) so I might try to catch hints by looking at your modifications. |
I don't hook FireBullets3, I just add/clear damage
|
Metamod-r v1.3.0.138, API (5:13) [ 1] MySQL 1.9.0.5294 AMX Mod X Dev Team running ReHlds-3.13.0.811-dev |
You are returning HAM_SUPERCEDE in a ReAPI Hook |
Good catch enum
{
HC_CONTINUE = 0, // Plugin didn't take any action
HC_SUPERCEDE, // Skip real function, use my return value
HC_BREAK // Skip all forwards and real function, use my return value
// @note Warning: Be very careful, using this type of return will skip calls for all following AMXX plugins
}; #define HAM_IGNORED 1 /**< Calls target function, returns normal value */
#define HAM_HANDLED 2 /**< Tells the module you did something, still calls target function and returns normal value */
#define HAM_OVERRIDE 3 /**< Still calls the target function, but returns whatever is set with SetHamReturn*() */
#define HAM_SUPERCEDE 4 /**< Block the target call, and use your return value (if applicable) (Set with SetHamReturn*()) */ @ZGBarmaleyPetrovich in fact there's more than one function to examine, and this error does not belong itself to the gamedll, since there's no change involved in the mentioned functions and the nature of the crash itself means there's something bad handled - like this code above. Coders need to understand that a gamedll/engine failure does not mean that it is the fault of a commit made to the coding. There are many chances of writing a third-party modification that can corrupt the memory easily. I see you wont provide the entirety of your addons so it is gonna be difficult to catch your issue. There's a bad entity handling somewhere, not just TakeDamage. TraceAttack is more convenient, but I repeat: issue can be elsewhere. If ApplyMultiDamage is crashing, means there are two options:
If error is just inside ApplyMultiDamage, means TakeDamage and ResetDmgPenetrationLevel are not called; crash will dump their names. So, my conclusion is actually: void EXT_FUNC __API_HOOK(ApplyMultiDamage)(entvars_t *pevInflictor, entvars_t *pevAttacker)
{
if (!gMultiDamage.pEntity)
return;
gMultiDamage.pEntity->TakeDamage(pevInflictor, pevAttacker, gMultiDamage.amount, gMultiDamage.type);
gMultiDamage.pEntity->ResetDmgPenetrationLevel();
}
pEntity is holding an invalid pointer. First conditional is initialized, that is known. Function is small so it helps to make easy to come up with a hypothesis. |
After the last reGameDLL update, the server crashes:
`
CRASH: Mon Feb 19 19:52:24 CET 2024
Start Line: ./hlds_linux -autorestart -game cstrike +maxplayers 32 +ip 54.38.******* +port 27015 -pingboost 3 +sys_ticrate 10000 +exec server.cfg +map zm_defense -pidfile /data//logs/.cs.pid
[New LWP 10619]
[New LWP 10637]
[New LWP 11831]
[New LWP 10646]
[New LWP 11833]
[New LWP 11832]
[New LWP 10638]
[New LWP 10642]
[New LWP 11829]
[New LWP 11835]
[New LWP 11830]
[New LWP 11838]
[New LWP 11837]
[New LWP 10659]
[New LWP 11834]
[New LWP 11840]
[New LWP 11836]
[New LWP 11839]
[New LWP 10640]
[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 -autorestart -game cstrike +maxplayers 32 +ip 54.38.******* +port 27'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0 0xf37a2470 in ApplyMultiDamage(entvars_s*, entvars_s*) () from /home/data//.cs16/cstrike/dlls/cs.so
[Current thread is 1 (Thread 0xf7b78700 (LWP 10619))]
#0 0xf37a2470 in ApplyMultiDamage(entvars_s*, entvars_s*) () from /home/data//.cs16/cstrike/dlls/cs.so
#1 0xf36f6f3e in CBaseEntity::FireBullets3_OrigFunc(Vector&, Vector&, float, float, int, int, int, float, entvars_s*, bool, int) () from /home/data//.cs16/cstrike/dlls/cs.so
#2 0xf36f95ba in CBaseEntity::FireBullets3(Vector&, Vector&, float, float, int, int, int, float, entvars_s*, bool, int) () from /home/data//.cs16/cstrike/dlls/cs.so
#3 0xf37b213b in CAK47::AK47Fire(float, float, int) () from /home/data//.cs16/cstrike/dlls/cs.so
#4 0xf37b23ea in CAK47::PrimaryAttack() () from /home/data//.cs16/cstrike/dlls/cs.so
#5 0xf37a43bb in CBasePlayerWeapon::ItemPostFrame_OrigFunc() () from /home/data//.cs16/cstrike/dlls/cs.so
#6 0xf37a1649 in CBasePlayerWeapon::ItemPostFrame() () from /home/data//.cs16/cstrike/dlls/cs.so
#7 0xf37619a4 in CBasePlayer::PostThink_OrigFunc() () from /home/data//.cs16/cstrike/dlls/cs.so
#8 0xf3754899 in CBasePlayer::PostThink() () from /home/data//.cs16/cstrike/dlls/cs.so
#9 0xf36ff98a in PlayerPostThink(edict_s*) () from /home/data//.cs16/cstrike/dlls/cs.so
#10 0xf168eb26 in ?? ()
#11 0x00000000 in ?? ()
No symbol table info available.
From To Syms Read Shared Object Library
0xf7f4f130 0xf7f50304 Yes () /lib/i386-linux-gnu/libdl.so.2
0xf7ec1914 0xf7f07c78 Yes ./libstdc++.so.6
0xf7d81190 0xf7e41511 Yes () /lib/i386-linux-gnu/libm.so.6
0xf7ba80f0 0xf7cfa586 Yes () /lib/i386-linux-gnu/libc.so.6
0xf7f69090 0xf7f85df3 Yes () /lib/ld-linux.so.2
0xf7b7be04 0xf7b8b490 Yes ./libgcc_s.so.1
0xf7493630 0xf7587bf0 Yes () /home/data//.cs16/engine_i486.so
0xf74543d0 0xf74580a4 Yes () /lib/i386-linux-gnu/librt.so.1
0xf74415c0 0xf744bd74 Yes () ./libsteam_api.so
0xf74225b0 0xf74328b4 Yes () /lib/i386-linux-gnu/libpthread.so.0
0xf73f7e00 0xf7413838 Yes () /home/data//.cs16/filesystem_stdio.so
0xf6306b00 0xf6f4d0c4 Yes () ./steamclient.so
0xf61be670 0xf6234020 Yes () ./crashhandler.so
0xf395d490 0xf39a0970 Yes () /home/data//.cs16/./cstrike/addons/metamod/dlls/metamod.so
0xf36dede0 0xf3841365 Yes () /home/data//.cs16/cstrike/dlls/cs.so
0xf343a070 0xf349e2e0 Yes () /home/data//.cs16/cstrike/addons/amxmodx/dlls/amxmodx_mm_i386.so
0xf33f85d0 0xf340ed20 Yes () /home/data//.cs16/cstrike/addons/reunion/reunion_mm_i386.so
0xf32b1f70 0xf33b6030 Yes () /home/data//.cs16/cstrike/addons/revoice/revoice_mm_i386.so
0xf3278b40 0xf32820b0 Yes () /home/data//.cs16/cstrike/addons/reauthcheck/reauthcheck_mm_i386.so
0xf326c810 0xf326fb80 Yes () /home/data//.cs16/cstrike/addons/resemiclip/resemiclip_mm_i386.so
0xf3247300 0xf325dcab Yes () /home/data//.cs16/cstrike/addons/rechecker/rechecker_mm_i386.so
0xf322f980 0xf323bd30 Yes () /home/data//.cs16/cstrike/addons/anti_speedhack/srdetector_mm_i386.so
0xf2e229e0 0xf2e4edac Yes () cstrike/addons/amxmodx/modules/fakemeta_amxx_i386.so
0xf1e11790 0xf1ea9fc5 Yes () cstrike/addons/amxmodx/modules/mysql_amxx_i386.so
0xf1d7b200 0xf1dcceb0 Yes () cstrike/addons/amxmodx/modules/reapi_amxx_i386.so
0xf1972ae0 0xf1bc5e78 Yes () cstrike/addons/amxmodx/modules/curl_amxx_i386.so
0xf1873830 0xf18ba974 Yes () cstrike/addons/amxmodx/modules/hamsandwich_amxx_i386.so
0xf17e9120 0xf17ef444 Yes () cstrike/addons/amxmodx/modules/csx_amxx_i386.so
0xf2dcd290 0xf2dd980c Yes () cstrike/addons/amxmodx/modules/engine_amxx_i386.so
0xf2dabd50 0xf2dbb460 Yes () cstrike/addons/amxmodx/modules/cstrike_amxx_i386.so
0xf2d97cf0 0xf2d9ce64 Yes () cstrike/addons/amxmodx/modules/vdf_amxx_i386.so
0xf17dd660 0xf17e1f84 Yes () cstrike/addons/amxmodx/modules/fun_amxx_i386.so
0xf17cb9b0 0xf17cfa08 Yes () cstrike/addons/amxmodx/modules/nvault_amxx_i386.so
0xf16da520 0xf17849e9 Yes () cstrike/addons/amxmodx/modules/iphubclient_amxx_i386.so
0xf12d62d0 0xf13b7980 Yes () cstrike/addons/amxmodx/modules/sqlite_amxx_i386.so
0xf160c300 0xf16128c4 Yes () /lib/i386-linux-gnu/libnss_files.so.2
0xf16041c0 0xf1606ea4 Yes () /lib/i386-linux-gnu/libnss_dns.so.2
0xf14e93b0 0xf14f5c64 Yes () /lib/i386-linux-gnu/libresolv.so.2
(): Shared library is missing debugging information.
Stack level 0, frame at 0xffd90300:
eip = 0xf37a2470 in ApplyMultiDamage(entvars_s, entvars_s*); saved eip = 0xf36f6f3e
called by frame at 0xffd90430
Arglist at 0xffd902e0, args:
Locals at 0xffd902e0, Previous frame's sp is 0xffd90300
Saved registers:
ebx at 0xffd902f8, eip at 0xffd902fc
End of crash report
`
Where does the problem lie?
The text was updated successfully, but these errors were encountered: