[Zope] ZServer lockups

Amos Latteier amos@aracnet.com
Thu, 12 Aug 1999 15:11:15 -0700


At 04:33 PM 8/12/99 -0500, you wrote:
>
>> A number of folks have posted about Zope lock up issues. It is very
>> important to me to resolve this issues.
>>
>> When ZServer occasionally locks up for me, it usually because I did
>> something that's causing the publishing process to hang. This happens when
>> you are coding external methods or Python products and make certain kinds
>> of mistakes that put Zope in a loop.
>
>I finally tracked down my problem.  Some of the python code that I 
>have written was falling into an infinite loop, and it had nothing
>to do with Zope.  Of course, given how cool we all agree that Zope
>is, shouldn't it prevent these stupid programming problems :-)

Ahh, if only Python could read our minds.

I guess we could think about some kind of publishing request time out. Hmm.
This sounds ugly...

At any rate we could fix ZServer so that if it couldn't get a request
serviced in a certain amount of time it would return an appropriate error
(408?) instead of just waiting forever...

>One question, though.  Since ZServer is multithreaded, should just 
>the thread that is handling the python code that falls into the loop
>get stuck?  Shouldn't the other threads keep on working?  Or does 
>the one thread simply consume all of the available cycles?

Usually it takes five requests to hang ZServer ;-) By default Zope uses 4
publishing threads. Each time you request a URL that put Zope in an
infinite loop, there goes one more publishing thread. So after 4 evil
requests you're locked up.

-Amos