[Zope-dev] Packing (still) hosed in 2.6.2?
Anthony Baxter
anthony at interlink.com.au
Tue Aug 12 19:18:08 EDT 2003
I remember that 2.6 had issues with packing, but I was under the
impression that they'd been fixed...
However, attempting to pack a Data.fs in 2.6-current-cvs fails
for me:
File "/export/01/zope/dev_csr_code/lib/python/ZODB/DB.py", line 526, in pack
try: self._storage.pack(t,referencesf)
File "/export/01/zope/dev_csr_code/lib/python/ZODB/FileStorage.py", line 1503, in pack
opos = p.pack()
File "/export/01/zope/dev_csr_code/lib/python/ZODB/fspack.py", line 680, in pack
self.gc.findReachable()
File "/export/01/zope/dev_csr_code/lib/python/ZODB/fspack.py", line 464, in findReachable
self.buildPackIndex()
File "/export/01/zope/dev_csr_code/lib/python/ZODB/fspack.py", line 486, in buildPackIndex
self.checkData(th, tpos, dh, pos)
File "/export/01/zope/dev_csr_code/lib/python/ZODB/fspack.py", line 189, in checkData
": %d != %d", dh.tloc, tpos)
File "/export/01/zope/dev_csr_code/lib/python/ZODB/fspack.py", line 170, in fail
raise CorruptedError(s)
ZODB.fspack.CorruptedError: /app/zope/dev_csr_server/var/Data.fs.packtest:9200838:data record does not point to transaction header: 17391715 != 9200760
This is reproducible. The particular Zope that uses this file was
shut down cleanly before attempting to pack the DB. The code that
fails to pack is:
import ZODB
from ZODB import FileStorage
filename='/app/zope/dev_csr_server/var/Data.fs.packtest'
store = FileStorage.FileStorage(filename)
db = ZODB.DB(store)
db.pack() # boom.
Help? I'm using the ZODB that's in the current 2.6 branch of CVS - according
to ZODB/__init__.py it's version 3.1.2. Is a newer version of ZODB going to
help here?
Anthony
More information about the Zope-Dev
mailing list