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 )