if you look deeper under the hood of Java NET/IO you will see that there is no configurable timeout for writing blocking IO. The best thing you can do is upgrade to Tomcat 6, and use the NIO connector (protocol="org.apache.coyote.http11.Http11NioProtocol") as that has a configurable timeout for writing data.
best Filip ----- Original Message ----- > From: "Douglas Briere" <douglas.bri...@ca.com> > To: 'users@tomcat.apache.org' > Sent: Tuesday, May 15, 2012 4:18:00 PM > Subject: DefaultServlet socketWrite hang > > > Hello, > > We are using tomcat 5.5.30. I saw the following 26 times at one of > customers sites. Our web server is used to launch JNLP > applications, so I believe this was downloading the client jar > files. However, java webstart caches after the first occurrence so > this is a bit odd. Has anyone seen this before? It appears these > threads are getting stalled out. Could a socket timeout be > configured? Thanks. > > at java.net.SocketOutputStream.socketWrite0(Native Method) > at > > java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:92) > at > java.net.SocketOutputStream.write(SocketOutputStream.java:136) > at > > org.apache.coyote.http11.InternalOutputBuffer.realWriteBytes(InternalOutputBuffer.java:751) > at > > org.apache.tomcat.util.buf.ByteChunk.flushBuffer(ByteChunk.java:432) > at > > org.apache.tomcat.util.buf.ByteChunk.append(ByteChunk.java:347) > at > > org.apache.coyote.http11.InternalOutputBuffer$OutputStreamOutputBuffer.doWrite(InternalOutputBuffer.java:774) > at > > org.apache.coyote.http11.filters.IdentityOutputFilter.doWrite(IdentityOutputFilter.java:118) > at > > org.apache.coyote.http11.InternalOutputBuffer.doWrite(InternalOutputBuffer.java:584) > at > org.apache.coyote.Response.doWrite(Response.java:560) > at > > org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.java:365) > at > > org.apache.tomcat.util.buf.ByteChunk.append(ByteChunk.java:352) > at > > org.apache.catalina.connector.OutputBuffer.writeBytes(OutputBuffer.java:396) > at > > org.apache.catalina.connector.OutputBuffer.write(OutputBuffer.java:385) > at > > org.apache.catalina.connector.CoyoteOutputStream.write(CoyoteOutputStream.java:89) > at > > org.apache.catalina.servlets.DefaultServlet.copy(DefaultServlet.java:1839) > at > > org.apache.catalina.servlets.DefaultServlet.serveResource(DefaultServlet.java:929) > at > > org.apache.catalina.servlets.DefaultServlet.doGet(DefaultServlet.java:385) > at > javax.servlet.http.HttpServlet.service(HttpServlet.java:627) > at > javax.servlet.http.HttpServlet.service(HttpServlet.java:729) > at > > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269) > at > > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) > at > > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213) > at > > org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:172) > at > > org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:470) > at > > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) > at > > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117) > at > > org.apache.catalina.valves.FastCommonAccessLogValve.invoke(FastCommonAccessLogValve.java:500) > at > > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108) > at > > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174) > at > > org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:879) > at > > org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665) > at > > org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528) > at > > org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81) > at > > org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java > > > --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org