Hey Emiel
I've had the exact same problem as you did once. I've traced the problem
down to the creation and deletion of entities (and thus the modification of
their vphysics?) while during hit-detection code. To solve this I've setup
flags for "delete me" or "create me" for entities that had this problem and
had them tested on think, pre-think, or post-think.

I'm not 100% sure this is the right fix (probably not), but it certainly
stopped the crashes from happening.

~M




Message: 3
Date: Sun, 21 Sep 2008 17:58:27 +0100
From: "Emiel Regis" <[EMAIL PROTECTED]>
Subject: [hlcoders] Crash in VPhysics on suicide
To: "Discussion of Half-Life Programming"
      <hlcoders@list.valvesoftware.com>
Message-ID: <[EMAIL PROTECTED]>
Content-Type: text/plain; format=flowed; delsp=yes; charset=iso-8859-2

Hey,

I am getting a crash randomly when a player sucides, I tracked this down
to creation of ragdoll - however sometimes it crashes and sometimes it
doesnt. The call stack is as follows;

      vphysics.dll!0e654a3e()
      [Frames below may be incorrect and/or missing, no symbols loaded for
vphysics.dll]
      vphysics.dll!0e6550ae()
      vphysics.dll!0e638b5f()
      vphysics.dll!0e5e7d7e()
>       client.dll!RagdollAddSolid(IPhysicsEnvironment *
pPhysEnv=0x05566400,
> ragdoll_t & ragdoll={...}, const ragdollparams_t & params={...}, solid_t
> & solid={...})  Line 197      C++
      client.dll!RagdollCreateObjects(IPhysicsEnvironment *
pPhysEnv=0x05566400, ragdoll_t & ragdoll={...}, const ragdollparams_t &
params={...})  Line 271 + 0x15 bytes    C++
      client.dll!RagdollCreate(ragdoll_t & ragdoll={...}, const
ragdollparams_t & params={...}, IPhysicsEnvironment *
pPhysEnv=0x05566400)  Line 393  C++
      client.dll!CRagdoll::Init(C_BaseEntity * ent=0x3e824ce8, CStudioHdr *
pstudiohdr=0x0595b2e0, const Vector & forceVector={...}, int forceBone=0,
const matrix3x4_t * pDeltaBones0=0x0012cdcc, const matrix3x4_t *
pDeltaBones1=0x00129dcc, const matrix3x4_t *
pCurrentBonePosition=0x0012b5cc, float dt=0.050000001)  Line 110 + 0x4c
bytes   C++
      client.dll!CreateRagdoll(C_BaseEntity * ent=0x3e824ce8, CStudioHdr *
pstudiohdr=0x0595b2e0, const Vector & forceVector={...}, int forceBone=0,
const matrix3x4_t * pDeltaBones0=0x0012cdcc, const matrix3x4_t *
pDeltaBones1=0x00129dcc, const matrix3x4_t *
pCurrentBonePosition=0x0012b5cc, float dt=0.050000001)  Line 328        C++
      client.dll!C_BaseAnimating::InitAsClientRagdoll(const matrix3x4_t *
pDeltaBones0=0x0012cdcc, const matrix3x4_t * pDeltaBones1=0x00129dcc,
const matrix3x4_t * pCurrentBonePosition=0x0012b5cc, float
boneDt=0.050000001)  Line 4283 + 0x34 bytes     C++
      client.dll!C_HL2MPRagdoll::CreateHL2MPRagdoll()  Line 1027 + 0x26
bytes   C++
      client.dll!C_HL2MPRagdoll::OnDataChanged(DataUpdateType_t
type=DATA_UPDATE_CREATED)  Line 1037 + 0x8 bytes        C++
      client.dll!ProcessOnDataChangedEvents()  Line 1591 + 0xb bytes  C++
      client.dll!OnRenderStart()  Line 1724   C++
      client.dll!CHLClient::FrameStageNotify(ClientFrameStage_t
curStage=FRAME_RENDER_START)  Line 1863 C++


Anyone have idea on what could be causing this?

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

Reply via email to