New submission from Anil Kulkarni:

Pickles created with python 3.4.X will not load with python 3.5.X if they 
include a collections.OrderedDict

To reproduce this issue, simply create a pickle of an OrderedDict on python 
3.4.3 with protocol=2 and try to open it on 3.5. I have included a simple 
script to demonstrate this issue.


I believe this is related to this bug: https://bugs.python.org/issue18473

As to the real-world implications: The python package Celery uses protocol=2 by 
default when serializing with pickle, and thus a celery web running 3.5 cannot 
receive the results of a worker running 3.4
For celery specifically, there is a workaround by setting the PICKLE_PROTOCOL 
environment variable, but this is a core python issue.

P.S. This is the first bug I've filed with python so please let me know if 
there's something else I should be including.

Thanks!

----------
files: b.py
messages: 257524
nosy: anilredshift
priority: normal
severity: normal
status: open
title: Pickle protocol 2.0 not loading in python 3.5
type: behavior
versions: Python 3.5
Added file: http://bugs.python.org/file41503/b.py

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue26013>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to