diff --git a/openerp/tools/misc.py b/openerp/tools/misc.py index 15fbb19faa7..57de0226053 100644 --- a/openerp/tools/misc.py +++ b/openerp/tools/misc.py @@ -1305,11 +1305,15 @@ else: class Pickle(object): @classmethod - def load(cls, stream): + def load(cls, stream, errors=False): unpickler = cPickle.Unpickler(stream) # pickle builtins: str/unicode, int/long, float, bool, tuple, list, dict, None unpickler.find_global = None - return unpickler.load() + try: + return unpickler.load() + except Exception: + _logger.warning('Failed unpickling data, returning default: %r', errors, exc_info=True) + return errors @classmethod def loads(cls, text):