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

