[Zope-dev] PANIC(300) ZODB storage error--shouldn't happen

Ross Boylan RossBoylan@stanfordalumni.org
Sat, 15 Jan 2000 20:46:18 -0800


Can anyone suggest how to avoid the following?  Feel free to consider this
a bug report, if it is a bug.

2000-01-16T04:38:30 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 we will not allow transactions to commit from here on

This happens after some seemingly successful database activity.  I believe
the error is triggered by the commit before returning to the browser.  I
suspect I have opened a connection in a way that conflicts with the
existing one.

I say, in some code which a form calls,
		conn = Globals.DB.open()
		root = conn.root()
		_my_Dir = root.get("OrgUser", None)
		if _my_Dir :
			print "Found directory"
		else:
			print "Creating directory"
			root["OrgUser"] = OrgUserDirectory()  #subclass of PersistentMapping
			_my_Dir = root["OrgUser"]
I then add an object to _my_dir, using dictionary protocols.
The zope session is started with -D.  running Zope 2.1.1 on win32.

It may also be relevant that my function returns a plain string to the
browser.