-
Notifications
You must be signed in to change notification settings - Fork 90
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
packing a db fails on python3.7 with '_pickle.UnpicklingError: odd number of items for SETITEMS' #271
Comments
ZODB uses a fork of pickle called zodbpickle. The code in zodbpickle is the same for all Python 3.x versions, so it's not obvious to me how you could get different behaviour depending on the Python version. It might help to see the pickle in question; you could get that by adding a |
I'm not quite comfortable to link this pickle in the public bug, but I think I can send it to you privately. Can you give me an email where I can send this to? |
I saw zopefoundation/zodbpickle#47 today talking about random pickle corruption and remembered this bug. Could it be the cause of your problem? (How could we ascertain that?) |
I can try the conversion again with that patch - as the bug is completely reproducible for me, this might help. I'll have a look soon. |
Indeed that seems to be the same bug, or at least something with the same underlaying reason. Lets seem what the discussion there turns up. Thanks @mgedmin for the tip! |
Closing this now, as I cannot reproduce this any longer with the patch from zopefoundation/zodbpickle#47 applied. |
I'm not sure what info I can best provide here, as I can't share the database this happens on.
What I can share though is that I have a DB that we update from python2 to python3 with https://github.com/zopefoundation/zodbupdate (which seems to work well, even if it is black magic) but when I also pack it while updating it does throw this error on python 3.7.3 (Mac) while it does not on python3.6.8 (Mac and CentOS).
I'm a bit of a noob concerning ZODB so I'd like some pointers how to best provide info on this bug.
The error and traceback look a bit like this:
Looking at where I think this error originates from on 3.6 and 3.7 there doesn't seem to be an obvious difference. But maybe I'm missing something?
Also of course this could be a problem of https://github.com/zopefoundation/zodbupdate, but I'm filing it here first as it seems to happen during pack deep in ZODB code and also didn't happen on the previous python version.
The text was updated successfully, but these errors were encountered: