Open gmacev opened 8 years ago
This doesn't seem an issue with the module. It does nothing in this area. Module is about just patching memory at several places to skip the check which verifies if the game is "czero" (to get access to cvars/commands/manager/etc..).
GetAttacker()
looks like:
CBasePlayer *CCSBot::GetAttacker() const
{
if (m_attacker != NULL && m_attacker->IsAlive())
return m_attacker;
return NULL;
}
If you get a crash there, it means m_attacker
is not null but holds an invalid pointer.
Not sure how it's possible looking at the code.
Maybe a bot received damages by a player who has been disconnected/crashed/whatever right away and the value stored in m_attacker
was no more valid at this point. Did you check the server log to see what's happening when a crash is triggered?
Do you get the dump from hlds_run script? If so, it should provide more information, make sure to paste the full output.
Sorry, something weird is happening with my server. It seems whatever the crash reason is it always outputs the same debug.log. For example if server crashes because of precache limit:
FATAL ERROR (shutting down): Host_Error: PF_precache_model_I: Model 'sprites/smoke.spr' failed to precache because the item count is over the 512 limit. warning: Can't read pathname for load map: Input/output error.
It still outputs the same debug.log with trace starting from CCSBot::GetAttacker. Any idea why?
If you crash with Host_Error:, you can't have the crash dump of first message at the same time.
Now, about your crash dump, you have to try to debug:
Crashes the server sometimes few times a day, sometimes few times a week, but always with the same error: