[Zope] ZServer uncaptured python exception

Dieter Maurer dieter at handshake.de
Sat Jun 19 05:04:41 EDT 2004


g.lams at itcilo.org wrote at 2004-6-16 11:17 +0200:
> ...
>this week a few exceptions have been 
>hangging this "old" Zope server (see log below).
> ...
>Zope's last rows before it hangs:
>
>2004-06-15T17:43:55 PROBLEM(100) Localizer method "select_language" raised 
>an exception.

I do not know what this means but "PROBLEM" is a synonym for "WARNING"
and warnings usually do not cause handing...

> ...
>------
>2004-06-15T20:06:56 ERROR(200) ZServer uncaptured python exception, 
>closing channel <ZServer.HTTPServer.zhttp_channel connected 
>62.43.85.73:1642 at 0x98d4674 channel#: 20700 requests:> 
>(socket.error:(110, 'Connection timed out') 
>[/usr/local/zope/ZServer/medusa/asynchat.py|handle_read|82] 
>[/usr/local/zope/ZServer/medusa/http_server.py|recv|423] 
>[/usr/local/zope/ZServer/medusa/asyncore.py|recv|361])

The above exception report could be seen as an indication
that your Zope has been temporarily not reponding.
Once, you saw the exception, Zope should have been responsive
again.

  Communication with HTTP clients is performed by a single
  thread (the ZServer/medusa thread) using "asyncore".

  "asyncore" asynchronously manages a set of so called "channels".
  It waits in parallel (using "select") until any of the "channels"
  is "ready" (to read or write). Then it handles all ready
  channels synchronously.

  The error above means: a channel reported "I am ready to read"
  but the actual reading failed with a "connection timed out".
  This should never happen!
  
  While the channel was waiting (for the timeout),
  Zope was unable to accept further requests, as waiting
  was performed synchronously by the single ZServer/medusa thread.

I am not sure how the above szenario can happen.
As I understand the specification (of "select/recv"), it is impossible.
Maybe, a bug in your operating systems TCP/select/recv implementation?

-- 
Dieter



More information about the Zope mailing list