VPhysics-Jolt icon indicating copy to clipboard operation
VPhysics-Jolt copied to clipboard

[GMOD] Crash on server stop (VCollideUnload from CollisionBSPData_Destroy)

Open Draiget opened this issue 1 year ago • 1 comments

There are weird issue when server quitting (with or without players):

 	ntdll.dll!_RtlpBreakPointHeap@4()	Unknown
 	ntdll.dll!RtlpValidateHeapEntry()	Unknown
 	ntdll.dll!RtlValidateHeap()	Unknown
 	KernelBase.dll!_HeapValidate@12()	Unknown
 	vphysics.dll!_CrtIsValidHeapPointer(const void * block=0x1e213390) Line 1407	C++
 	vphysics.dll!free_dbg_nolock(void * const block=0x1e213390, const int block_use=49123) Line 904	C++
 	vphysics.dll!_free_dbg(void * block=0x1e213390, int block_use=-1) Line 1030	C++
 	vphysics.dll!operator delete(void * block=0x1e213390) Line 34	C++
 	vphysics.dll!operator delete[](void * block=0x1e213390) Line 31	C++
>	vphysics.dll!JoltPhysicsCollision::VCollideUnload(vcollide_t * pVCollide=0x0000bfe3) Line 704	C++
 	engine.dll!__Z24CollisionBSPData_DestroyP17CCollisionBSPData()	Unknown
 	engine.dll!__Z10CM_FreeMapv()	Unknown
 	engine.dll!__Z15HostState_Framef()	Unknown
 	engine.dll!__ZN7CEngine5FrameEv()	Unknown
 	engine.dll!__ZN19CDedicatedServerAPI8RunFrameEv()	Unknown
 	engine.dll!__ZN18CModAppSystemGroup4MainEv()	Unknown
 	engine.dll!__ZN15CAppSystemGroup3RunEv()	Unknown

https://github.com/Joshua-Ashton/VPhysics-Jolt/blob/db13ffba6ee0fa4be75958698565e0edd2139e29/vphysics_jolt/vjolt_collide.cpp#L699-L708

at delete pVCollide->solids[ i ];

pVCollide = 0x1ee09008 {
	solidCount = 17
	isPacked = 0
	descSize = 598
	solids = 0x1e798340 {0x1e6f3140 {...}}
	pKeyValues = 0x2c221bb0 "staticsolid {\n\"index\" \"0\"\n\"contents\" \"33570827\"\n}\nstaticsolid {\n\"index\" \"1\"\n}\nstaticsolid {\n\"index\" \"2\"\n}\nstaticsolid {\n\"index\" \"3\"\n}\nstaticsolid {\n\"index\" \"4\"\n}\nstaticsolid {\n\"index\" \"5\"\n}\nstaticso...
}

image

Draiget avatar Sep 01 '22 06:09 Draiget

Looks like typical heap corruption

Joshua-Ashton avatar Sep 02 '22 10:09 Joshua-Ashton

Do you mind testing if #135 fixes this issue, @Draiget?

Nopey avatar Sep 21 '22 09:09 Nopey

Do you mind testing if #135 fixes this issue, @Draiget?

Looks fine, don't see corruption anymore there.

Draiget avatar Sep 22 '22 05:09 Draiget