[Zope] Data.fs corrupted.

Jim Fulton jim@digicool.com
Mon, 07 Feb 2000 07:36:09 -0500


"Jay, Dylan" wrote:
> 
> When I try to start up my zserver I get the following
> 
> Traceback (innermost last):
>   File "D:\Program Files\Zope2\z2.py", line 449, in ?
>     exec "import "+MODULE in {}
>   File "<string>", line 1, in ?
>   File "D:\PROGRA~1\Zope2\lib\python\Zope\__init__.py", line 109, in ?
>     DB=ZODB.FileStorage.FileStorage(Globals.BobobaseName)
>   File "D:\PROGRA~1\Zope2\lib\python\ZODB\FileStorage.py", line 301, in
> __init__
> 
>     self._pos, self._oid, tid = read_index(
>   File "D:\PROGRA~1\Zope2\lib\python\ZODB\FileStorage.py", line 1298, in
> read_in
> dex
>     panic('%s has invalid transaction header at %s', name, pos)
>   File "D:\PROGRA~1\Zope2\lib\python\ZODB\FileStorage.py", line 218, in
> panic
>     raise CorruptedTransactionError, message
> ZODB.FileStorage.CorruptedTransactionError: D:\Program
> Files\Zope2/var/Data.fs h
> as invalid transaction header at 
> 
> I believe the corruption occured because I was uploading data into Zope when
> my diskspace ran out. I don't have a backup. How can I back out the
> offending transaction or generally fix my Data.fs?

This should not have caused this sort of problem.

Please, if you can, zip up the broken database and send it to me
via private email (or make it available for ftp).  I'd like to take
a look at it.

Assuming that the file is a little over 40013720 bytes in length,
you can truncate the file at position 40013720. This will eliminate
the broken portion without significant loss of data.

What version of Zope are you running?

Jim

--
Jim Fulton           mailto:jim@digicool.com
Technical Director   (888) 344-4332              Python Powered!
Digital Creations    http://www.digicool.com     http://www.python.org

Under US Code Title 47, Sec.227(b)(1)(C), Sec.227(a)(2)(B) This email
address may not be added to any commercial mail list with out my
permission.  Violation of my privacy with advertising or SPAM will
result in a suit for a MINIMUM of $500 damages/incident, $1500 for
repeats.