-
-
Notifications
You must be signed in to change notification settings - Fork 422
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
SDKTools GameRules native crash #1902
Comments
I also have this common crash, along with this more rarer crash log related to I believe the crash is more specifically from a one entity in |
After further investigation I've found the following :
What I reversed, assuming I didn't make any mistakes :
Which seems to coroborate the alternative crash dump @FortyTwoFortyTwo linked. Interestingly enough, sourcemod code base hardly makes any use of that vcall. Furthermore sourcemod/extensions/tf2/extension.cpp Lines 432 to 462 in 1fbe5e1
I decided to git blame the addition of GetEntityHandle and PR #1089 seems to be blamed for this.
Analysing their bug report, I disagree with the fix that was provided. According to the author the function ServerClass* CServerNetworkProperty::GetServerClass()
{
if ( !m_pServerClass )
m_pServerClass = m_pOuter->GetServerClass();
return m_pServerClass;
} is to be blamed because m_pOuter "can be null", but they didn't provide any crash dump to support their claim. Furthermore,
void CServerNetworkProperty::Init( CBaseEntity *pEntity )
{
m_pPev = NULL;
m_pOuter = pEntity; And the Init function is called under CBaseEntity::CBaseEntity( bool bServerOnly )
{
[...]
NetworkProp()->Init( this ); Finally, Sourcemod call to Therefore it is impossible, we ever reach the call Extra noteThis doesn't address however the main issue we uncovered here. This all points to me, this isn't an error on Sourcemod's part. And there's a wrong |
I've certainly crashed from a null m_pOuter. With that being said, the situation always seemed to be collision related. |
Help us help you
Environment
Description
Through unknown conditions, the native
GameRules_SetProp
and more specifically, the extension sdktools'sGetGameRulesProxyEnt
will cause a segmentation fault.Problematic Code (or Steps to Reproduce)
Call
GameRules_SetProp
repeatedly during any map. This might or might not trigger the crash.Logs
https://crash.limetech.org/d42cffz6sta4
But this seems much more widespread than the crash signature I've, if we filter stats
https://crash.limetech.org/stats/sdktools.ext.2.tf2.so/GetGameRulesProxyEnt
Those servers seem to crash in the same location as I, and they're most certainly not running the same plugin setup as I.
The text was updated successfully, but these errors were encountered: