[Zope] Debugging conflict errors in (old) zope

Marco Bizzarri marco.bizzarri at gmail.com
Fri Dec 18 12:55:37 EST 2009


Hi all.

I'm facing some of these conflicts:


ZODB.POSException.ConflictError
database conflict error (oid 0x03dc5870, class BTrees._OOBTree.OOBucket,
serial this txn started with 0x0382d2aa7ec19444 2009-12-18 10:18:29.708477,
serial currently committed 0x0382d2aac531e099 2009-12-18 10:18:46.217539)
  File "/var/local/zope/base2891/lib/python/Zope2/App/startup.py", line 167,
in zpublisher_exception_hook
    v.reraise()
  File "/var/local/zope/base2891/lib/python/ZPublisher/Publish.py", line
120, in publish
    transactions_manager.commit()
  File "/var/local/zope/base2891/lib/python/Zope2/App/startup.py", line 233,
in commit
    transaction.commit()
  File "/var/local/zope/base2891/lib/python/transaction/_manager.py", line
84, in commit
    self.get().commit(sub)
  File "/var/local/zope/base2891/lib/python/transaction/_transaction.py",
line 381, in commit
    self._saveCommitishError() # This raises!
  File "/var/local/zope/base2891/lib/python/transaction/_transaction.py",
line 379, in commit
    self._commitResources()
  File "/var/local/zope/base2891/lib/python/transaction/_transaction.py",
line 427, in _commitResources
    rm.tpc_vote(self)
  File "/var/local/zope/base2891/lib/python/ZODB/Connection.py", line 637,
in tpc_vote
    s = vote(transaction)
  File "/var/local/zope/base2891/lib/python/ZEO/ClientStorage.py", line 893,
in tpc_vote
    return self._check_serials()
  File "/var/local/zope/base2891/lib/python/ZEO/ClientStorage.py", line 877,
in _check_serials
    raise s

Set up is a python 2.3 + Zope 2.8 with ZEO; I've tried to figure what the
object is with a zopectl debug:

>>> app._p_jar[0x03dc5870]
Traceback (most recent call last):
  File "<stdin>", line 1, in ?
  File "/var/local/zope/base2891/lib/python/ZODB/Connection.py", line 207,
in get
    p, serial = self._storage.load(oid, self._version)
  File "/var/local/zope/base2891/lib/python/ZEO/ClientStorage.py", line 746,
in load
    return self.loadEx(oid, version)[:2]
  File "/var/local/zope/base2891/lib/python/ZEO/ClientStorage.py", line 769,
in loadEx
    data, tid, ver = self._server.loadEx(oid, version)
  File "/var/local/zope/base2891/lib/python/ZEO/ServerStub.py", line 192, in
loadEx
    return self.rpc.call("loadEx", oid, version)
  File "/var/local/zope/base2891/lib/python/ZEO/zrpc/connection.py", line
536, in call
    raise inst # error raised by server
TypeError: invalid oid 64772208

The question now is: how can I debug such a problem? Of course, I thought I
could add some debug code in the _check_serials, but I'll do that just if
there is no other way.

Regards
Marco


-- 
Marco Bizzarri
http://code.google.com/p/qt-asterisk/
http://notenotturne.blogspot.com/
http://iliveinpisa.blogspot.com/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.zope.org/pipermail/zope/attachments/20091218/144f5baa/attachment.html 


More information about the Zope mailing list