[Zope3-dev] traceback on http://127.0.0.1:8080/adder;view/action.html

R. David Murray bitz@bitdance.com
Tue, 12 Mar 2002 10:05:12 -0500 (EST)


On Mon, 11 Mar 2002, Gary Poster wrote:
> Is this an error merely indicative of the current state of the code?  Or
> is it some bug individual to my system (occurs on both Mandrake 8.1 and
> 8.2b4)?

Ah, hah!  I'm not alone.  I think I'm the first person to run
z3 on FreeBSD, and when I got this error, and SteveA couldn't
reproduce it, I figured it must be platform specific.  Since
you are seeing it too, that now looks less likely.

> I start zope, log in as "stupid", click on "Add..." and try to add a
> "Son of Folder" named "teststuff" (or anything).  When I click "Add" I
> then get the error below.
>
> SystemError
>
> Traceback (innermost last):
>   Module Zope.Publisher.Publish, line 42, in executeRequest
>   Module Zope.App.ZopePublication.ZopePublication, line 110, in afterCall
>   Module Transaction._defaultTransaction, line 231, in commit
>   Module ZODB.Connection, line 421, in commit
>   Module ZODB.Connection, line 465, in commit_store
>     (Info: (('Persistence.BTrees.OOBTree', 'OOBTree'),
> '\x00\x00\x00\x00\x00\x00\x00\x02', ''))
> SystemError: error return without exception set
>
> Is this something to be expected?

There are two interesting things to note about this: 'error return
without exception set' sounds like something is broken in whatever
(presumably C) code is getting called from commit_store, and (2)
the comment in that section of commit_store wonders when that branch
of code is ever taken.  So it sounds like something in Z3 is now
tickling code that may never have been executed in Z2.

The ZODB unit test suite is very incomplete:  according to Jeremy
(who was involved in writing most of the existing tests) the tests
really only excersise the storages, and not the rest of the
infrastructure.  I just sent him a few simple unit tests for
Connection/DB which demonstrated the bug you may or may not have
noticed showing up in the z3 log as a result of the bug above,
and he's fixed that bug.  But clearly more unit tests are needed.

--RDM

PS: of course the third interesting thing is:  why was SteveA
not able to reproduce this?  There may still be some
platform/situation dependency here, but he is running on some
flavor of Linux, too.