Following code leads to infinite wait on file lock here. Maybe there should be some global Exception handler with unlock?
$fn = function () use ($cache) {
$cache->load('key', function () {
throw new Exception;
});
};
try {
$fn();
} catch (Exception $e) {
$fn();
}