tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Graham King <gra...@gointernet.co.uk>
Subject HttpProcessor not recycling connections / bug 5181 ?
Date Fri, 25 Oct 2002 11:05:13 GMT
	Dear all,

  I'm running Tomcat 4.0.3 with Java 1.4 on Linux, and we are getting lots of 'IOException:

Connection reset by peer' (see stack trace at bottom of mail), which I understand is the user

hitting 'stop' or closing the window before the load completes.

After several hours of running our server will run out of request processors (well actually
we put 
maxProcessors at 1024 so the site falls over with 'OutOfMemoryError: unable to create native
thread' 
but that's just whilst we try and fix this).

I believe this is because StandardWrapperValve is catching the IOException, so it never gets
back up 
to HttpProcessor, so the processor never gets recycled.

I saw in a comment right at the bottom of here 
http://nagoya.apache.org/bugzilla/show_bug.cgi?id=5181 that this is fixed in 4.0.4b1, but
I could 
not find any other information about that in the release notes, bugzilla or mail list archives.

  We can't use the 4.1.X branch because we symlink to content outside the webapp directory
and the 
allowLinking doesn't work for us (in 4.1.12 at least).

  So what I am asking is:

  - Does anyone know of a recorded problem with recycling processors in 4.0.3 and if so is
this 
definately fixed in later versions of 4.0.X ?
  And:
  - Has anyone else experienced something like this and is my analysis way off mark ?

  Many thanks,
  Graham.


Stack trace:

2002-10-25 11:57:25 StandardWrapperValve[default]: Servlet.service() for servlet default threw
exception
java.io.IOException: Connection reset by peer
         at java.net.SocketOutputStream.socketWrite0(Native Method)
         at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:92)
         at java.net.SocketOutputStream.write(SocketOutputStream.java:126)
         at org.apache.catalina.connector.ResponseBase.flushBuffer(Unknown Source)
         at org.apache.catalina.connector.HttpResponseBase.flushBuffer(Unknown Source)
         at org.apache.catalina.connector.ResponseBase.write(Unknown Source)
         at org.apache.catalina.connector.ResponseStream.write(Unknown Source)
         at org.apache.catalina.connector.http.HttpResponseStream.write(Unknown Source)
         at org.apache.catalina.servlets.DefaultServlet.copyRange(Unknown Source)
         at org.apache.catalina.servlets.DefaultServlet.copy(Unknown Source)
         at org.apache.catalina.servlets.DefaultServlet.serveResource(Unknown Source)
         at org.apache.catalina.servlets.DefaultServlet.doGet(Unknown Source)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Unknown Source)
         at org.apache.catalina.core.ApplicationFilterChain.doFilter(Unknown Source)
         at com.gocontent.servlet.GCSecurityFilter.doFilter(GCSecurityFilter.java:97)
         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Unknown Source)
         at org.apache.catalina.core.ApplicationFilterChain.doFilter(Unknown Source)
         at org.apache.catalina.core.StandardWrapperValve.invoke(Unknown Source)        <--
Catches 
the exception
         at org.apache.catalina.core.StandardPipeline.invokeNext(Unknown Source)
         at org.apache.catalina.core.StandardPipeline.invoke(Unknown Source)
         at org.apache.catalina.core.ContainerBase.invoke(Unknown Source)
         at org.apache.catalina.core.StandardContextValve.invoke(Unknown Source)
         at org.apache.catalina.core.StandardPipeline.invokeNext(Unknown Source)
         at org.apache.catalina.valves.CertificatesValve.invoke(Unknown Source)
         at org.apache.catalina.core.StandardPipeline.invokeNext(Unknown Source)
         at org.apache.catalina.core.StandardPipeline.invoke(Unknown Source)
         at org.apache.catalina.core.ContainerBase.invoke(Unknown Source)
         at org.apache.catalina.core.StandardContext.invoke(Unknown Source)
         at org.apache.catalina.core.StandardHostValve.invoke(Unknown Source)
         at org.apache.catalina.core.StandardPipeline.invokeNext(Unknown Source)
         at org.apache.catalina.valves.ErrorDispatcherValve.invoke(Unknown Source)
         at org.apache.catalina.core.StandardPipeline.invokeNext(Unknown Source)
         at org.apache.catalina.valves.ErrorReportValve.invoke(Unknown Source)
         at org.apache.catalina.core.StandardPipeline.invokeNext(Unknown Source)
         at org.apache.catalina.valves.AccessLogValve.invoke(Unknown Source)
         at org.apache.catalina.core.StandardPipeline.invokeNext(Unknown Source)
         at org.apache.catalina.core.StandardPipeline.invoke(Unknown Source)
         at org.apache.catalina.core.ContainerBase.invoke(Unknown Source)
         at org.apache.catalina.core.StandardEngineValve.invoke(Unknown Source)
         at org.apache.catalina.core.StandardPipeline.invokeNext(Unknown Source)
         at org.apache.catalina.core.StandardPipeline.invoke(Unknown Source)
         at org.apache.catalina.core.ContainerBase.invoke(Unknown Source)
         at org.apache.catalina.connector.http.HttpProcessor.process(Unknown Source)
         at org.apache.catalina.connector.http.HttpProcessor.run(Unknown Source)
         at java.lang.Thread.run(Thread.java:536)



--
To unsubscribe, e-mail:   <mailto:tomcat-user-unsubscribe@jakarta.apache.org>
For additional commands, e-mail: <mailto:tomcat-user-help@jakarta.apache.org>


Mime
View raw message