alliedmodders / sourcemod

SourceMod - Source Engine Scripting and Administration
http://www.sourcemod.net/
985 stars 423 forks source link

[Crash] [CS:S] CS_OnCSWeaponDrop with lot of bots (at least) #1427

Closed ambaca closed 3 years ago

ambaca commented 3 years ago

Help us help you

Environment

Description

Windows 10 64bit SRCDS suddenly crash when plugin use 'CS_OnCSWeaponDrop' and server is filled with many bots.

I also tested with much less bots, two bots it maybe not crash server or it takes really long time. Six bots, takes a lot of time, still server crash. Different map than de_dust2, can also affect when server crash. Tested in hostage map cs_office.

Last test, 30 bots and bots_knives_only, does not crash server until I change back bot_all_weapons.

Most likely happen on before player_death event. Function 'CS_OnCSWeaponDrop' is last output in my logs.

-Forum topic of this bug CS_OnCSWeaponDrop not work? -Used now Accelerator - Crash Reporting That Doesn't Suck to get crash dump. But fail to upload file into web site (dunno why). I attached crash dump in here.

Problematic Code (or Steps to Reproduce)

#include <cstrike>

public Action CS_OnCSWeaponDrop(int client, int weaponIndex)
{
    PrintToServer("CS_OnCSWeaponDrop client %i, weaponIndex %i", client, weaponIndex);
    return Plugin_Continue;
}

Logs

dumps.zip

ambaca commented 3 years ago

Update 16.2.2021 I had test on Linux (From Virtualbox + ubuntu and from real installed Ubuntu OS)

Post - https://forums.alliedmods.net/showthread.php?p=2737109#post2737109 I had also tried and managed build SourceMod on Windows, following this: https://wiki.alliedmods.net/Building_sourcemod

asherkin commented 3 years ago
  • Also, there is difference with file sizes with my build and released SourceMod packs.

Did you configure the build with --enable-optimize?

ambaca commented 3 years ago
  • Also, there is difference with file sizes with my build and released SourceMod packs.

Did you configure the build with --enable-optimize?

No I didn't.

F:\dev\SourceMod\sourcemod\build>python ../configure.py

I build again with that parameter F:\dev\SourceMod\sourcemod\build>python ../configure.py --enable-optimize And guess what, problem has been appear again, server crash after few rounds with bots. Desktop Screenshot 2021 02 16 - 18 52 12 12

*edit Am I only one, who bustle with this crash ? Isn't there more people with this specific problem on windows ?

ambaca commented 3 years ago

17.2.2021 I went old fashioned way, downgrade SourceMod version till it would not crash. (I did not test every single one!)

In this version, it not crash server 6224 - ok 6350 - ok 6380 - ok 6390 - ok

sm version
 SourceMod Version Information:
    SourceMod Version: 1.10.0.6394
    SourcePawn Engine: 1.10.0.6394, jit-x86 (build 1.10.0.6394)
    SourcePawn API: v1 = 5, v2 = 12
    Compiled on: Apr 11 2019 14:54:40
    Built from: https://github.com/alliedmodders/sourcemod/commit/e3f4d239
    Build ID: 6394:e3f4d239
    http://www.sourcemod.net/

Upgrade to next version, it start crash server.

sm version
 SourceMod Version Information:
    SourceMod Version: 1.10.0.6403
    SourcePawn Engine: 1.10.0.6403, jit-x86 (build 1.10.0.6403)
    SourcePawn API: v1 = 5, v2 = 12
    Compiled on: May  1 2019 14:32:38
    Built from: https://github.com/alliedmodders/sourcemod/commit/dae6d13f
    Build ID: 6403:dae6d13f
    http://www.sourcemod.net/

Also version 6450 - crash. Version 6502 - crash. SourceMod Version: 1.11.0.6453 - crash X992

asherkin commented 3 years ago

https://github.com/alliedmodders/sourcemod/compare/e3f4d239...dae6d13f

988 is probably the only thing of interest in that range, seems like the function prototype has probably changed again in that case. It's also possible the signature isn't unique.

ambaca commented 3 years ago

Sorry to bother again. This issue still exist today with latest SM stable/dev versions. (Windows)

Old working SM is SourceMod Version: 1.10.0.6394

I was wondering, cs:go is now separate to own function #1602 Could cs:s weapon drop revert back to before this version #988 where legacy parameter dropshield were removed ?

*edit This crash happen randomly only when bots are dying.

psychonic commented 3 years ago

Yes, #988 needs to be reverted. That parameter still exists. I'm not sure why it was removed from SM.

psychonic commented 3 years ago

Fixed with https://github.com/alliedmodders/sourcemod/commit/536750b428ebf0ae82fb2b274765b990d0f9c742

ambaca commented 3 years ago

Thank you @psychonic and others. 👍 It's working, I can run CS:S server (Windows) with bots without crash (tested over half-hour with 31 bots).

 Metamod:Source Version Information
    Metamod:Source version 1.11.0-dev+1145
    Plugin interface version: 16:14
    SourceHook version: 5:5
    Loaded As: Valve Server Plugin
    Compiled on: Aug 25 2020 06:54:21
    Built from: https://github.com/alliedmodders/metamod-source/commit/0bb53f2
    Build ID: 1145:0bb53f2
    http://www.metamodsource.net/

 SourceMod Version Information:
    SourceMod Version: 1.10.0.6521
    SourcePawn Engine: 1.10.0.6521, jit-x86 (build 1.10.0.6521)
    SourcePawn API: v1 = 5, v2 = 12
    Compiled on: Oct 23 2021 03:53:43
    Built from: https://github.com/alliedmodders/sourcemod/commit/4fb7bf49
    Build ID: 6521:4fb7bf49
    http://www.sourcemod.net/