[Zope-Coders] Zope 2.5 instability problems

Martijn Faassen faassen@vet.uu.nl
Sun, 9 Dec 2001 18:29:58 +0100


Hi there,

I've just been trying ParsedXML (latest CVS version) with Zope 2.5.
While on Zope 2.4 it seems stable, on Zope 2.5 I get regular Zope
restarts whenever I access the DOM tree too much. Load a large 
XML document (I've tried several) into ParsedXML under Zope 2.5 and
try some DOM access; a typical way to make the crashes cause is to
browse the ParsedXML tree view. Open a few too many nodes and your
Zope will crash. 

I've tried this with Debian's Python 2.1 as well as a hand-compiled 
Python 2.1. Zope 2.4 seems fine, however.

The instability seems to be caused by somekind of memory corruption;
sometimes opening a node works fine, sometimes it doesn't. Sometimes it
works and if you do something completely unrelated to ParsedXML, Zope 
crashes.

Some suspects:

* pyexpat. Has a good alibi, even though it has a suspect past of its own.
  Parsing however works fine, the problem seems to occur when you go through
  the management interface (or the manageable wrappers).

* ComputedAttribute

* Acquisition

* Persistent

and of course the security system is an option (is Zope 2.5 using
cAccessControl?).

The unit tests under Zope 2.5 don't give *more* errors than with 2.4,
and no crashes (that are related, at least..the parser still needs help..
help!).

I suspect the management wrappers may have something to do with it 
(even though the unit tests don't crash) -- the edit screen does show
the raw XML in the textarea without crashing, while the tree view doesn't,
and the important difference is that the tree view uses the wrappers. The
wrappers are pretty simple however; the only special things they use are 
ComputedAttribute and Acquisition (and in the case of the document wrapper 
itself Persistent as well).

Anyone have any clue as to what may have changed that could trigger this?
I'll do some more experimenting in the mean time.

Regards,

Martijn