I've opened an [issue](https://github.com/jsr107/jsr107tck/issues/50) in the TCK. The TCK expects that if access or modified expiration callbacks throw exceptions, the entries are left untouched (as opposed to what happens with creation time), so the code just matches what the TCK expects here. Let's see how the issue is resolved and change afterwards if necessary.