[Zope-dev] Waagh! More fun & games with the CST 0.8 Updater

Chris Withers chrisw@nipltd.com
Fri, 27 Apr 2001 10:18:07 +0100


It's running and working okay, but every so often, when running it, I get:

2001-04-27T09:15:23 PANIC(300) ZODB A storage error occurred in the last phase o
f a two-phase commit.  This shouldn't happen. The application may be in a hosed
state, so transactions will not be allowed to commit until the site/storage is r
eset by a restart.
Traceback (innermost last):
  File E:\Zope\23CF7D~1.2B2\lib\python\ZODB\Transaction.py, line 335, in commit
  File E:\Zope\23CF7D~1.2B2\lib\python\ZODB\Connection.py, line 657, in tpc_fini
sh
  File E:\Zope\23CF7D~1.2B2\lib\python\ZODB\BaseStorage.py, line 219, in tpc_fin
ish
    (Object: SessionStorage)
error: release unlocked lock

The relevant bit of code is:

    path = self.getSessionDataContainerPath()
    timeout_mins = self.getInternalDCTimeoutMins()
    onstart = self.getOnStartPath()
    onend = self.getOnEndPath()

    container = self.aq_parent
    ob = SessionDataManager(id, path, title, timeout_mins, onstart, onend)
    container.manage_delObjects(ids=[id])
    container._setObject(id, ob)

Any ideas?

cheers,

Chris