allow session recovery functions to return errors