Skip to content
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

Open
TheKrytyk opened this issue Feb 19, 2024 · 10 comments
Open

Server crash #948

TheKrytyk opened this issue Feb 19, 2024 · 10 comments

Comments

@TheKrytyk
Copy link

TheKrytyk commented Feb 19, 2024

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?

@SmileYzn
Copy link

Probably fixed here:

https://github.com/s1lentq/ReGameDLL_CS/actions/runs/7880509406

but try to disable all metamod plugins first

@TheKrytyk
Copy link
Author

TheKrytyk commented Feb 20, 2024

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.

@ZGBarmaleyPetrovich
Copy link

I having the same problems after the update

CRASH: Fri Feb 23 18:46:54 MSK 2024
Start Line: ./hlds_linux -game cstrike +ip 46.174.. +port 27015 +map zm_arena_zg +maxplayers 32 +sys_ticrate 1100 -pingboost 5 -noipx -debug -norestart -pidfile game.pid
[New LWP 27358]
[New LWP 27373]
[New LWP 27362]
[New LWP 27371]
[New LWP 27370]
[New LWP 27369]
[New LWP 27365]
[New LWP 27374]
[New LWP 30515]
[New LWP 27363]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
Core was generated by `./hlds_linux -game cstrike +ip 46.174.. +port 27015 +map zm_arena_zg +maxpl'.
Program terminated with signal 11, Segmentation fault.
#0 0xb2ae88c2 in ApplyMultiDamage_OrigFunc(entvars_s*, entvars_s*) () from /home/server669/game/cstrike/dlls/cs.so
#0 0xb2ae88c2 in ApplyMultiDamage_OrigFunc(entvars_s*, entvars_s*) () from /home/server669/game/cstrike/dlls/cs.so
#1 0xb2a3c6c9 in CBaseEntity::FireBullets3_OrigFunc(Vector&, Vector&, float, float, int, int, int, float, entvars_s*, bool, int) () from /home/server669/game/cstrike/dlls/cs.so
#2 0xb2afc345 in CDEAGLE::DEAGLEFire () from /home/server669/game/cstrike/dlls/cs.so
#3 0x45800000 in ?? ()
#4 0x00000002 in ?? ()
#5 0x0000000d in ?? ()
#6 0x00000051 in ?? ()
#7 0x3f4f5c29 in ?? ()
#8 0xb2fdfe08 in ?? ()
Backtrace stopped: previous frame inner to this frame (corrupt stack?)
No symbol table info available.
From To Syms Read Shared Object Library
0xb72a1914 0xb72e7c78 Yes ./libstdc++.so.6
0xb724ea90 0xb724f97c Yes () /lib/libdl.so.2
0xb7237780 0xb7243857 Yes (
) /lib/libpthread.so.0
0xb7089320 0xb71cf91b Yes () /lib/libc.so.6
0xb6fcf7a0 0xb703c254 Yes (
) /lib/preload++.so.6
0xb6f4b460 0xb6f75c06 Yes () /lib/libm.so.6
0xb6f33e04 0xb6f43490 Yes ./libgcc_s.so.1
0xb779d8a0 0xb77b8261 Yes (
) /lib/ld-linux.so.2
0xb6f1ea50 0xb6f25fb9 Yes () /lib/libnss_files.so.2
0xb6814cf0 0xb692d7e1 Yes (
) /home/server669/game/engine_i486.so
0xb6775900 0xb6778dca Yes () /lib/librt.so.1
0xb67635c0 0xb676dd74 Yes (
) /home/server669/game/./libsteam_api.so
0xb66fae00 0xb6716838 Yes () /home/server669/game/filesystem_stdio.so
0xb559ad00 0xb6219780 Yes (
) /home/server669/.steam/sdk32/steamclient.so
0xb2c83490 0xb2cc6970 Yes () /home/server669/game/./cstrike/addons/metamod/dlls/metamod.so
0xb2a214e0 0xb2bbea90 Yes (
) /home/server669/game/cstrike/dlls/cs.so
0xb28c7d00 0xb28c8f40 Yes () /home/server669/game/cstrike/addons/SafeNameAndChat/SafeNameAndChat.so
0xb28a03a0 0xb28b6370 Yes (
) /home/server669/game/cstrike/addons/reunion/reunion_mm_i386.so
0xb2876b40 0xb28800b0 Yes () /home/server669/game/cstrike/addons/reauthcheck/reauthcheck_mm_i386.so
0xb27dd7b0 0xb2847bc4 Yes (
) /home/server669/game/cstrike/addons/VoiceTranscoder/VoiceTranscoder.so
0xb2600a20 0xb2663db7 Yes () /home/server669/game/cstrike/addons/amxmodx/dlls/amxmodx_mm_i386.so
0xb253a340 0xb254d48e Yes (
) /home/server669/game/cstrike/addons/whblocker/whblocker_mm_i386.so
0xb2530810 0xb2533b80 Yes () /home/server669/game/cstrike/addons/resemiclip/resemiclip_mm_i386.so
0xb2523b40 0xb2528998 Yes (
) /home/server669/game/cstrike/addons/hackdetector/hackdetector_amxx_i386.so
0xb147d530 0xb14acf74 Yes () /home/server669/game/cstrike/addons/hitbox_fix/hitbox_fix_mm_i386.so
0xb21e0790 0xb2278fc5 Yes (
) cstrike/addons/amxmodx/modules/mysql_amxx_i386.so
0xb21869d0 0xb21b2d6c Yes () cstrike/addons/amxmodx/modules/fakemeta_amxx_i386.so
0xb2159130 0xb215f810 Yes (
) cstrike/addons/amxmodx/modules/reaimdetector_amxx_i386.so
0xb2140290 0xb214c80c Yes () cstrike/addons/amxmodx/modules/engine_amxx_i386.so
0xb2118d50 0xb2128460 Yes (
) cstrike/addons/amxmodx/modules/cstrike_amxx_i386.so
0xb20fd660 0xb2101f84 Yes () cstrike/addons/amxmodx/modules/fun_amxx_i386.so
0xb129db60 0xb12e5624 Yes (
) cstrike/addons/amxmodx/modules/hamsandwich_amxx_i386.so
0xb20e4fe0 0xb20e7e94 Yes cstrike/addons/amxmodx/modules/PersistentDataStorage_amxx_i386.so
0xb1159a40 0xb11aa810 Yes () cstrike/addons/amxmodx/modules/reapi_amxx_i386.so
0xb20d89b0 0xb20dca08 Yes (
) cstrike/addons/amxmodx/modules/nvault_amxx_i386.so
0xb10b7120 0xb10bd404 Yes () cstrike/addons/amxmodx/modules/csx_amxx_i386.so
0xacec19c0 0xadfd5a44 Yes (
) ./steamclient.so
0xb0d60670 0xb0dd6020 Yes () ./crashhandler.so
0xb0ff7c00 0xb0ffb06e Yes (
) /lib/libnss_dns.so.2
0xb0fdf6a0 0xb0fee694 Yes () /lib/libresolv.so.2
0xb1457f60 0xb145924c Yes (
) cstrike/addons/amxmodx/modules/sockets_amxx_i386.so
0xb13e65d0 0xb142f548 Yes () cstrike/addons/amxmodx/modules/regex_amxx_i386.so
(
): Shared library is missing debugging information.
Stack level 0, frame at 0xbfb20c60:
eip = 0xb2ae88c2 in ApplyMultiDamage_OrigFunc(entvars_s*, entvars_s*); saved eip 0xb2a3c6c9
called by frame at 0xbfb20db0
Arglist at 0xbfb20c58, args:
Locals at 0xbfb20c58, Previous frame's sp is 0xbfb20c60
Saved registers:
ebp at 0xbfb20c58, eip at 0xbfb20c5c
End of crash report

Program terminated with signal 11, Segmentation fault.
#0 0xb2ab58c2 in ApplyMultiDamage_OrigFunc(entvars_s*, entvars_s*) () from /home/server669/game/cstrike/dlls/cs.so
#0 0xb2ab58c2 in ApplyMultiDamage_OrigFunc(entvars_s*, entvars_s*) () from /home/server669/game/cstrike/dlls/cs.so
#1 0xb2a096c9 in CBaseEntity::FireBullets3_OrigFunc(Vector&, Vector&, float, float, int, int, int, float, entvars_s*, bool, int) () from /home/server669/game/cstrike/dlls/cs.so
#2 0xb2ad6b01 in CMP5N::MP5NFire () from /home/server669/game/cstrike/dlls/cs.so
#3 0x46000000 in ?? ()
#4 0x00000001 in ?? ()
#5 0x00000001 in ?? ()
#6 0x00000027 in ?? ()
#7 0x3f570a3d in ?? ()
#8 0xb2fad774 in ?? ()
Backtrace stopped: previous frame inner to this frame (corrupt stack?)
No symbol table info available.

@dystopm
Copy link
Contributor

dystopm commented Feb 24, 2024

I having the same problems after the update

CRASH: Fri Feb 23 18:46:54 MSK 2024
Start Line: ./hlds_linux -game cstrike +ip 46.174.. +port 27015 +map zm_arena_zg +maxplayers 32 +sys_ticrate 1100 -pingboost 5 -noipx -debug -norestart -pidfile game.pid
[New LWP 27358]
[New LWP 27373]
[New LWP 27362]
[New LWP 27371]
[New LWP 27370]
[New LWP 27369]
[New LWP 27365]
[New LWP 27374]
[New LWP 30515]
[New LWP 27363]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
Core was generated by `./hlds_linux -game cstrike +ip 46.174.. +port 27015 +map zm_arena_zg +maxpl'.
Program terminated with signal 11, Segmentation fault.
#0 0xb2ae88c2 in ApplyMultiDamage_OrigFunc(entvars_s*, entvars_s*) () from /home/server669/game/cstrike/dlls/cs.so
#0 0xb2ae88c2 in ApplyMultiDamage_OrigFunc(entvars_s*, entvars_s*) () from /home/server669/game/cstrike/dlls/cs.so
#1 0xb2a3c6c9 in CBaseEntity::FireBullets3_OrigFunc(Vector&, Vector&, float, float, int, int, int, float, entvars_s*, bool, int) () from /home/server669/game/cstrike/dlls/cs.so
#2 0xb2afc345 in CDEAGLE::DEAGLEFire () from /home/server669/game/cstrike/dlls/cs.so
#3 0x45800000 in ?? ()
#4 0x00000002 in ?? ()
#5 0x0000000d in ?? ()
#6 0x00000051 in ?? ()
#7 0x3f4f5c29 in ?? ()
#8 0xb2fdfe08 in ?? ()
Backtrace stopped: previous frame inner to this frame (corrupt stack?)
No symbol table info available.
From To Syms Read Shared Object Library
0xb72a1914 0xb72e7c78 Yes ./libstdc++.so.6
0xb724ea90 0xb724f97c Yes () /lib/libdl.so.2
0xb7237780 0xb7243857 Yes (
) /lib/libpthread.so.0
0xb7089320 0xb71cf91b Yes () /lib/libc.so.6
0xb6fcf7a0 0xb703c254 Yes (
) /lib/preload++.so.6
0xb6f4b460 0xb6f75c06 Yes () /lib/libm.so.6
0xb6f33e04 0xb6f43490 Yes ./libgcc_s.so.1
0xb779d8a0 0xb77b8261 Yes (
) /lib/ld-linux.so.2
0xb6f1ea50 0xb6f25fb9 Yes () /lib/libnss_files.so.2
0xb6814cf0 0xb692d7e1 Yes (
) /home/server669/game/engine_i486.so
0xb6775900 0xb6778dca Yes () /lib/librt.so.1
0xb67635c0 0xb676dd74 Yes (
) /home/server669/game/./libsteam_api.so
0xb66fae00 0xb6716838 Yes () /home/server669/game/filesystem_stdio.so
0xb559ad00 0xb6219780 Yes (
) /home/server669/.steam/sdk32/steamclient.so
0xb2c83490 0xb2cc6970 Yes () /home/server669/game/./cstrike/addons/metamod/dlls/metamod.so
0xb2a214e0 0xb2bbea90 Yes (
) /home/server669/game/cstrike/dlls/cs.so
0xb28c7d00 0xb28c8f40 Yes () /home/server669/game/cstrike/addons/SafeNameAndChat/SafeNameAndChat.so
0xb28a03a0 0xb28b6370 Yes (
) /home/server669/game/cstrike/addons/reunion/reunion_mm_i386.so
0xb2876b40 0xb28800b0 Yes () /home/server669/game/cstrike/addons/reauthcheck/reauthcheck_mm_i386.so
0xb27dd7b0 0xb2847bc4 Yes (
) /home/server669/game/cstrike/addons/VoiceTranscoder/VoiceTranscoder.so
0xb2600a20 0xb2663db7 Yes () /home/server669/game/cstrike/addons/amxmodx/dlls/amxmodx_mm_i386.so
0xb253a340 0xb254d48e Yes (
) /home/server669/game/cstrike/addons/whblocker/whblocker_mm_i386.so
0xb2530810 0xb2533b80 Yes () /home/server669/game/cstrike/addons/resemiclip/resemiclip_mm_i386.so
0xb2523b40 0xb2528998 Yes (
) /home/server669/game/cstrike/addons/hackdetector/hackdetector_amxx_i386.so
0xb147d530 0xb14acf74 Yes () /home/server669/game/cstrike/addons/hitbox_fix/hitbox_fix_mm_i386.so
0xb21e0790 0xb2278fc5 Yes (
) cstrike/addons/amxmodx/modules/mysql_amxx_i386.so
0xb21869d0 0xb21b2d6c Yes () cstrike/addons/amxmodx/modules/fakemeta_amxx_i386.so
0xb2159130 0xb215f810 Yes (
) cstrike/addons/amxmodx/modules/reaimdetector_amxx_i386.so
0xb2140290 0xb214c80c Yes () cstrike/addons/amxmodx/modules/engine_amxx_i386.so
0xb2118d50 0xb2128460 Yes (
) cstrike/addons/amxmodx/modules/cstrike_amxx_i386.so
0xb20fd660 0xb2101f84 Yes () cstrike/addons/amxmodx/modules/fun_amxx_i386.so
0xb129db60 0xb12e5624 Yes (
) cstrike/addons/amxmodx/modules/hamsandwich_amxx_i386.so
0xb20e4fe0 0xb20e7e94 Yes cstrike/addons/amxmodx/modules/PersistentDataStorage_amxx_i386.so
0xb1159a40 0xb11aa810 Yes () cstrike/addons/amxmodx/modules/reapi_amxx_i386.so
0xb20d89b0 0xb20dca08 Yes (
) cstrike/addons/amxmodx/modules/nvault_amxx_i386.so
0xb10b7120 0xb10bd404 Yes () cstrike/addons/amxmodx/modules/csx_amxx_i386.so
0xacec19c0 0xadfd5a44 Yes (
) ./steamclient.so
0xb0d60670 0xb0dd6020 Yes () ./crashhandler.so
0xb0ff7c00 0xb0ffb06e Yes (
) /lib/libnss_dns.so.2
0xb0fdf6a0 0xb0fee694 Yes () /lib/libresolv.so.2
0xb1457f60 0xb145924c Yes (
) cstrike/addons/amxmodx/modules/sockets_amxx_i386.so
0xb13e65d0 0xb142f548 Yes () cstrike/addons/amxmodx/modules/regex_amxx_i386.so
(
): Shared library is missing debugging information.
Stack level 0, frame at 0xbfb20c60:
eip = 0xb2ae88c2 in ApplyMultiDamage_OrigFunc(entvars_s*, entvars_s*); saved eip 0xb2a3c6c9
called by frame at 0xbfb20db0
Arglist at 0xbfb20c58, args:
Locals at 0xbfb20c58, Previous frame's sp is 0xbfb20c60
Saved registers:
ebp at 0xbfb20c58, eip at 0xbfb20c5c
End of crash report

