referencesf hits assertion for None
I'm afraid I don't know enough about ZODB's internals to know whether this is simply a symptom of a corrupted database file, or an edge case that pack can't handle. The database file seems to behave correctly within my application, but if I try to pack it then I hit this assertion: https://github.com/zopefoundation/ZODB/blame/master/src/ZODB/serialize.py#L668
Putting a break point there, this the current state:
p = 'cdb\nPulse\nq\x01.}q\x02(U\x05entryq\x03(c_codecs\nencode\nq\x04(X\t\x00\x00\x00\x00\x00\x00\x00\x00H<\xc3\xa7q\x05U\x06latin1q\x06tRq\x07cdb\nEntry\nq\x08tQU\x05validq\tI01\nU\x04timeq\ncdecimal\nDecimal\nq\x0b(U\n33425.5688q\x0ctRq\rU\x03dsqq\x0eI00\nu.'
refs = [(None, None)]
Skipping over the oid of None seems to allow the pack to complete and produce a database file where loads of significant parts of the database are completely fine. Whether it has left parts with errors I can't be sure.
Thanks for the report. Sorry for the slow reply.
I'm at PyCon this week and haven't had time to look at this.
I might be a bit longer before I look at this.
Hi Jim,
Did you have a chance to dig into this at all?