I apologize for resurrecting this fairly old thread, but I'm using the bullet 3 svn (State: 2015-07-30) and I'm having the same issue.
I have a capsule character controller and a bunch of static triangle meshes, and at completely random times the fuzzyZero-assertion axelf has mentioned occurs.
This is the call-stack:
Code: Select all
> shared.dll!btVector3::normalize() Line 300 C++
shared.dll!btQuantizedBvh::walkStacklessTreeAgainstRay(btNodeOverlapCallback * nodeCallback, const btVector3 & raySource, const btVector3 & rayTarget, const btVector3 & aabbMin, const btVector3 & aabbMax, int startNodeIndex, int endNodeIndex) Line 493 C++
shared.dll!btQuantizedBvh::reportBoxCastOverlappingNodex(btNodeOverlapCallback * nodeCallback, const btVector3 & raySource, const btVector3 & rayTarget, const btVector3 & aabbMin, const btVector3 & aabbMax) Line 805 C++
shared.dll!btBvhTriangleMeshShape::performConvexcast(btTriangleCallback * callback, const btVector3 & raySource, const btVector3 & rayTarget, const btVector3 & aabbMin, const btVector3 & aabbMax) Line 228 C++
shared.dll!btCollisionWorld::objectQuerySingleInternal(const btConvexShape * castShape, const btTransform & convexFromTrans, const btTransform & convexToTrans, const btCollisionObjectWrapper * colObjWrap, btCollisionWorld::ConvexResultCallback & resultCallback, double allowedPenetration) Line 691 C++
shared.dll!btCollisionWorld::objectQuerySingle(const btConvexShape * castShape, const btTransform & convexFromTrans, const btTransform & convexToTrans, btCollisionObject * collisionObject, const btCollisionShape * collisionShape, const btTransform & colObjWorldTransform, btCollisionWorld::ConvexResultCallback & resultCallback, double allowedPenetration) Line 580 C++
shared.dll!btGhostObject::convexSweepTest(const btConvexShape * castShape, const btTransform & convexFromWorld, const btTransform & convexToWorld, btCollisionWorld::ConvexResultCallback & resultCallback, double allowedCcdPenetration) Line 142 C++
shared.dll!btKinematicCharacterController::stepForwardAndStrafe(btCollisionWorld * collisionWorld, const btVector3 & walkMove) Line 371 C++
shared.dll!btKinematicCharacterController::playerStep(btCollisionWorld * collisionWorld, double dt) Line 668 C++
shared.dll!btKinematicCharacterController::updateAction(btCollisionWorld * collisionWorld, double deltaTime) Line 110 C++
shared.dll!btDiscreteDynamicsWorld::updateActions(double timeStep) Line 617 C++
shared.dll!btDiscreteDynamicsWorld::internalSingleStepSimulation(double timeStep) Line 517 C++
shared.dll!btSoftRigidDynamicsWorld::internalSingleStepSimulation(double timeStep) Line 97 C++
shared.dll!btDiscreteDynamicsWorld::stepSimulation(double timeStep, int maxSubSteps, double fixedTimeStep) Line 457 C++
shared.dll!PhysEnv::StepSimulation(float timeStep, int maxSubSteps, float fixedTimeStep) Line 214 C++
[...] (Application Code)
[External Code]
I've only been able to reproduce it when there's meshes with btBvhTriangleMeshShape-shapes in the scene.