-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Mohit,
On 1/20/2010 2:11 PM, Mohit Anchlia wrote: >> Server version: Apache Tomcat/6.0.18 >> >> We don't any other web server in front Okay. What connector(s) are you using? I'm not sure it matters, given the other information you've provided. >> Interesting. Do all responses with fewer than 2657 bytes succeed? Do all >> responses with more than 2656 bytes fail? > > YES Hmm. > Please post the entire stack trace of the exception. > >> SEVERE: Servlet.service() for servlet SwitchServlet threw exception >> java.net.SocketTimeoutException: Read timed out >> at java.net.SocketInputStream.socketRead0(Native Method) >> at java.net.SocketInputStream.read(SocketInputStream.java:129) >> at java.io.FilterInputStream.read(FilterInputStream.java:111) >> at >> com.wily.introscope.agent.probe.net.ManagedSocketInputStream.read(ManagedSocketInputStream.java:214) I've never see this class before. What is it? In this some kind of instrumentation? If so, what happens if you turn it off? Another interesting thing is that this fails during a read() operation. So, your servlet isn't failing to send data to the client, it's failing to read the data in the first place. I'll bet that 2657 bytes is the size of your "500 error" page. Can you check that? Does your servlet usually emit fewer than 2657 bytes? That's a pretty small response for many HTTP requests. >> at >> org.apache.coyote.http11.InternalInputBuffer.fill(InternalInputBuffer.java:746) >> at >> org.apache.coyote.http11.InternalInputBuffer$InputStreamInputBuffer.doRead(InternalInputBuffer.java:776) >> at >> org.apache.coyote.http11.filters.IdentityInputFilter.doRead(IdentityInputFilter.java:116) >> at >> org.apache.coyote.http11.InternalInputBuffer.doRead(InternalInputBuffer.java:705) >> at org.apache.coyote.Request.doRead(Request.java:428) >> at >> org.apache.catalina.connector.InputBuffer.realReadBytes(InputBuffer.java:304) >> at org.apache.tomcat.util.buf.ByteChunk.substract(ByteChunk.java:405) >> at >> org.apache.catalina.connector.InputBuffer.read(InputBuffer.java:327) >> at >> org.apache.catalina.connector.CoyoteInputStream.read(CoyoteInputStream.java:162) >> at org.apache.commons.io.IOUtils.copyLarge(IOUtils.java:1025) >> at org.apache.commons.io.IOUtils.copy(IOUtils.java:999) >> at org.apache.commons.io.IOUtils.toByteArray(IOUtils.java:218) >> at >> com.intuit.engine.efp.efe.efileswitch.SwitchServlet.doPostOrGet(SwitchServlet.java:174) >> at >> com.intuit.engine.efp.efe.common.servlet.BaseServlet.doPost(BaseServlet.java:48) So, you're copying a byte array from the client. Where are you copying it to? > Yes it always fail with desktop clients on the broadband/modem etc.. > Basically ones that are using our GUI application. So, regular web browsers like Firefox, MSIE, Safari? When you say "GUI application" do you mean a web-based application, or do you have something else that's running on the client? > Is there also a timeout where connection is closed when 'n' secs > expire irrespecitve of if the client and server are actively talking > to each other. That would be the SocketTimeout itself which I don't believe is settable through Tomcat's <Connector> configuration. The default socket timeout for ServerSocket is 0 (infinity: wait forever) so it must be that this default is being changed somewhere along the way. It's possible that the <Connector> configurator will pass-through any settings onto the socket (I haven't read the code). It would be simple to try adding "soTimeout=60000" (that's 60 seconds) to your <Connector> configuration and see if that works. Check the logs after startup to see if there's any warning that the "soTimeout" attribute didn't match anything useful. - -chris -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.10 (MingW32) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iEYEARECAAYFAktXXFsACgkQ9CaO5/Lv0PCZAACfeJMBprxz6/hwoOmp9PXA8VwN Rq0An09fm8L6FT6PYP5KolY6R+li+C3H =ZVEw -----END PGP SIGNATURE----- --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org