Using the jobExecutor autostart functionality in a test suite, I created a live lock. It happened in short tests.
Guillaume spotted it, then I reproduced it in a test (in JobExecutorTest) and fixed it.
The code to create the lock was: (it no longer happens cause it's fixed)
isActive = true;
Apart from initializing isActive in the field declaration, it should be volatile to ensure prompt communication of the deactivation request, as described Java Thread Primitive Deprecation.