[ZODB-Dev] POSKeyError - help finding deleting bad object/transaction

BZ bz@bwanazulia.com
Mon, 17 Mar 2003 12:19:17 -0600 (CST)


(Was asked on the Zope@zope.org list and they suggested I ask here)

I have been getting a POSKeyError when trying to list my Members in CMF
directory through the ZMI. I backed up everything packed the ZODB and
turned on debugging. Looks like there is a bad object (see full error below)

Zope Version  (Zope 2.5.1 (binary release, python 2.1, linux2-x86), python
2.1.3, linux2)
Python Version  2.1.3 (#1, Apr 15 2002, 11:13:45) [GCC 2.7.2.3]

When I run fstest.py:
119583146L object serialno 0x034aab9e4b7e624c does not matchtransaction
id 0x034ac5e367948900

When I run it in debug mode I see it is this object:
\x00\x00\x00\x00\x00\x01\xef\xce

I grep'd on both of those things in my Data.fs but cannot find it.  So,
how do I (or should I) delete that object and correct this error?

Error Type: POSKeyError
Error Value: 000000000001efcd

Traceback (innermost last):
   File /usr/local/zope/lib/python/ZPublisher/Publish.py, line 150, in
publish_module
   File /usr/local/zope/lib/python/ZPublisher/Publish.py, line 114, in
publish
   File /usr/local/zope/lib/python/Zope/__init__.py, line 159, in
zpublisher_exception_hook
     (Object: Members)
   File /usr/local/zope/lib/python/ZPublisher/Publish.py, line 98, in
publish
   File /usr/local/zope/lib/python/ZPublisher/mapply.py, line 88, in
mapply
     (Object: index_html)
   File /usr/local/zope/lib/python/ZPublisher/Publish.py, line 39, in
call_object
     (Object: index_html)
   File /usr/local/zope/lib/python/OFS/DTMLMethod.py, line 127, in
__call__
     (Object: index_html)
   File /usr/local/zope/lib/python/DocumentTemplate/DT_String.py, line
473, in __call__
     (Object: index_html)
   File /usr/local/zope/lib/python/DocumentTemplate/DT_Return.py, line
31, in render
     (Object: roster)
   File /usr/local/zope/lib/python/OFS/DTMLMethod.py, line 120, in
__call__
     (Object: roster)
   File /usr/local/zope/lib/python/DocumentTemplate/DT_String.py, line
473, in __call__
     (Object: roster)
   File /usr/local/zope/lib/python/DocumentTemplate/DT_Let.py, line 75,
in render
     (Object: roster="portal_membership.getRoster()"
userMgr="portal_membership.checkPermission( 'View', Members
)")
   File /usr/local/zope/lib/python/DocumentTemplate/DT_Util.py, line
159, in eval
     (Object: portal_membership.getRoster())
     (Info: portal_membership)
   File <string>, line 2, in f
   File
/usr/local/zope/lib/python/Products/CMFDefault/MembershipTool.py, line
141, in getRoster
     (Object: portal_membership)
   File /usr/local/zope/lib/python/ZODB/Connection.py, line 447, in
setstate
   File /usr/local/zope/lib/python/ZODB/FileStorage.py, line 582, in load
     (Object: /usr/local/zope/var/Data.fs)
   File /usr/local/zope/lib/python/ZODB/FileStorage.py, line 577, in
_load
     (Object: /usr/local/zope/var/Data.fs)
   File /usr/local/zope/lib/python/ZODB/FileStorage.py, line 2134, in
_loadBack
POSKeyError: (see above)


BZ