AlliedModders

AlliedModders (https://forums.alliedmods.net/index.php)
-   Source Servers (SRCDS) (https://forums.alliedmods.net/forumdisplay.php?f=130)
-   -   L4D2 Server Crash (https://forums.alliedmods.net/showthread.php?t=279382)

Accelerator 02-21-2016 04:18

L4D2 Server Crash
 
What the reason this crash?
Code:

server_srv.so!CSoundPatch::ChangePitch(float, float) + 0x6
https://crash.limetech.org/3ttvwl5bmp3a

Please, help me..

Accelerator 06-13-2016 09:15

Re: L4D2 Server Crash
 
It's actually...
Chainsaw crashes server after update ~2.1.4.3
Full dump:
Code:

0        server_srv.so!CSoundPatch::ChangePitch(float, float) + 0x6
1        server_srv.so!CChainsaw::ItemPostFrame() + 0x7f8
2        server_srv.so!CBasePlayer::ItemPostFrame() + 0x47f
3        server_srv.so!CTerrorPlayer::ItemPostFrame() + 0xba
4        server_srv.so!CBasePlayer::PostThink() + 0xe3b
5        server_srv.so!CCSPlayer::PostThink() + 0xc5
6        server_srv.so!CTerrorPlayer::PostThink() + 0x140
7        server_srv.so!CPlayerMove::RunPostThink(CBasePlayer*) + 0xb7
8        server_srv.so!CPlayerMove::RunCommand(CBasePlayer*, CUserCmd*, IMoveHelper*) + 0x6ce
9        server_srv.so!CBasePlayer::PlayerRunCommand(CUserCmd*, IMoveHelper*) + 0x9c
10        server_srv.so!CCSPlayer::PlayerRunCommand(CUserCmd*, IMoveHelper*) + 0x1d9
11        server_srv.so!CTerrorPlayer::PlayerRunCommand(CUserCmd*, IMoveHelper*) + 0x323

On the server, there are no plug-ins, which would affect the chainsaw. The server falls after, when a lot of players have a chainsaw, and at the same time beginning to use it. The server stops responding, the var rises, falls fps and server crashes.
Any ideas?... :(

eric0279 06-13-2016 13:41

Re: L4D2 Server Crash
 
strelok74 from l4dnation? ^^



no idea, sorry or test it: remove chainsaw?

Accelerator 06-13-2016 13:46

Re: L4D2 Server Crash
 
Remove chainsaw - no crashes :) But I would like to find ways to fix it, possibly through NormalSHook?

Accelerator 01-16-2017 09:31

Re: L4D2 Server Crash
 
The problem is still relevant. New crash dump:
Code:

0        server_srv.so + 0x48d1a6
1        server_srv.so + 0x5010a8
2        server_srv.so + 0x3ed16f
3        server_srv.so + 0x4c1afa
4        server_srv.so + 0x76133b
5        server_srv.so + 0x617425
6        server_srv.so + 0x975670
7        server_srv.so + 0x771627
8        server_srv.so + 0x771e3e
9        server_srv.so + 0x750aac
10        server_srv.so + 0x60f979
11        server_srv.so + 0x94bf13
12        sdktools.ext.2.l4d2.so + 0x240e6
13        server_srv.so + 0x94bbf0
14        sdktools.ext.2.l4d2.so + 0x23ff0
15        server_srv.so + 0x768924
16        server_srv.so + 0x739e7a
17        server_srv.so + 0x73a2fa
18        server_srv.so + 0x6829f9
19        sourcemod.2.l4d2.so + 0x2c1de
20        server_srv.so + 0xc1f238
21        server_srv.so + 0x6820b0
22        engine_srv.so + 0x1ddd7f
23        engine_srv.so + 0x1def73
24        engine_srv.so + 0x15f647
25        engine_srv.so + 0x1610ab
26        engine_srv.so + 0x16b730
27        engine_srv.so + 0x16b93e
28        engine_srv.so + 0x16ba49
29        engine_srv.so + 0x1f7813
30        engine_srv.so + 0x1f48e6
31        dedicated_srv.so + 0x54f3c
32        dedicated_srv.so + 0x54fd8
33        engine_srv.so + 0x1f49cd
34        engine_srv.so + 0x245ce0
35        engine_srv.so + 0x1f57df
36        dedicated_srv.so + 0x550b0
37        dedicated_srv.so + 0x740c0
38        dedicated_srv.so + 0x740c0
39        dedicated_srv.so + 0x205b5
40        srcds_linux + 0x6f1
41        libc-2.17.so + 0x19933
42        srcds_linux + 0xc90
43        srcds_linux + 0x2f4
44        srcds_linux + 0x84c
45        ld-2.17.so + 0x14f60
46        libc-2.17.so + 0x19849
47        srcds_linux + 0x84c
48        srcds_linux + 0x86d
49        srcds_linux + 0x610
50        srcds_linux + 0x8dc
51        0xbfe64afc
52        0x5f736463

I disassembled server_srv.so:
Code:

.text:0048D1A0                                                ; Attributes: bp-based frame
.text:0048D1A0
.text:0048D1A0                                                ; _DWORD __cdecl CSoundPatch::ChangePitch(CSoundPatch *this, float, float)
.text:0048D1A0                                                _ZN11CSoundPatch11ChangePitchEff proc near
.text:0048D1A0                                                                                        ; CODE XREF: CSoundControllerImp::SoundChangePitch(CSoundPatch *,float,float)+16j
.text:0048D1A0                                                                                        ; CSoundControllerImp::ProcessCommand(SoundCommand_t *)+E3p ...
.text:0048D1A0
.text:0048D1A0                                                this            = dword ptr  8
.text:0048D1A0
.text:0048D1A0 55                                                              push    ebp
.text:0048D1A1 89 E5                                                          mov    ebp, esp
.text:0048D1A3 8B 45 08                                                        mov    eax, [ebp+this]
.text:0048D1A6 83 48 50 02                                                    or      dword ptr [eax+50h], 2
.text:0048D1AA 5D                                                              pop    ebp
.text:0048D1AB E9 B0 FC FF FF                                                  jmp    _ZN14CSoundEnvelope9SetTargetEff ; CSoundEnvelope::SetTarget(float,float)
.text:0048D1AB                                                _ZN11CSoundPatch11ChangePitchEff endp

drop occurs due to this line:
Code:

.text:0048D1A6 83 48 50 02                                                    or      dword ptr [eax+50h], 2
Maybe know how to patch the memory location? Or maybe someone has server_srv.so early version of the game? Let's say version 2.1.4.2-2.1.4.4.

cravenge 01-17-2017 03:25

Re: L4D2 Server Crash
 
Best solution would be to limit the number of players that can use chainsaws and check if the current number of players equipped with chainsaw reaches the limit. If so, kill the entity.

Vit_amin 01-17-2017 12:29

Re: L4D2 Server Crash
 
You disassembled server_srv.so by IDA ?

Accelerator 10-01-2018 11:35

Re: L4D2 Server Crash
 
Can someone understand this problem? It is still relevant (for those who have not given up chainsaws). Valve ignores this problem :(

Lux 10-01-2018 22:16

Re: L4D2 Server Crash
 
Quote:

Originally Posted by Accelerator74 (Post 2427206)
The server falls after, when a lot of players have a chainsaw, and at the same time beginning to use it. The server stops responding, the var rises, falls fps and server crashes.

I know this may seem unrelated, do you use the mutation system at all, e.g. "scriptedmode.nut"
I had a similar problem while running this over a few hours OnTakeDamage would become expensive causing what you showed(server would stall var would spike alot ending in crash) but would be an event crash.

After removing any thing to do with the mutation system and DirectorOptions<- call i no longer have crashing problem due to damage or any type of perf degradation overtime

https://forums.alliedmods.net/showthread.php?p=2589396 this was a workaround

Hope it atleast helps.


Spoiler

Accelerator 10-01-2018 23:29

Re: L4D2 Server Crash
 
No, I do not use the mutation system.

I tried to block all the sounds of the chainsaw:
Code:

#include <sourcemod>
#include <sdktools>

public OnPluginStart()
{
        AddNormalSoundHook(view_as<NormalSHook>(EventSound));
}

public Action EventSound(int clients[64], int& numClients, char sample[PLATFORM_MAX_PATH], int& entity, int& channel, float& volume, int& level, int& pitch, int& flags)
{
        if (StrContains(sample, "chainsaw", false) != -1)
                return Plugin_Handled;
       
        return Plugin_Continue;
}

It does not help.

As I noticed, the player need only start to cut (not necessarily harming anyone), and the server crashes, and not in all cases.


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

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