[ZODB-Dev] How to fix "CorruptedDataError: Error reading unknown oid. Found '' at 81036527"?
Jim Fulton
jim at zope.com
Thu Jul 14 09:18:46 EDT 2011
On Thu, Jul 14, 2011 at 7:54 AM, Andreas Jung <lists at zopyx.com> wrote:
> I have a customer site (Plone 3.0.6) causing an error during packing:
>
> Module ZPublisher.Publish, line 119, in publish
> Module ZPublisher.mapply, line 88, in mapply
> Module ZPublisher.Publish, line 42, in call_object
> Module <string>, line 3, in _facade
> Module AccessControl.requestmethod, line 64, in _curried
> Module App.ApplicationManager, line 431, in manage_pack
> Module ZODB.DB, line 624, in pack
> Module ZEO.ClientStorage, line 846, in pack
> Module ZEO.ServerStub, line 165, in pack
> Module ZEO.zrpc.connection, line 650, in call
> CorruptedDataError: Error reading unknown oid. Found '' at 81036527
> ^C2011-07-14 13:36:22 INFO SignalHandler Caught signal SIGINT
> 2011-07-14 13:36:22 INFO Z2 Shutting down
That error message seems rather weird. WTF SIGINT?
>
> Using multi-zodb-gc reveals an error:
>
> plone at web1:~/poskeyerror-check$ bin/multi-zodb-gc storage.cfg
> <zc.zodbdgc.Bad instance at 0x20578c0>
>
> plone at web1:~/poskeyerror-check$ bin/multi-zodb-check-refs storage.cfg
>
>
> Using fscover.py does not help here..
>
> plone at web1:~/poskeyerror-check$ bin/python
> ./lib/python2.6/site-packages/ZODB3-3.10.3-py2.6-linux-x86_64.egg/ZODB/fsrecover.py
> Data.fs Data2.fs
> Recovering Data.fs into Data2.fs
> No handlers could be found for logger "ZODB.FileStorage"
> . 1 . 2 . 3 . 4 . 5 . 6 . 7 . 8 . 9 . 0
> 0 bytes removed during recovery
>
> Any more options?
Use multi-zodb-check-refs with the -r option to get a database of
reverse references.
Use that do figure out what's refering to the missing object and fix
that object(s) so that
it no longer does.
Jim
--
Jim Fulton
http://www.linkedin.com/in/jimfulton
More information about the ZODB-Dev
mailing list