This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author anilredshift
Recipients anilredshift
Date 2016-01-05.07:39:44
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1451979584.96.0.927777070704.issue26013@psf.upfronthosting.co.za>
In-reply-to
Content
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!
History
Date User Action Args
2016-01-05 07:39:45anilredshiftsetrecipients: + anilredshift
2016-01-05 07:39:44anilredshiftsetmessageid: <1451979584.96.0.927777070704.issue26013@psf.upfronthosting.co.za>
2016-01-05 07:39:44anilredshiftlinkissue26013 messages
2016-01-05 07:39:44anilredshiftcreate