The bug I'm getting on the client side is two or more clients simultaneously reporting:
Traceback (most recent call last): File "/home/chrb/test_bad.py", line 45, in ? i = g.index(random.choice(g)) File "/usr/lib/python2.4/UserList.py", line 78, in index def index(self, item, *args): return self.data.index(item, *args) File "/usr/lib/python2.4/UserList.py", line 17, in __eq__ def __eq__(self, other): return self.data == self.__cast(other) File "/usr/lib/python2.4/site-packages/ZODB/Connection.py", line 732, in setstate self._setstate(obj) File "/usr/lib/python2.4/site-packages/ZODB/Connection.py", line 768, in _setstate p, serial = self._storage.load(obj._p_oid, self._version) File "/usr/lib/python2.4/site-packages/ZEO/ClientStorage.py", line 746, in load return self.loadEx(oid, version)[:2] File "/usr/lib/python2.4/site-packages/ZEO/ClientStorage.py", line 769, in loadEx data, tid, ver = self._server.loadEx(oid, version) File "/usr/lib/python2.4/site-packages/ZEO/ServerStub.py", line 192, in loadEx return self.rpc.call("loadEx", oid, version) File "/usr/lib/python2.4/site-packages/ZEO/zrpc/connection.py", 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 problem. _______________________________________________ For more information about ZODB, see the ZODB Wiki: http://www.zope.org/Wikis/ZODB/ ZODB-Dev mailing list - ZODB-Dev@zope.org http://mail.zope.org/mailman/listinfo/zodb-dev