[ZODB-Dev] fsrefs.py shows invalid object references when everything is ok?

Chris Bainbridge chris.bainbridge at gmail.com
Thu Nov 16 10:58:02 EST 2006


Whilst playing around with fsrefs.py I noticed that it always seems to
claim the filestorage has errors, for example after a single commit
through a zeo server it says:

oid 0x0L persistent.mapping.PersistentMapping
last updated: 2006-11-16 15:30:52.943036, tid=0x36994C2E1E3E9DDL
refers to invalid object:
        oid ('\x00\x00\x00\x00\x00\x00\x00\x01', None) missing: '<unknown>'

oid 0x1L evolve.Generation
last updated: 2006-11-16 15:30:53.414030, tid=0x36994C2E3E65D55L
refers to invalid objects:
        oid ('\x00\x00\x00\x00\x00\x00\x00\x02', None) missing: '<unknown>'
        oid ('\x00\x00\x00\x00\x00\x00\x00\x03', None) missing: '<unknown>'
        oid ('\x00\x00\x00\x00\x00\x00\x00\x04', None) missing: '<unknown>'
        oid ('\x00\x00\x00\x00\x00\x00\x00\x05', None) missing: '<unknown>'
        oid ('\x00\x00\x00\x00\x00\x00\x00\x06', None) missing: '<unknown>'
        oid ('\x00\x00\x00\x00\x00\x00\x00\x07', None) missing: '<unknown>'
        oid ('\x00\x00\x00\x00\x00\x00\x00\x08', None) missing: '<unknown>'
        oid ('\x00\x00\x00\x00\x00\x00\x00\t', None) missing: '<unknown>'
        oid ('\x00\x00\x00\x00\x00\x00\x00\n', None) missing: '<unknown>'

oid 0x5L persistent.mapping.PersistentMapping
last updated: 2006-11-16 15:30:52.943036, tid=0x36994C2E1E3E9DDL
refers to invalid object:
        oid ('\x00\x00\x00\x00\x00\x00\x05\r', None) missing: '<unknown>'

But if I do a copy.deepcopy() of the root entry then everything is
fine. How can this be - how can there simulataneously be invalid
references according to fsrefs.py, and yet every single object is
accessible from the root without any errors? Is fsrefs.py broken? The
objects are definately there - I can access them both from the root
object hierarchy, and through  root._p_jar[p64(0x5)] style references.


More information about the ZODB-Dev mailing list