I have no FreeBSD experience but I do have a couple of ideas.

Ian Maurer wrote:
> Basically Webware just stops accepting requests. The process is still
> running with the state of 'lockf' (important?) but it just doesn't
> respond. 
> 
> Usually Webware just stops answering and the 'verbose' output
> shows the last request but no response is given:
> 
>   363  2004-02-08 13:31:54  /WK/Context/Example
> 
> (no 363 response)
> 
> I am getting the following message at the end of the output LOG
> I am keeping:
> 
> StreamOut Error:  (54, 'Connection reset by peer')

This isn't _necessarily_ an error.  It can happen when a client presses the
Stop button in their browser while a servlet is still processing the
request, if the servlet is using flush() to send partial responses.  Try
running the "PushServlet" example servlet, then press Stop in your browser
before the page is done rendering.  You'll probably get the same message,
and it's not an error.

> 
> Which I believe comes from the ThreadedAppServer.py module at line
> 446. 
> 
> I am really at a loss for where to start chasing down this problem.
> I have been running Webware for over 2 years without any problems,
> so I guess I am a little bit spoiled.
> 
> Any thoughts or suggestions? Any more information needed?

I'm wondering if the server grinds to a halt all at once, or if the threads
get locked up one by one until they are all wedged (which has happened to me
through no fault of WebKit -- a 3rd party library was locking up
occasionally, and as soon as all of the threads in the pool were wedged, the
appserver was dead).

You can help figure that out by putting this in ThreadedAppServer.py at the
top of RequestHandler.handleRequest():

    print '%5i  thread is %s' % (self._number,
threading.currentThread().getName())

By examining the messages this produces you should be able to figure out if
the pool of available threads is getting smaller and smaller as your
appserver runs.  Ordinarily it seems to cycle through the threads in
round-robin fashion (at least this is how it apparently works on Windows;
I'm not sure about other OS's) so it's easy to tell when a thread gets
wedged.

In AppServer.config you may want to set StartServerThreads,
MaxServerThreads, and MinServerThreads to the same value so there's no
confusion about how large your thread pool is.

Good luck!

- Geoff


-------------------------------------------------------
The SF.Net email is sponsored by EclipseCon 2004
Premiere Conference on Open Tools Development and Integration
See the breadth of Eclipse activity. February 3-5 in Anaheim, CA.
http://www.eclipsecon.org/osdn
_______________________________________________
Webware-discuss mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/webware-discuss

Reply via email to