alliedmodders / sourcemod

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

- Fixes for OnPlayerTeleport hook for linux and linux64 systems #2214

Closed MrD4rk5oul closed 3 weeks ago

MrD4rk5oul commented 3 weeks ago

Fixes issue #2140

Fix tested on:

Arie commented 3 weeks ago

The merging of this pull request coincides with crashes starting on my TF2 servers. PR was merged Nov 2 16:38CET, first crash at 17:02, up to about 40 crashes now. Servers were on Sourcemod 1.12.0.7116, just now upgraded to 1.12.0.7166 hoping that will fix the crashing.

Throttle shows server_srv.so!CObjectTeleporter::PlayerCanBeTeleported(CTFPlayer*) [clone .part.0] + 0x28, which I've never seen before and seems too much of a coincidence. https://crash.limetech.org/f7kccntfqfeb

MrD4rk5oul commented 3 weeks ago

The merging of this pull request coincides with crashes starting on my TF2 servers. PR was merged Nov 2 16:38CET, first crash at 17:02, up to about 40 crashes now. Servers were on Sourcemod 1.12.0.7116, just now upgraded to 1.12.0.7166 hoping that will fix the crashing.

Throttle shows server_srv.so!CObjectTeleporter::PlayerCanBeTeleported(CTFPlayer*) [clone .part.0] + 0x28, which I've never seen before and seems too much of a coincidence. https://crash.limetech.org/f7kccntfqfeb

Further testing revealed multiple 3rd party plugins may cause the crash upon hooking on the game's events.

Using a bare TF2 server with MM+SM and a plugin hooking on CanPlayerTeleport yields no crashes. Using a bare TF2 server with MM+SM and a plugin hooking on CanPlayerTeleport and another plugin hooking on TF2_OnWaitingForPlayersStart/TF2_OnWaitingForPlayersEnd leads to a crash upon touching a teleporter.

Current quick-fix solution should be :

The CanPlayerTeleport will stop working again until a solution comes up.

psychonic commented 3 weeks ago

This has now been reverted until a proper fix can be made