From: Zac Medico Date: Mon, 26 May 2008 23:29:25 +0000 (-0000) Subject: Don't silently swallow instances of UnpicklingError since they are easily X-Git-Tag: v2.1.5.3~44 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=45ff8239f28ef4ba3dd47b016147eccceeaa26e0;p=portage.git Don't silently swallow instances of UnpicklingError since they are easily triggered by storing instances of custom classes in a pickle. (trunk r10432:10434) svn path=/main/branches/2.1.2/; revision=10435 --- diff --git a/bin/emerge b/bin/emerge index acb42e4f2..424fbdc91 100755 --- a/bin/emerge +++ b/bin/emerge @@ -1557,8 +1557,11 @@ class BlockerCache(DictMixin): self._cache_data = mypickle.load() f.close() del f - except (IOError, OSError, EOFError, cPickle.UnpicklingError): - pass + except (IOError, OSError, EOFError, cPickle.UnpicklingError), e: + if isinstance(e, cPickle.UnpicklingError): + writemsg("!!! Error loading '%s': %s\n" % \ + (self._cache_filename, str(e)), noiselevel=-1) + del e cache_valid = self._cache_data and \ isinstance(self._cache_data, dict) and \ self._cache_data.get("version") == self._cache_version and \ diff --git a/pym/portage.py b/pym/portage.py index 414fffd7c..b126fac3e 100644 --- a/pym/portage.py +++ b/pym/portage.py @@ -6923,8 +6923,11 @@ class vardbapi(dbapi): self._aux_cache = mypickle.load() f.close() del f - except (IOError, OSError, EOFError, cPickle.UnpicklingError): - pass + except (IOError, OSError, EOFError, cPickle.UnpicklingError), e: + if isinstance(e, cPickle.UnpicklingError): + writemsg("!!! Error loading '%s': %s\n" % \ + (self._aux_cache_filename, str(e)), noiselevel=-1) + del e if not self._aux_cache or \ not isinstance(self._aux_cache, dict) or \ self._aux_cache.get("version") != self._aux_cache_version or \ @@ -10489,7 +10492,11 @@ class MtimeDB(dict): d = mypickle.load() f.close() del f - except (IOError, OSError, EOFError, cPickle.UnpicklingError): + except (IOError, OSError, EOFError, cPickle.UnpicklingError), e: + if isinstance(e, cPickle.UnpicklingError): + writemsg("!!! Error loading '%s': %s\n" % \ + (filename, str(e)), noiselevel=-1) + del e d = {} if "old" in d: