Raised This Month: $32 Target: $400
 8% 

[TF2] Crash from TFCond_PlagueRune


Post New Thread Reply   
 
Thread Tools Display Modes
Author Message
Mr_panica
Senior Member
Join Date: Jan 2017
Location: Russia, Saint-Petersburg
Old 03-06-2021 , 08:01   [TF2] Crash from TFCond_PlagueRune
Reply With Quote #1

Hello everyone.
I noticed that my server was crashing due to the TFCond_PlagueRune cond.
If you look at that Stack Trace, you will notice that this is due to the radius of the selection of Healthkits.
And this cond just increases it:
TFCond_PlagueRune
110: Radius health kit stealing, increased max health, TFCond_Plague on touching a victim.

The question is, how can this crash be avoided?
Of course, I stopped using this cond, but maybe there is a less radical solution?

https://crash.limetech.org/ooqhlfdeizhb
HTML Code:
Stack Trace
Function
0	libstdc++.so.6.0.19!__dynamic_cast + 0x56
1	server_srv.so!CItem::ItemTouch(CBaseEntity*) + 0x117
2	server_srv.so!CTFPlayerShared::RadiusHealthkitCollectionCheck() + 0x153
3	server_srv.so!CTFPlayerShared::ConditionGameRulesThink() + 0x6c6
4	server_srv.so!CTFGameRules::RunPlayerConditionThink() + 0x4b
5	server_srv.so!InvokePerFrameMethod(void (IGameSystemPerFrame::*)(), char const*) [clone .isra.49] [clone .constprop.363] + 0x4d
6	server_srv.so!IGameSystem::FrameUpdatePostEntityThinkAllSystems() + 0x1e
7	server_srv.so!CServerGameDLL::GameFrame(bool) + 0x189
8	sourcemod.2.tf2.so!__SourceHook_FHCls_IServerGameDLLGameFramefalse::Func [sourcemod.cpp:54 + 0xd] 
9	engine_srv.so!SV_Think(bool) + 0x1df
10	engine_srv.so!SV_Frame(bool) + 0x1c8
11	engine_srv.so!_Host_RunFrame_Server(bool) + 0x158
12	engine_srv.so!_Host_RunFrame(float) + 0x4c7
13	engine_srv.so!CHostState::State_Run(float) + 0xc7
14	engine_srv.so!CHostState::FrameUpdate(float) + 0x166
15	engine_srv.so!HostState_Frame(float) + 0x1d
16	engine_srv.so!CEngine::Frame() + 0x773
17	engine_srv.so!CDedicatedServerAPI::RunFrame() + 0x26
18	dedicated_srv.so!RunServer() + 0x3a
19	engine_srv.so!CModAppSystemGroup::Main() + 0x9d
20	engine_srv.so!CAppSystemGroup::Run() + 0x38
21	engine_srv.so!CDedicatedServerAPI::ModInit(ModInfo_t&) + 0x1dd
22	dedicated_srv.so!CDedicatedAppSystemGroup::Main() + 0x93
23	dedicated_srv.so!CAppSystemGroup::Run() + 0x38
24	dedicated_srv.so!CAppSystemGroup::Run() + 0x38
25	dedicated_srv.so!main + 0x1c8
26	srcds_linux!main + 0x27b
27	libc-2.17.so!__libc_start_main + 0xf3
28	srcds_linux + 0xb85
29	srcds_linux + 0x750
30	srcds_linux + 0xc50
31	srcds_linux + 0xcc0
32	ld-2.17.so + 0x10020
__________________
Sorry for my English.
Mr_panica is offline
nosoop
Veteran Member
Join Date: Aug 2014
Old 03-06-2021 , 09:05   Re: [TF2] Crash from TFCond_PlagueRune
Reply With Quote #2

Could you please provide the error message at the top of the stack view and the first two chunks of the topmost stack trace (registers and instructions)?

It's crashing on dynamic_cast. All the other functions below it look normal to me, so I'm definitely puzzled on why it'd crash there.
__________________
I do TF2, TF2 servers, and TF2 plugins.
I don't do DMs over Discord -- PM me on the forums regarding inquiries.
AlliedModders Releases / Github / TF2 Server / Donate (BTC / BCH / coffee)
nosoop is offline
Mr_panica
Senior Member
Join Date: Jan 2017
Location: Russia, Saint-Petersburg
Old 03-06-2021 , 10:22   Re: [TF2] Crash from TFCond_PlagueRune
Reply With Quote #3

Quote:
Originally Posted by nosoop View Post
Could you please provide the error message at the top of the stack view and the first two chunks of the topmost stack trace (registers and instructions)?

It's crashing on dynamic_cast. All the other functions below it look normal to me, so I'm definitely puzzled on why it'd crash there.
That's what you need?
HTML Code:
SIGSEGV /SEGV_MAPERR accessing 0x44a3fffc

