If your game is routinely attaching and detaching BulletAppStates, once it attaches the 64th BulletAppState, the JVM crashes.
Note that the issue isn't that there are more than 64 BulletAppStates currently attached. The JVM crashes if more than 64 BulletAppStates have previously been attached, and even if the current number of attached BulletAppStates is far less than 64.
This issue can be reproduced with the following code, in which case only one BulletAppState is ever attached, but it is attached and detached more than 64 times:
private int count;
private int frame;
private BulletAppState bulletAppState;
@Override
public void simpleInitApp() {}
@Override
public void simpleUpdate(float tpf) {
if (frame % 4 == 0) {
System.out.println(++count);
bulletAppState = new BulletAppState();
bulletAppState.setThreadingType(ThreadingType.PARALLEL);
stateManager.attach(bulletAppState);
} else if (frame % 4 == 2) {
stateManager.detach(bulletAppState);
}
frame++;
}
More information on this issue can be found in the original forum topic.
If your game is routinely attaching and detaching
BulletAppStates, once it attaches the 64thBulletAppState, the JVM crashes.Note that the issue isn't that there are more than 64
BulletAppStates currently attached. The JVM crashes if more than 64BulletAppStates have previously been attached, and even if the current number of attachedBulletAppStates is far less than 64.This issue can be reproduced with the following code, in which case only one
BulletAppStateis ever attached, but it is attached and detached more than 64 times:More information on this issue can be found in the original forum topic.