Page 1 of 1

Assertion in btSimulationIslandManagerMt::getIsland

Posted: Mon Apr 12, 2021 11:27 am
by teolazza
Hi,
quite rarely (once per day) I get the error in figure. Up to now it happened only when working in release (in debug my software is too slow to be used).
It could be that it started to appear since I'm using kinematic objects

Code: Select all

>	btSimulationIslandManagerMt::addManifoldsToIslands(btDispatcher * 0x00000222ad7330e0) Line 441	C++
 	btSimulationIslandManagerMt::buildAndProcessIslands(btDispatcher * 0x00000222ad7330e0, btCollisionWorld * 0x00000222ad7432d0, btAlignedObjectArray<btTypedConstraint *> & {...}, const btSimulationIslandManagerMt::SolverParams & {...}) Line 683	C++
 	btDiscreteDynamicsWorldMt::solveConstraints(btContactSolverInfo & {...}) Line 189	C++
 	btDiscreteDynamicsWorld::internalSingleStepSimulation(float) Line 486	C++
 	btDiscreteDynamicsWorld::stepSimulation(float, int 2, float) Line 435	C++
 	btDiscreteDynamicsWorldMt::stepSimulation(float, int, float) Line 257	C++
island.png
Any ideas?

Re: Assertion in btSimulationIslandManagerMt::getIsland

Posted: Wed Apr 14, 2021 8:49 am
by teolazza
I think that I can have connections with both the problems of the post Bullet3MT crash here viewtopic.php?f=9&t=13038, but even more with this post: viewtopic.php?f=9&t=10232&p=40365&hilit ... and#p40365

As a matter of fact I have kinematic object, defined as bodies with infinite mass. But I'm filtering collisions so that none of them collides with any other object... still looking for a solution

Re: Assertion in btSimulationIslandManagerMt::getIsland

Posted: Wed Apr 14, 2021 11:29 am
by Killpippo
Not sure if it helps, but I had similar issue while adding rigidbodies or performing setOrigin on separated threads than the one where simulation runs.
Once ensured these operations are enqueued and processed on same simulation thread, I hadn't any further crash