[ZODB-Dev] Zope or Zeo hanging up sockets

Matt matt@virtualspectator.com
Thu, 29 Nov 2001 17:18:20 +1300


It appears to be 4DOM locking all the other threads.  Very reproducable.
Notably, the function : Sax2.FromXml that comes from xml.dom.ext.reader.
Give it a large xml string to make a DOM tree out of and all other Zope
threads will hang for a nice long time.  I'll have a closer look to find
where the offending thread bits are, but I'll also switch to ParsedXML to
see if that fixes the problem.





----- Original Message -----
From: "Toby Dickenson" <tdickenson@devmail.geminidataloggers.co.uk>
To: "Matt" <matt@virtualspectator.com>
Cc: "Chris McDonough" <chrism@zope.com>; <zodb-dev@zope.org>
Sent: Wednesday, November 28, 2001 10:47 PM
Subject: Re: [ZODB-Dev] Zope or Zeo hanging up sockets


> On Wed, 28 Nov 2001 16:44:21 +1300, "Matt" <matt@virtualspectator.com>
> wrote:
>
> >First of all, and don't laugh, the following are the external methods
> >involved :
>
> There may be an obvious soution... Does that external method use any
> extension modules that might not be giving up the python global lock,
> or any python modules that are using thread synchronisation?
>
> (my appologies if that question is *too* obvious)
>
> >dom document of the 4Suite kind
>
> I remember one of Python's xml libraries relies on the python garbage
> colelctor to break circular references. Is that 4Suite, or another
> one? The blockage may be due to the garbage collector, although 40s is
> much slower that I have ever seen it before.
>
>
> >>>A sockstat shows that
> >> connections
> >> > are piling up to Zope.  I watched the logs for a while and found
> >> that when a
> >> > certain external method was called that takes up to 10 seconds to
> >> run and
> >> > return, that all the other requests pile up behind it.  When it
> >> finally goes
> >> > through then a burst of some, but not all, of other pending requests
> >> goes
> >> > through
>
> You could modify your external method to write a log file with
> timestamps on entry, exit, and at any landmarks within the external
> method. That may help isolate exactly what is blocking.
>
>
>
> Toby Dickenson
> tdickenson@geminidataloggers.com
>
> _______________________________________________
> For more information about ZODB, see the ZODB Wiki:
> http://www.zope.org/Wikis/ZODB/
>
> ZODB-Dev mailing list  -  ZODB-Dev@zope.org
> http://lists.zope.org/mailman/listinfo/zodb-dev