Program terminated with signal 11, Segmentation fault.
#0 0xb2ab58c2 in ApplyMultiDamage_OrigFunc(entvars_s*, entvars_s*) () from /home/server669/game/cstrike/dlls/cs.so
#0 0xb2ab58c2 in ApplyMultiDamage_OrigFunc(entvars_s*, entvars_s*) () from /home/server669/game/cstrike/dlls/cs.so
#1 0xb2a096c9 in CBaseEntity::FireBullets3_OrigFunc(Vector&, Vector&, float, float, int, int, int, float, entvars_s*, bool, int) () from /home/server669/game/cstrike/dlls/cs.so
#2 0xb2ad6b01 in CMP5N::MP5NFire () from /home/server669/game/cstrike/dlls/cs.so
#3 0x46000000 in ?? ()
#4 0x00000001 in ?? ()
#5 0x00000001 in ?? ()
#6 0x00000027 in ?? ()
#7 0x3f570a3d in ?? ()
#8 0xb2fad774 in ?? ()
Backtrace stopped: previous frame inner to this frame (corrupt stack?)
No symbol table info available.

Can you provide your game version output?

@ZGBarmaleyPetrovich
Copy link

Can you provide your game version output?

ReGameDLL version: 5.26.0.668-dev
Build date: 19:02:48 Dec 31 2023
Build from: d3c0ec8

