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

Infinite loop by using forward RTD2_Removed if any of the players are still on Bad Sauce on round ends. #121

Open
7 of 9 tasks
kelvinthh opened this issue Jun 9, 2024 · 2 comments
Labels
bug Something isn't working

Comments

@kelvinthh
Copy link

kelvinthh commented Jun 9, 2024

Bug description

Using forward RTD2_Removed causes infinite loop when someone is still on Bad Sauce and the round ends.
Error: Not enough space on the stack
2024-06-10 at 00 07 44@2x
The way I reproduce it: sm_forcertd badsauce on everyone then sm_slay one of the teams to end the round. The loop starts right before the new round starts.

  • Version: 2.5.1 and 2.5.5 on SourceMod 1.11 build 6964
  • No custom code across all components including Bad Sauce perk except a few additional custom perks.

Report checks

Please describe the bug in the section above, then post it and tick the correct boxes below.

I run a Freak Fortress 2 Rewrite server and I reapply some attribute changes when RTD effects wear off. Here's a snippet from the plugin calling the RTD2_Removed forward:

public void RTD2_Removed(int client, RTDPerk perk, RTDRemoveReason reason)
{
	if(reason == RTDRemove_WearOff)
	{
		SetEffect(client);     // The function that applies attribute changes to client, it calls TF2_RegeneratePlayer() somewhere.
	}
}

This seems to be something new after the TF2 64bit update. I didn't get back to game server hosting until the last couple of days. I stayed on 2.5.1 for a while before the update and never had any issue.

Required

  • The bug does not have an open issue.
  • I have described the bug.
  • I mentioned whether the bug is sporadic or systematic.

Optional

  • Steps to reproduce the bug are known and have been described.
  • I have access to server error logs and have provided them, if any.
  • I am able to check the RTD version (sm_cvar sm_rtd2_version) and have specified it.
  • I have access to RTD default configuration file (rtd2_perks.default.cfg) and can confirm it's the one bundled with plugin release archive.
  • I have access to RTD custom configuration file (rtd2_perks.custom.cfg or other) and have attached it to this issue.
  • The issue is related to a particular perk, which has been specified by a label.
@kelvinthh kelvinthh added the bug Something isn't working label Jun 9, 2024
@Phil25
Copy link
Owner

Phil25 commented Aug 22, 2024

I'll take a look at it, haven't tested at all on 64 bit servers yet.

@kelvinthh
Copy link
Author

I'll take a look at it, haven't tested at all on 64 bit servers yet.

No, 64-bit TF2 server never works with SM. Everything reported is running in 32-bit mode (srcds.exe, not the the 64bit one).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants