[Zope] POSKeyError

Dieter Maurer dieter at handshake.de
Tue Dec 2 13:10:09 EST 2008


Rupesh P Raj wrote at 2008-12-2 13:46 +0530:
>I am getting the following POSKeyError. Can anyone please tell me, what is
>the reason for this error, and how can I rectify it:
>
>2008-12-02T03:16:11 ERROR ZODB.Connection Couldn't load state for 0x18fb01
>Traceback (most recent call last):
>  File "/opt/Zope-2.8.8/lib/python/ZODB/Connection.py", line 704, in
>setstate
>    self._setstate(obj)
>  File "/opt/Zope-2.8.8/lib/python/ZODB/Connection.py", line 740, in
>_setstate
>    p, serial = self._storage.load(obj._p_oid, self._version)
>  File "/opt/Zope-2.8.8/lib/python/ZEO/ClientStorage.py", line 746, in load
>    return self.loadEx(oid, version)[:2]
>  File "/opt/Zope-2.8.8/lib/python/ZEO/ClientStorage.py", line 769, in
>loadEx
>    data, tid, ver = self._server.loadEx(oid, version)
>  File "/opt/Zope-2.8.8/lib/python/ZEO/ServerStub.py", line 192, in loadEx
>    return self.rpc.call("loadEx", oid, version)
>  File "/opt/Zope-2.8.8/lib/python/ZEO/zrpc/connection.py", line 536, in
>call
>    raise inst # error raised by server
>POSKeyError: 0x18fb01

Your ZODB contains an object referencing another object with object id
"0x18fb01" but this object is missing (not in the ZODB).
I.e., you have a dangling (persistent) reference.

You can use the "fsrefs" utility to check for such dangling references.
It will tell you about the referencing object and its broken references.
You can fetch the referencing object and try to fix it (there is a
HowTo somewhere how you can approach this).



-- 
Dieter


More information about the Zope mailing list