@dystopm
Copy link
Contributor

dystopm commented Feb 24, 2024

Can you provide your game version output?

ReGameDLL version: 5.26.0.668-dev Build date: 19:02:48 Dec 31 2023 Build from: d3c0ec8

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.

@ZGBarmaleyPetrovich
Copy link

I don't hook FireBullets3, I just add/clear damage

RegisterHookChain(RG_CBasePlayer_TakeDamage,   "HC_CBasePlayer_TakeDamage_Pre",	  false);
...
public HC_CBasePlayer_TakeDamage_Pre(const victim, const iWeaponId, const attacker, Float: damage, const damagetype)
{	
	
	if ((victim==attacker) && (damagetype == DMG_HEGRENADE) && (g_adrenaline[attacker]))
	{		
		SetHookChainArg(4, ATYPE_FLOAT, 0.0);
		return HC_CONTINUE
	}
	
	if(damagetype & DMG_GENERIC || victim == attacker || !is_user_alive(victim) || !is_user_connected(attacker))
	return HC_CONTINUE
	
	if (!g_gamestarted || (!g_zombie[victim] && !g_zombie[attacker]) || ((damagetype & DMG_HEGRENADE) && g_zombie[attacker]))
	{
		SetHookChainArg(4, ATYPE_FLOAT, 0);	
		return HAM_SUPERCEDE
	}
	else if ((!g_zombie[attacker]) && (!g_zombie[victim]))
	{
		SetHookChainArg(4, ATYPE_FLOAT, 0);	
		return HAM_SUPERCEDE		
	}
	
	if(!g_zombie[attacker])
	{
		static pclass
		pclass = g_player_class[victim]
		
		if (g_isBoss)
		{
			static flags
			flags = pev(victim, pev_flags)	
			
			if((flags & FL_DUCKING) && (flags & FL_ONGROUND)) damage *= 0.60
			else if (!(flags & FL_ONGROUND)) damage *= 1.80
			
		}		
		
		if (damagetype & DMG_HEGRENADE)
		{

			if (pev(iWeaponId,pev_iuser3)==1) damage *= 0.95
			else damage *= 1.15
			
			if (haveArmor[victim]) damage *= 0.3
			else if (!vBuffed[attacker]) damage *= 0.7		
			
			damage *= vHEDefence[victim] ? g_class_data[4][DATA_HEDEFENCE] : g_class_data[pclass][DATA_HEDEFENCE]			
		}
		else 
		{
			if (haveArmor[victim]) damage *= 0.6
			damage *= g_class_data[pclass][DATA_DEFENCE]
			if (get_user_weapon(attacker) == CSW_KNIFE) damage *= 2
		}		
		
		if (haveArmor[victim])
		{
			static Float: armor; armor = get_entvar(victim, var_armorvalue)
			
			armor -= damage * 0.1
			
			//if (is_user_alive(attacker) && (victim!=attacker)) cs_set_user_money(attacker, cs_get_user_money(attacker) + floatround(damage))
			
			if(armor < 0.0)	
			{		
				haveArmor[victim]=false
				cs_set_user_armor(victim,0, CS_ARMOR_NONE)
				update_armor_or_spike(victim)
			}
			else set_pev(victim, pev_armorvalue, armor)
			
			SetHookChainArg(4, ATYPE_FLOAT, damage);	
			return HC_CONTINUE	
		}
		
		if ((g_adrenaline[attacker] && (!(damagetype & DMG_HEGRENADE)))) damage += damage * 0.50		
		
		SetHookChainArg(4, ATYPE_FLOAT, damage);
		return HC_CONTINUE
	}
	else
	{		
		if (!(damagetype & DMG_HEGRENADE))
		{
			if (get_user_weapon(attacker) == CSW_KNIFE) damage *= 2
			else 
			{
				SetHookChainReturn(ATYPE_INTEGER, 0);			
				return HC_SUPERCEDE;				
			}
		}

		if (g_adr_god[victim]) 
		{
			SetHookChainReturn(ATYPE_INTEGER, 0);			
			return HC_SUPERCEDE;
		}
		
		damage *= g_class_data[g_player_class[attacker]][DATA_ATTACK]		
		

		if (((g_isZAttack) || (g_isVIPEscape) || (g_isSurvive)) && (haveArmor[victim]))
		{	
			if (!g_zombie[victim])	
			{
				static Float: armor; armor = get_entvar(victim, var_armorvalue)
				
				if (g_isSurvive) damage *= 0.9
				else damage *= 0.6		
				
				armor -= damage
				
				if (is_user_alive(attacker) && (victim!=attacker)) cs_set_user_money(attacker, cs_get_user_money(attacker) + floatround(damage))
				
				if(armor < 0.0)
				{		
					haveArmor[victim]=false
					cs_set_user_armor(victim,0, CS_ARMOR_NONE)
					update_armor_or_spike(victim)
				}
				else set_pev(victim, pev_armorvalue, armor)
			}

			SetHookChainArg(4, ATYPE_FLOAT, 0);	
			return HC_CONTINUE
			
			
		}
		else
		{ 		
			
			static bool:infect
			infect = allow_infection()				
			
			g_victim[attacker] = infect ? victim : 0
			
			if(!g_infecting)
			SetHookChainArg(4, ATYPE_FLOAT, infect ? 0.0 : damage);
			else   
			SetHookChainReturn(ATYPE_INTEGER, 0);	
			
			return HC_CONTINUE
		}
		
	}
}