Thread 0 (crashed):
   0: libstdc++.so.6.0.19!__dynamic_cast + 0x56
      eip: 0xf74b2b36  esp: 0xffca3ba0  ebp: 0xffca3c48  ebx: 0x1a1dfdb0
      esi: 0x28b7cb18  edi: 0xec850de0  eax: 0x44a40000  ecx: 0xf0100607
      edx: 0x28b7ab58  efl: 0x00010203  

      f74b2b1a  01 f2                    add edx, esi
      f74b2b1c  8b 02                    mov eax, [edx]
      f74b2b1e  c7 44 24 40 00 00 00 00  mov dword [esp+0x40], 0x0
      f74b2b26  c7 44 24 44 00 00 00 00  mov dword [esp+0x44], 0x0
      f74b2b2e  c7 44 24 48 10 00 00 00  mov dword [esp+0x48], 0x10
  >   f74b2b36  8b 40 fc                 mov eax, [eax-0x4]
      f74b2b39  39 c8                    cmp eax, ecx
      f74b2b3b  74 1b                    jz 0xf74b2b58
      f74b2b3d  31 c0                    xor eax, eax
      f74b2b3f  8b 7c 24 4c              mov edi, [esp+0x4c]
      f74b2b43  65 33 3d 14 00 00 00     xor edi, [gs:0x14]

      ffca3ba0  b8 cf b7 28 dc 3b ca ff  b0 fd 1d 1a 18 cb b7 28  ...(.;.........(
      ffca3bb0  00 00 00 00 00 00 00 00  c8 00 00 00 00 00 48 43  ..............HC
      ffca3bc0  00 00 00 00 01 00 00 00  00 00 00 00 80 28 7f ec  .............(..
      ffca3bd0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ................
      ffca3be0  00 00 00 00 00 00 00 00  10 00 00 00 00 2b 45 1e  .............+E.
      ffca3bf0  18 cb b7 28 1f 00 00 00  48 3c ca ff d7 fb 0c ec  ...(....H<......

      Found via instruction pointer in context


   1: server_srv.so!CItem::ItemTouch(CBaseEntity*) + 0x117
      eip: 0xec0cfbd7  esp: 0xffca3c00  ebp: 0xffca3c48  ebx: 0x1a1dfdb0
      esi: 0x28b7cb18  edi: 0x0000001f  

      ffca3c00  18 cb b7 28 80 28 7f ec  e0 0d 85 ec 00 00 00 00  ...(.(..........
      ffca3c10  20 ff 1d 1a 78 00 00 00  48 3c ca ff bc 59 49 ec   ...x...H<...YI.
      ffca3c20  18 cb b7 28 60 98 c8 ec  94 05 00 00 20 ff 1d 1a  ...(`....... ...
      ffca3c30  68 17 1e 1a 6e 00 00 00  00 00 48 43 b0 fd 1d 1a  h...n.....HC....
      ffca3c40  54 98 c8 ec 1f 00 00 00  78 3c ca ff d3 7a dc eb  T.......x<...z..

      Found via call frame info


   2: server_srv.so!CTFPlayerShared::RadiusHealthkitCollectionCheck() + 0x153
      eip: 0xebdc7ad3  esp: 0xffca3c50  ebp: 0xffca3c78  ebx: 0x1a1dfdb0
      esi: 0xecc89854  edi: 0x0000001f  

      ffca3c50  18 cb b7 28 b0 fd 1d 1a  78 3c ca ff 18 cb b7 28  ...(....x<.....(
      ffca3c60  68 17 1e 1a 6e 00 00 00  88 3c ca ff 58 1b 1e 1a  h...n....<..X...
      ffca3c70  68 17 1e 1a 2c 01 00 00  98 3d ca ff 76 8d de eb  h...,....=..v...

      Found via call frame info
__________________
Sorry for my English.
Mr_panica is offline
Mr_panica
Senior Member
Join Date: Jan 2017
Location: Russia, Saint-Petersburg
Old 03-06-2021 , 15:17   Re: [TF2] Crash from TFCond_PlagueRune
Reply With Quote #4

Ha!
I found the problem. It was in this plugin: https://forums.alliedmods.net/showthread.php?t=252570.
The edict removal function was crashing the server.
I replaced it with:
HTML Code:
DispatchKeyValue (kit_ent, "OnPlayerTouch", "! Self, Kill ,, 0, -1");
And now everything is working properly!
__________________
Sorry for my English.
Mr_panica is offline
Bacardi
Veteran Member
Join Date: Jan 2010
Location: mom's basement
Old 03-06-2021 , 16:24   Re: [TF2] Crash from TFCond_PlagueRune
Reply With Quote #5

Good.

...so next time, that old phrase in each new topic, which original poster never mention in first post.

"meta version"
"sm version"
"sm plugins list"


:P
__________________
Do not Private Message @me
Bacardi is offline
Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 07:07.


Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Theme made by Freecode