diff options
author | Dominik George <natureshadow@debian.org> | 2023-03-28 10:15:54 +0200 |
---|---|---|
committer | Dominik George <natureshadow@debian.org> | 2023-03-28 10:15:54 +0200 |
commit | e5eef89caf7e253fef336c6dd93e46c412184762 (patch) | |
tree | 567a6edc2effc73a343add7a24a8682afedf1ebd | |
parent | 93ed0e29e7deed73a46fdbb96c546a053740f6e5 (diff) |
Add a readable hint on what happens on unpickling errors
-rw-r--r-- | lib/python/sectracker/xpickle.py | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/lib/python/sectracker/xpickle.py b/lib/python/sectracker/xpickle.py index d3324825ce..33eba396e9 100644 --- a/lib/python/sectracker/xpickle.py +++ b/lib/python/sectracker/xpickle.py @@ -65,6 +65,11 @@ def _wraploader(typ, parser): return (_pickle.load(f), True) except (EOFError, IOError, _pickle.PickleError): return (None, False) + except (AttributeError, KeyError, TypeError) as e: + raise RuntimeError( + "The pickling format or target classes might have changed. Clean up using e.g." + "`find . -name '*xpck' -delete` and try again." + ) from e def check(data, st): try: |