Issues with applyTorque() (Simple example)

Hi guys,

I am trying to run a very simple example (from a physics point of view) however the behavior I am seeing in JME3 does not make sense unless I am missing something obvious…

Box b = new Box(1f, 0.1f, 0.1f); // create cube shape
Geometry geom = new Geometry(“Box”, b); // create cube geometry from the shape
Material mat = new Material(assetManager, “Common/MatDefs/Misc/Unshaded.j3md”); // create a simple material
mat.setColor(“Color”, ColorRGBA.Blue); // set color of material to blue
geom.setMaterial(mat); // set the cube’s material
rollNode.attachChild(geom);
geom.setLocalTranslation(1f, 0, 0);

  rbc = new RigidBodyControl(10);
  rollNode.addControl(rbc);
  bulletAppState.getPhysicsSpace().add(rbc);
  bulletAppState.getPhysicsSpace().setGravity(new Vector3f(0, 0, 0));

I then apply a known torque value about an axis (this happens in the prePhysicsTick()):

rbc.applyTorque(new Vector3f(0, 0.5f, 0));

You would expect the resulting behavior to be the object rotating and speeding up about that axis forever. What I see however is the object spinning as it should but as it speeds up it eventually goes off axis and keeps spinning around random axes. Is this because of some inertia related issue?

Thanks!