Between steps of the physics engine, the tree is reordered somehow. I can see that the pointers change between steps, but I can't see where. I've disabled the call to m_fdbvt.optimizeIncremental(1) in void btSoftBody::predictMotion(btScalar dt) so that's not it.
Any help most appreciated. We have a deadline in 4 hours we're trying to run experiments for and this is ruining everything