The validate cachedir has a try-except block around a file being removed out from under it. It catches this case and should just return a state of non retrieval from the cache, and the build should be able to continue to success.
However an incorrect use of the 'finally' causes an exception to be re-raised during the normal handling of the original exception in the try-except block. This finally should be an else block instead.