Skip to content

Crash in AABBTree::refitNode #680

@Jordi-Gil

Description

@Jordi-Gil

Hello, we are getting a crash in AABBTree::refitNode. The callstack given is the following one:

PhysX_64.dll!physx::shdfnd::aos::V4LoadU(const float * const f) Line 446	C++
PhysX_64.dll!refitNode(physx::Sq::AABBTreeRuntimeNode * current, const physx::PxBounds3 * boxes, const unsigned int * indices, physx::Sq::AABBTreeRuntimeNode * const nodeBase) Line 399	C++
PhysX_64.dll!physx::Sq::AABBTree::refitMarkedNodes(const physx::PxBounds3 * boxes) Line 542	C++
PhysX_64.dll!physx::Sq::ExtendedBucketPruner::refitMarkedNodes(const physx::PxBounds3 * boxes) Line 280	C++
PhysX_64.dll!physx::Sq::AABBPruner::refitUpdatedAndRemoved() Line 822	C++
PhysX_64.dll!physx::Sq::AABBPruner::commit() Line 425	C++
PhysX_64.dll!physx::Sq::SceneQueryManager::afterSync(physx::PxSceneQueryUpdateMode::Enum updateMode) Line 415	C++
PhysX_64.dll!physx::NpScene::fetchResultsPostContactCallbacks() Line 2119	C++
PhysX_64.dll!physx::NpScene::fetchResults(bool block, unsigned int * errorState) Line 2195	C++

I've removed the force inline and deoptimized the code to be able to see the exact line.

In refitNode

nodeBase looks like

Image

while data looks like

Image

In line 399, we get the position based on the nodeBase and the data, but this results in invalid memory

Image

Image

This started happening after using the pruning structure to add all the objects to the world in a single operation

if (!pruningStructureActors.IsEmpty())
{
	{
		LOCK_SCENE_WRITE
		auto pruningStructure = GetPhysXSDK()->createPruningStructure(pruningStructureActors.GetPointer(), pruningStructureActors.Size());
		m_pPhysXWorld->addActors(*pruningStructure);
		pruningStructure->release();
	}
}

As you suggested in another thread #546 , I ran the checked version and enabled the validity function, which is not throwing anything.

Any idea?

PhysX verion: 4.1.2.29921223

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions