[Zope] ZServer Must Be Continually Re-Started: my Method to stop zope dead:

Tino Wildenhain tino@wildenhain.de
Fri, 11 May 2001 14:01:58 +0200


Hi Gilles,


--On Freitag, 11. Mai 2001 10:57 +0200 Gilles Lavaux 
<gilles.lavaux@esrin.esa.it> wrote:

> Hello
>
> This thread is going around since several years now (and zope version).
> I am aware of this problem because I encounter it since zope 0.9.xxx (or
> was   it 1.0.xx??) :-); and I would love to have a solution...
> I only use zope basic functionality: Zserver + one postgreSQL adapter
>   (Zpopyda at this time) and use some external methods , also some
> mailhost   object. No Zclass or fancy products.
>
> I am personally thinking that ONE of the problem is that there is no
>   time-out on the Zserver socket, I think that if for some reason a
> request   get stuck, the thread is never released. If you use all the
> thread pool,   your server doesn't reply anymore.

Thats true. Even worser if the request ends in an external
c-library (like for database-access) I believe the whole
thread engine get stuck at once since the calling python instruction
never ends and this way no 120 (or whatever once might have configured)
instrucktions on this particular thread can be executed to go over
to the next. We therefore need a solution to handle this situation
ansynchronously or can give the python interpreter a proper wait state
for this thread so it can continues to process the other threads.

Regards
Tino


> Exercise (It's just a silly test I have done 5 mins ago):
> - my Zserver is configured to have a pool of 4 threads
> - I create en external method which loop
> - I create an DTML (hang_test) method which call this external method,
> then   I make 4 copy ( hang_test1,hang_test2, etc..)
> - from a browser I call 2 of them:
>   the requests get stuck as expected:  I use the debug page to check them:
> (I
>   have 2 long running threads at this time)
>             1)Opened:Fri May 11 09:12:13 2001 (488.23s)
>                HTTP_ACCEPT_ENCODING :  'deflate, gzip, x-gzip,
> identity,*;q=0'.
>                SERVER_PORT : '8080'. etc.....
>             2)Opened:Fri May 11 09:19:54 2001 (27.81s).....
>             3)debug request.
>             4)free.
>
> - I block the zserver by calling the other hang_test3, hang_test4 methods.
> - that it. My Zope server is now bloqued since 15 minutes, I will see if
> it   reply again later on.
> - eventualy (if I have some time) I will redo the same test using Zserver
>   with a timeout socket library to see if it act the same...
>
> please understand that this is just a demonstration, I know that doing
>   infinite loop is silly. In real life, one blocking condition I saw(I am
>   almost sure of that, just almost) was the mailhost object: In case of
>   empty(or bad, I don't remember) mail recipient, the request was blocking
>   when it was doing the sendmail. This server was dying every few days.
>
> - my zope server is still dead: I have requests in my browser dated from
> 33   mins.
>
> have someone a solution?
>
> Gilles
>
> -----Original Message-----
> From: Ben Ocean <zope@thewebsons.com>
> To: zope@zope.org <zope@zope.org>
> Date: Friday, May 11, 2001 1:50 AM
> Subject: [Zope] ZServer Must Be Continually Re-Started
>
>
>> Hi;
>> I'm still having problems with ZServer quitting on me on a whim. Can
>> someone help me figure out how to trouble-shoot this? I just installed
>> the latest distro, so it's not the *old bug* that plagued earlier
>> versions. TIA,
>> BenO
>>
>>
>> _______________________________________________
>> Zope maillist  -  Zope@zope.org
>> http://lists.zope.org/mailman/listinfo/zope
>> **   No cross posts or HTML encoding!  **
>> (Related lists -
>> http://lists.zope.org/mailman/listinfo/zope-announce
>> http://lists.zope.org/mailman/listinfo/zope-dev )
>>
>
>
>
> _______________________________________________
> Zope maillist  -  Zope@zope.org
> http://lists.zope.org/mailman/listinfo/zope
> **   No cross posts or HTML encoding!  **
> (Related lists -
>  http://lists.zope.org/mailman/listinfo/zope-announce
>  http://lists.zope.org/mailman/listinfo/zope-dev )