I'm not sure if we are talking about the same group of messages. I thouht it would be rather one of those captured i.e. in pfnMessageBegin function - like "BarTime", "ResetHUD", "AmmoPickup" and so on. I mean those I need to know for them MSG_ID (GET_USER_MSG_ID). Actually I cannot reproduce that bug on a windows server (it happened only on a linux server), but I found another one on windows server (not related at all to Your code). It is something with pathfinding, I couldn't believe it could happen.
Code:
hlds.exe caused an Access Violation at location 09c261da in module podbot_mm.dll Reading from location cdcdcdf9.
Registers:
eax=09d65c48 ebx=09bd8478 ecx=cdcdcdcd edx=09ccb934 esi=0012ddfc edi=0012f648
eip=09c261da esp=0012ddfc ebp=0012f648 iopl=0 nv up ei pl nz na pe nc
cs=001b ss=0023 ds=0023 es=0023 fs=003b gs=0000 efl=00000202
Call stack:
09C261DA podbot_mm.dll:09C261DA BotCheckTerrain bot_navigate.cpp:5517
...
&& (pBot->pWaypointNodes != NULL) && (!g_bRecalcVis) && (pBot->bMoveToGoal)) // KWo - 28.01.2012
{
> if (pBot->pWaypointNodes->NextNode != NULL)
{
fDistToCurWP = (pEdict->v.origin - paths[pBot->curr_wpt_index]->origin).Length();
...
09BFCF1A podbot_mm.dll:09BFCF1A BotThink bot.cpp:8865
...
&& (pBot->f_spawn_time + (((g_fTimeRoundEnd + g_f_cv_FreezeTime > gpGlobals->time) && (g_fTimeRoundEnd < gpGlobals->time)) ? (g_f_cv_FreezeTime + 0.0):(0.2)) < gpGlobals->time)) // KWo - 28.05.2010
{
> BotCheckTerrain(pBot);
}
...
09C355BC podbot_mm.dll:09C355BC StartFrame dll.cpp:2249
...
{
g_i_botthink_index = bot_index; // KWo - 02.05.2006
> BotThink (&bots[bot_index]);
g_iNum_bots++;
}
...
6B2075F6 metamod.dll:6B2075F6
It looks like is not enought to check if the pointer is null or not to prevent the crash...
That ">" shows lines of code execution in last called functions.