Are you deleting the entities inside a callback form vphysics?  e.g.
VPhysicsCollision?  That can cause crashes.  There should be code that
prevents that - i.e. UTIL_Remove() should actually add the object to a
list by calling PhysCallbackRemove() but I don't have the SDK code in
front of me so I can't check.

Jay


> -----Original Message-----
> From: [EMAIL PROTECTED]
> [mailto:[EMAIL PROTECTED] On Behalf Of A.Oliver
> Sent: Monday, December 24, 2007 8:09 AM
> To: [email protected]
> Subject: [hlcoders] Physics crash related (urgent).
>
> This is a multi-part message in MIME format.
> --
> [ Picked text/plain from multipart/alternative ] Our recently
> released modification (Fistful of Frags) is suffering some
> stability issues. Hope someone can bring some light to these
> serious servers crashes. I posted another similar issue in
> this list, and as I said before, I never modified any part of
> the physics code. Now I'm starting to understand what's going
> on, seems like a physic entity was removed, but server is
> still trying to use it so finds a null pointer and crashes.
> Is that rigth?
>
> These issues were noticed only during maximum stress, once
> the mod was released. They may happen rarely or not, depends
> the way physics are stressed I guess.
>
> I'm using UTIL_Remove in several parts of the game, example:
> a cowboy hat is created (falls to ground), and after some
> seconds is deleted. There are other items deleted in a
> similar way. Should I use other method different from UTIL_Remove?
>
> And a last question. Can server performance ( low FPS) make
> these issues worse? Because they tend to happen more in our
> own server, which sometimes is even below 10 FPS.
>
> Hope this helps, these are 3 different call stacks we are
> seeing repitedly. If you need any other info plz let me know.
>
>
> > server.dll!AllocTouchLink()  Line 361 + 0x41 bytes C++
>
> server.dll!CBaseEntity::PhysicsMarkEntityAsTouched(CBaseEntity
>  * other=0x0d21e300)  Line 850 + 0x5 bytes C++
>
> server.dll!CBaseEntity::PhysicsMarkEntitiesAsTouchingEventDriv
> en(CBaseEntity * other=0x00000000, CGameTrace & trace={...})
> Line 908 C++
>   server.dll!CCollisionEvent::DispatchStartTouch(CBaseEntity
> * pEntity0=0x0d21e300, CBaseEntity * pEntity1=0x0fdf0dd8,
> const Vector & point={...}, const Vector & normal={...})
> Line 1567 + 0x8c bytes C++
>   server.dll!CCollisionEvent::UpdateTouchEvents()  Line 1590 C++
>   server.dll!PhysFrame(float deltaTime=0.015000000)  Line
> 1262 + 0xa bytes C++
>   server.dll!CPhysicsHook::FrameUpdatePostEntityThink()  Line 271 C++
>   server.dll!InvokePerFrameMethod(void (void)* f=0x22198170,
> const char * timed=0x2217be3f)  Line 431 C++
>   server.dll!CServerGameDLL::GameFrame(bool simulating=true)
> Line 1001 + 0x14 bytes C++
>
> ---------
>
> > server.dll!CCollisionEvent::UpdateDamageEvents()  Line 1624 + 0x8
> > bytes C++
>   server.dll!CCollisionEvent::PostSimulationFrame()  Line 1499 C++
>   server.dll!PhysFrame(float deltaTime=0.015000000)  Line 1206 C++
>   server.dll!CPhysicsHook::FrameUpdatePostEntityThink()  Line 271 C++
>   server.dll!InvokePerFrameMethod(void (void)* f=0x22198170,
> const char * timed=0x2217be3f)  Line 431 C++
>   server.dll!CServerGameDLL::GameFrame(bool simulating=true)
> Line 1001 + 0x14 bytes C++
>
>
> ---------
>
>   server.dll!CBaseEntity::TakeDamage(const CTakeDamageInfo &
> inputInfo={...})  Line 1204 + 0xd bytes C++
>   server.dll!CCollisionEvent::UpdateDamageEvents()  Line 1642 C++
>   server.dll!CCollisionEvent::PostSimulationFrame()  Line 1499 C++
>   server.dll!PhysFrame(float deltaTime=0.015000000)  Line 1206 C++
> > server.dll!CPhysicsHook::FrameUpdatePostEntityThink()  Line 271 C++
>   server.dll!InvokePerFrameMethod(void (void)* f=0x22198420,
> const char * timed=0x2217bddf)  Line 431 C++
>   server.dll!CServerGameDLL::GameFrame(bool simulating=true)
> Line 1001 + 0x14 bytes C++
> --
>
>
> _______________________________________________
> To unsubscribe, edit your list preferences, or view the list
> archives, please visit:
> http://list.valvesoftware.com/mailman/listinfo/hlcoders
>
>

_______________________________________________
To unsubscribe, edit your list preferences, or view the list archives, please 
visit:
http://list.valvesoftware.com/mailman/listinfo/hlcoders

Reply via email to