[bitbake-devel] [PATCH] cache: Add better cache loading sanity checks
Richard Purdie
richard.purdie at linuxfoundation.org
Fri Jul 22 10:28:23 UTC 2016
We've seen cache corruption where the pairs come out in a different
order to the way we saved them for unknown reasons. Add better sanity
checking to give a more user friendly error rather than a crash/traceback.
Also allows the system to reparse and recover.
Signed-off-by: Richard Purdie <richard.purdie at linuxfoundation.org>
diff --git a/bitbake/lib/bb/cache.py b/bitbake/lib/bb/cache.py
index cce12d1..439565f 100644
--- a/bitbake/lib/bb/cache.py
+++ b/bitbake/lib/bb/cache.py
@@ -328,6 +328,13 @@ class Cache(object):
value = pickled.load()
except Exception:
break
+ if not isinstance(key, str):
+ bb.warn("%s from extras cache is not a string?" % key)
+ break
+ if not isinstance(value, RecipeInfoCommon):
+ bb.warn("%s from extras cache is not a RecipeInfoCommon class?" % value)
+ break
+
if key in self.depends_cache:
self.depends_cache[key].append(value)
else:
More information about the bitbake-devel
mailing list