[Zope] ZServer: unhandled exception killing ZPublisher?

Amos Latteier amos@aracnet.com
Thu, 06 May 1999 17:05:52 -0700


At 05:31 PM 5/5/99 +1000, Anthony Baxter  wrote:
>I've got a Zope system running with ZServer 1.0b1 on a Linux 2.0.36
>system. Periodically, one of the test users here has managed to trigger
>a bug (I'm not sure what, or how). When they do, it seems to kill
>one of the ZServer threads, so that the system is still running, 
>still accepting connections, but just hangs. I thought I saw something
>like this recently, but I can't see it in my mail archive.
>
>Looking at the diffs between what I'm running and the current CVS
>tree, I see that ZServer/HTTPResponse.py has
>@@ -232,7 +237,7 @@
>         
>     def close(self):
>         self._channel.push(LoggingProducer(self._request, self._bytes), 0)
>+        self._channel.push(CallbackProducer(self._channel.done), 0)
>-        self._channel.push(CallbackProducer(self._channel.done))
>         if self._shutdown:
>             self._channel.push(ShutdownProducer(), 0)
>         elif self._close:
>
>is this the correct fix?

This is an important fix, and it could be that applying this patch will fix
your problem. In fact, looking at your traceback, I'd say that this will
probably fix your problem.

>Should I be wrapping the various ZServer 
>threads in a try/except pair to restart them in case of a thread
>failing?

No. In general ZServer should handle any errors which crop up.

-Amos