Bug in btSequentialImpulseConstraintSolver

logic7error
Posts: 4
Joined: Tue Oct 21, 2008 12:59 am

Bug in btSequentialImpulseConstraintSolver

Post by logic7error »

After I updated to 2.73sp1, I started a getting reproducible crash. The crash occurs when my ghostobject, a character controller, collides with a vehicle; the vehicle's world transform becomes corrupted with #QNAN's.

I traced it back to btSequentialImpulseConstraintSolver::solveGroupCacheFriendlySetup() :

Code: Select all

btScalar denom = relaxation/(denom0+denom1);
solverConstraint.m_jacDiagABInv = denom;
The problem is that if (denom0+denom1) is equal to zero then solverConstraint.m_jacDiagABInv = 1.#INF000. This begins to populate #QNAN's in different variables that rely on solverConstraint.m_jacDiagABInv. If I change the both denom0 and denom1 to 0.00000001f, the crash no longer happens.

Thanks,
L7E