[Zope] recover from POSKeyError after corruption by pack()ing bug

Dominik Schäfer schaedpq at despammed.com
Mon Jan 26 15:44:24 EST 2004


Hi!

I have a serious problem: I think about a week ago my database was damaged
by this nasty pack()ing bug. Unfortunately this error was not noticeable
until my zope restart yesterday. :-(
The consequence is a POSKeyError (POSKeyError: 0000000000000009) which
prevents zope from starting.
I tried to repair the database with fsrecover.py (from zope-2.6.3 and
zope-2.6.4rc1), and it deleted some invalid transactions but it did not
solve the problem.
Then I tried the instructions on
http://www.zopelabs.com/cookbook/1054240694, but had no success at all
because I got again a POSKeyError. *g*
I used fsrefs.py on the Data.fs and the first 2 error it found was:
--- cut here ---
oid 0x4 AccessControl.User.UserFolder
last updated: 2004-01-16 14:08:02.781121, tid=0x3526BB00BDDB9CCL
refers to invalid object:
        oid 0x9 missing: 'Persistence.PersistentMapping'

oid 0xf17 AccessControl.User.UserFolder
last updated: 2004-01-16 14:08:14.036884, tid=0x3526BB03BE40544L
refers to invalid object:
        oid 0x1162 missing: 'Persistence.PersistentMapping'
--- cut here ---
After these 2 errors follow about 24Kb of errors or references to missing
objects or objects that could not be loaded. It seems to me, that some
very basic objects were destroyed a week ago.
Of course all backups during the last week contain the damaged
database. :-( It is really a pity, that the consequences of this database
damage shows not up until the next zope restart...
Is there any possibility to recover the database or to "extract" the
transactions of the last 8 days and to prevent the complete loss of data
in that time? Has anybody an idea, which I could try?

Bye,
Dominik

P.S. I hope I got the suitable mailing list, I was uncertain if
zope.general or zope.zobd fits better...





More information about the Zope mailing list