[ZODB-Dev] [ZODB 4.0.0b3] DB.pack() broken?

mabe public at enkore.de
Wed Aug 14 13:48:47 CEST 2013


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hi everyone,

I noticed today that database packing doesn't seem to work (at least
on Python 3.3)

Minimal example:

from ZODB import FileStorage, DB

storage = FileStorage.FileStorage('/tmp/mystorage.fs')
db = DB(storage)
db.pack()
db.close()

Expected: No output / db.pack() should succeed, although there is
likely nothing to pack.

Actual output:
% python zodb_pack.py
packing
Traceback (most recent call last):
  File "/usr/lib/python3.3/site-packages/ZODB/DB.py", line 810, in pack
    self.storage.pack(t, self.references)
  File
"/usr/lib/python3.3/site-packages/ZODB/FileStorage/FileStorage.py",
line 1121, in pack
    pack_result = self.packer(self, referencesf, stop, gc)
  File
"/usr/lib/python3.3/site-packages/ZODB/FileStorage/FileStorage.py",
line 1074, in packer
    opos = p.pack()
  File "/usr/lib/python3.3/site-packages/ZODB/FileStorage/fspack.py",
line 408, in pack
    self.gc.findReachable()
  File "/usr/lib/python3.3/site-packages/ZODB/FileStorage/fspack.py",
line 191, in findReachable
    self.findReachableAtPacktime([z64])
  File "/usr/lib/python3.3/site-packages/ZODB/FileStorage/fspack.py",
line 276, in findReachableAtPacktime
    for oid in self.findrefs(pos):
  File "/usr/lib/python3.3/site-packages/ZODB/FileStorage/fspack.py",
line 329, in findrefs
    return self.referencesf(self._file.read(dh.plen))
  File "/usr/lib/python3.3/site-packages/ZODB/serialize.py", line 646,
in referencesf
    u.noload()
AttributeError: 'Unpickler' object has no attribute 'noload'
Traceback (most recent call last):
  File "zodb_pack.py", line 5, in <module>
    db.pack()
  File "/usr/lib/python3.3/site-packages/ZODB/DB.py", line 810, in pack
    self.storage.pack(t, self.references)
  File
"/usr/lib/python3.3/site-packages/ZODB/FileStorage/FileStorage.py",
line 1121, in pack
    pack_result = self.packer(self, referencesf, stop, gc)
  File
"/usr/lib/python3.3/site-packages/ZODB/FileStorage/FileStorage.py",
line 1074, in packer
    opos = p.pack()
  File "/usr/lib/python3.3/site-packages/ZODB/FileStorage/fspack.py",
line 408, in pack
    self.gc.findReachable()
  File "/usr/lib/python3.3/site-packages/ZODB/FileStorage/fspack.py",
line 191, in findReachable
    self.findReachableAtPacktime([z64])
  File "/usr/lib/python3.3/site-packages/ZODB/FileStorage/fspack.py",
line 276, in findReachableAtPacktime
    for oid in self.findrefs(pos):
  File "/usr/lib/python3.3/site-packages/ZODB/FileStorage/fspack.py",
line 329, in findrefs
    return self.referencesf(self._file.read(dh.plen))
  File "/usr/lib/python3.3/site-packages/ZODB/serialize.py", line 646,
in referencesf
    u.noload()
AttributeError: 'Unpickler' object has no attribute 'noload'

[mabe]
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.20 (GNU/Linux)

iQIcBAEBAgAGBQJSC26dAAoJEAOmTcUxK/sw0XYP/0syaUfrXBZ7BDF1avth9eiY
6l59KEuzgYLqwWGyG4aRH4sFONPX7YAIeUsDFHcb7PcRcGsNUEyX1Who1C2FaqOT
49472waPlGHDpFNF1aCDjn8TUFSo2koYszvmSF9RnG5JqEHHE8akOOKXCTMOAlGZ
nJDpyN9x+OG/CIKPYnCUX0n4O8mPMILgc9RXU9C1mJTQVco7aWzaORcoyOuYWp5F
UEw9GkMIVcFIeDQVH64LcdqRfO9+95uhx0ilxFU76w77wXTFLGhxHXttM/7sk5um
MV0YfehDGQtiQuMb9GBMiTA3wVeaGGxOUmNXdxddwAEGi9xFvjmjGS9gMV3EP5bY
62WO7Cspg7LDojss4akOlX192csq98exxrx0X62azTJybsWwP1M8daYOdUQYgkdW
EZDYc38F+E3hLY8KEqxVrDSo6YM6Fi6PiSidw5D1VS0MUYL9y15sOsN8BiNULNuo
W2CZNKg3E7vHwYODbvQFOeVE3govGDT/l3WRpBQztF/MPGv3nObPo2Tfj3HWTisT
BrxWkBHBhg+5LcICHvk/Dij4RThpQ5G6JpBOXY3pUD2PqWkjk51E0lX9aKmjK0l/
G12iOuIH+9/6UgKrFDaBVHnl1/Nv/AFI99k5bHFnmDVAcGXHcEUL/sSn3IzAaAC9
CszAKYvo+ZzcRMU3cQMm
=Xomt
-----END PGP SIGNATURE-----


More information about the ZODB-Dev mailing list