@ZGBarmaleyPetrovich
Copy link

Metamod-r v1.3.0.138, API (5:13)
Metamod-r build: 11:50:32 Nov 28 2023
Metamod-r from: rehlds/metamod-r@5179c25

[ 1] MySQL 1.9.0.5294 AMX Mod X Dev Team running
[ 2] FakeMeta 1.9.0.5294 AMX Mod X Dev Team running
[ 3] ReAimDetector 0.2.2 ReHLDS Team running
[ 4] Engine 1.9.0.5294 AMX Mod X Dev Team running
[ 5] CStrike 1.9.0.5294 AMX Mod X Dev Team running
[ 6] Fun 1.9.0.5294 AMX Mod X Dev Team running
[ 7] Ham Sandwich 1.9.0.5294 AMX Mod X Dev Team running
[ 8] PersistentDataStorage 1.0.0 F@nt0M running
[ 9] ReAPI 5.24.0.300 Asmodai & s1lent running
[10] nVault 1.9.0.5294 AMX Mod X Dev Team running
[11] CSX 1.9.0.5294 AMX Mod X Dev Team running
[12] Sockets 1.9.0.5294 AMX Mod X Dev Team running
[13] RegEx 1.9.0.5294 AMX Mod X Dev Team running
13 modules, 13 correct

ReHlds-3.13.0.811-dev

@metita
Copy link
Contributor

metita commented Feb 24, 2024

You are returning HAM_SUPERCEDE in a ReAPI Hook

@dystopm
Copy link
Contributor

dystopm commented Feb 24, 2024

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:

  1. pEntity is holding a removed entity, maybe after TraceAttack or inside somewhere in FireBullets3.
  2. pEntity is holding a negative (-1?) value, derivating in this crash.

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();
}

gMultiDamage.pEntity->

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants