[ZODB-Dev] weird error while packing

Tres Seaver tseaver at palladion.com
Sun Aug 29 12:33:25 EDT 2010


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

Adam GROSZER wrote:

> This exception came up while packing a filestorage:
> 
> 2010-08-29T05:05:23 ERROR ZODB.DB packing
> Traceback (most recent call last):
>   File "D:\home\.buildout\eggs\ZODB3-3.9.5-py2.5-win32.egg\ZODB\DB.py", line 826, in pack
>     self.storage.pack(t, self.references)
>   File "D:\home\.buildout\eggs\ZODB3-3.9.5-py2.5-win32.egg\ZODB\FileStorage\FileStorage.py", line
> 1126, in pack
>     pack_result = self.packer(self, referencesf, stop, gc)
>   File "D:\home\.buildout\eggs\ZODB3-3.9.5-py2.5-win32.egg\ZODB\FileStorage\FileStorage.py", line
> 1079, in packer
>     opos = p.pack()
>   File "D:\home\.buildout\eggs\ZODB3-3.9.5-py2.5-win32.egg\ZODB\FileStorage\fspack.py", line 398,
> in pack
>     self.gc.findReachable()
>   File "D:\home\.buildout\eggs\ZODB3-3.9.5-py2.5-win32.egg\ZODB\FileStorage\fspack.py", line 191,
> in findReachable
>     self.findReachableAtPacktime([z64])
>   File "D:\home\.buildout\eggs\ZODB3-3.9.5-py2.5-win32.egg\ZODB\FileStorage\fspack.py", line 276,
> in findReachableAtPacktime
>     for oid in self.findrefs(pos):
> SystemExit
> 
> Any pointers appreciated.

Hmm, that looks like the SystemExit got raised as a result of this code::

    tlen = self._read_num(pos)
    if tlen != th.tlen:
        self.fail(pos, "redundant transaction length does not "
                  "match initial transaction length: %d != %d",
                  tlen, th.tlen)

which would suggest some corruption in the filestorage.  I would try
running the read-only diagnostics on the file to see what they say
(e.g., fstest, fsrefs, etc.).

How that 'self.fail' got converted to a SystemExit is a mystery.


Tres.
- --
===================================================================
Tres Seaver          +1 540-429-0999          tseaver at palladion.com
Palladion Software   "Excellence by Design"    http://palladion.com
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iEYEARECAAYFAkx6i9AACgkQ+gerLs4ltQ5VRwCgphZhIjwoCB8zfsDr8XlYrxzS
mycAoKlD02s6nloHElBXozy4tEyRNGtZ
=FSNN
-----END PGP SIGNATURE-----



More information about the ZODB-Dev mailing list