The bug I'm getting on the client side is two or more clients
simultaneously reporting:

Traceback (most recent call last):
 File "/home/chrb/", line 45, in ?
   i = g.index(random.choice(g))
 File "/usr/lib/python2.4/", line 78, in index
   def index(self, item, *args): return, *args)
 File "/usr/lib/python2.4/", line 17, in __eq__
   def __eq__(self, other): return == self.__cast(other)
 File "/usr/lib/python2.4/site-packages/ZODB/", line
732, in setstate
 File "/usr/lib/python2.4/site-packages/ZODB/", line
768, in _setstate
   p, serial = self._storage.load(obj._p_oid, self._version)
 File "/usr/lib/python2.4/site-packages/ZEO/", line
746, in load
   return self.loadEx(oid, version)[:2]
 File "/usr/lib/python2.4/site-packages/ZEO/", line
769, in loadEx
   data, tid, ver = self._server.loadEx(oid, version)
 File "/usr/lib/python2.4/site-packages/ZEO/", line 192, in loadEx
   return"loadEx", oid, version)
 File "/usr/lib/python2.4/site-packages/ZEO/zrpc/", line
536, in call
   raise inst # error raised by server
ZODB.POSException.POSKeyError: 0x01f5

This seems to be triggered by the call to PersistentList.index. If I
change the random select line to:

 i = random.randint(0, len(g)-1)

then I no longer see this error.

Presumably this just means that the access pattern for index() is
sufficient to trigger this bug, rather than index itself being the
For more information about ZODB, see the ZODB Wiki:

ZODB-Dev mailing list  -

Reply via email to