Hi,
I'm also having that crash in btSequentialImpulseConstraintSolver::solveGroupCacheFriendly() now. I thought I had introduced some nasty bug in my own code myself, so I'm actually somewhat happy to see this thread
In my case, I have a segmentation fault after about 1-2 seconds of simulation, having imported the jenga.dae collada file into my game engine/world (plenty of rigid bodies and a pretty huge world, using double precision).
The crash is caused by an assert it seems, at least following the ddd debugger on Linux, on this line in ./src/BulletDynamics/Dynamics/btRigidBody.h:226
Code: Select all
inline void setLinearVelocity(const btVector3& lin_vel)
{
====>> assert (m_collisionFlags != btCollisionObject::CF_STATIC_OBJECT);
m_linearVelocity = lin_vel;
}
Here's the stack:
Code: Select all
#1 0x082659b3 in btSolverBody::writebackVelocity (this=0xad65c0f0) at src/BulletDynamics/ConstraintSolver/btSolverBody.h:53
#2 0x08263efb in btSequentialImpulseConstraintSolver::solveGroupCacheFriendly (this=0x89fa808, bodies=0xc49edd0, numBodies=1, manifoldPtr=0xc4b6360, numManifolds=2, constraints=0x0, numConstraints=0, infoGlobal=@0x89fa99c, debugDrawer=0x0, stackAlloc=0x89f03d0, dispatcher=0x89f9cf0) at src/BulletDynamics/ConstraintSolver/btSequentialImpulseConstraintSolver.cpp:807
#3 0x08261f08 in btSequentialImpulseConstraintSolver::solveGroup (this=0x89fa808, bodies=0xc49edd0, numBodies=1, manifoldPtr=0xc4b6360, numManifolds=2, constraints=0x0, numConstraints=0, infoGlobal=@0x89fa99c, debugDrawer=0x0, stackAlloc=0x89f03d0, dispatcher=0x89f9cf0) at src/BulletDynamics/ConstraintSolver/btSequentialImpulseConstraintSolver.cpp:829
#4 0x0826e848 in ProcessIsland (this=0xbfe4975c, bodies=0xc49edd0, numBodies=1, manifolds=0xc4b6360, numManifolds=2, islandId=67) at src/BulletDynamics/Dynamics/btDiscreteDynamicsWorld.cpp:513
#5 0x082838e9 in btSimulationIslandManager::buildAndProcessIslands (this=0x89faa00, dispatcher=0x89f9cf0, collisionObjects=@0x89fa904, callback=0xbfe4975c) at src/BulletCollision/CollisionDispatch/btSimulationIslandManager.cpp:345
#6 0x08271bb3 in btDiscreteDynamicsWorld::solveConstraints (this=0x89fa900, solverInfo=@0x89fa99c) at src/BulletDynamics/Dynamics/btDiscreteDynamicsWorld.cpp:542
#7 0x08271cda in btDiscreteDynamicsWorld::internalSingleStepSimulation (this=0x89fa900, timeStep=0.016666666666666666) at src/BulletDynamics/Dynamics/btDiscreteDynamicsWorld.cpp:276
#8 0x08272f0d in btDiscreteDynamicsWorld::stepSimulation (this=0x89fa900, timeStep=0.095688104629516602, maxSubSteps=10, fixedTimeStep=0.016666666666666666) at src/BulletDynamics/Dynamics/btDiscreteDynamicsWorld.cpp:237
I've tried using the new bt32BitAxisSweep3 as well as the btSimpleBroadphase.
Let me know if I can assist with anything.
Best regards,
Ola