One of my application suddenly fails on startup, with the following error message :
java.lang.VerifyError: Rejecting class com.sample.BufferManager
The issue is due to having a synchronized block inside a try-catch block, for example :
try {
synchronized (mLock) {
updateState();
}
} catch (IllegalStateException e) {
}
Apparently this is not a good practice, but as soon as I change it like this it works :
synchronized(mLock) {
try {
updateState();
} catch (IllegalStateException e) {
}
}