Oh, forgot to say that each of the 30 GET requests will invoke the same Servlet class 
which does authentication. Is this error caused by calling the same Servlet again and 
again too fast? If so, is there any solutions?

Thanks.

Wei

----- Original Message ----- 
From: "W. Gao" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Tuesday, August 26, 2003 2:17 PM
Subject: HELP: socket write error & connection abort


> Hi, all,
> I am using Tomcat 4.1.24 and I got the error below sporadically. It happens when I 
> use IE to GET a HTML page which contains references to some GIF and htc files. There 
> are about 30 GET requests sent to the Tomcat server when loading the HTML page. 
> Sometimes, IE can't load the page, but got "Page Cannot Be Displayed" error. On the 
> server side, I observe that only a few GET requests have reached my Servlet, for 
> some unknown reason, it stops there. Below is the error trace. Does anyone know why 
> this happens? Who closes the socket, client or server? Why? Does the client send too 
> many GET requests to the server concurrently?
> 
> What is strange about this problem is that sometimes everything is fine, and I 
> couldn't reproduce the problem at all. But it may show up all of a sudden.
> 
> I have searched the forum and seen many posts about socket excpetions, but one seems 
> to address my problem. Anyone can give me a hand on this?
> 
> Thanks.
> 
> Wei
> 
> ------------------------------------
> 2003-08-26 11:54:14 ApplicationDispatcher[/atlas] Servlet.service() for servlet 
> default threw exception
> java.net.SocketException: Software caused connection abort: socket write error
>  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$OutputStreamOutputBuffer.doWrite(InternalOutputBuffer.java:668)
>  at 
> org.apache.coyote.http11.filters.IdentityOutputFilter.doWrite(IdentityOutputFilter.java:160)
>  at 
> org.apache.coyote.http11.InternalOutputBuffer.doWrite(InternalOutputBuffer.java:523)
>  at org.apache.coyote.Response.doWrite(Response.java:524)
>  at org.apache.coyote.tomcat4.OutputBuffer.realWriteBytes(OutputBuffer.java:384)
>  at org.apache.tomcat.util.buf.ByteChunk.flushBuffer(ByteChunk.java:439)
>  at org.apache.tomcat.util.buf.ByteChunk.append(ByteChunk.java:359)
>  at org.apache.coyote.tomcat4.OutputBuffer.writeBytes(OutputBuffer.java:411)
>  at org.apache.coyote.tomcat4.OutputBuffer.write(OutputBuffer.java:398)
>  at org.apache.coyote.tomcat4.CoyoteOutputStream.write(CoyoteOutputStream.java:110)
>  at org.apache.catalina.servlets.DefaultServlet.copyRange(DefaultServlet.java:1996)
>  at org.apache.catalina.servlets.DefaultServlet.copy(DefaultServlet.java:1745)
>  at 
> org.apache.catalina.servlets.DefaultServlet.serveResource(DefaultServlet.java:1073)
>  at org.apache.catalina.servlets.DefaultServlet.doGet(DefaultServlet.java:506)
>  at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
>  at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
>  at 
> org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:684)
>  at 
> org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:432)
>  at 
> org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:356)
>  at Authenticate.doGet(Authenticate.java:125)
>  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(ApplicationFilterChain.java:247)
>  at 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
>  at 
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:256)
>  at 
> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
>  at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
>  at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
>  at 
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
>  at 
> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
>  at 
> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:494)
>  at 
> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
>  at org.apache.catalina.valves.CertificatesValve.invoke(CertificatesValve.java:246)
>  at 
> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
>  at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
>  at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
>  at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2415)
>  at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
>  at 
> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
>  at 
> org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:171)
>  at 
> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
>  at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172)
>  at 
> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
>  at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
>  at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
>  at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
>  at 
> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
>  at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
>  at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
>  at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:223)
>  at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:594)
>  at 
> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:392)
>  at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:565)
>  at 
> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:619)
>  at java.lang.Thread.run(Thread.java:536)
> 
> 2003-08-26 11:54:14 StandardWrapperValve[Authenticate]: Servlet.service() for 
> servlet Authenticate threw exception
> java.net.SocketException: Software caused connection abort: socket write error
>  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$OutputStreamOutputBuffer.doWrite(InternalOutputBuffer.java:668)
>  at 
> org.apache.coyote.http11.filters.IdentityOutputFilter.doWrite(IdentityOutputFilter.java:160)
>  at 
> org.apache.coyote.http11.InternalOutputBuffer.doWrite(InternalOutputBuffer.java:523)
>  at org.apache.coyote.Response.doWrite(Response.java:524)
>  at org.apache.coyote.tomcat4.OutputBuffer.realWriteBytes(OutputBuffer.java:384)
>  at org.apache.tomcat.util.buf.ByteChunk.flushBuffer(ByteChunk.java:439)
>  at org.apache.tomcat.util.buf.ByteChunk.append(ByteChunk.java:359)
>  at org.apache.coyote.tomcat4.OutputBuffer.writeBytes(OutputBuffer.java:411)
>  at org.apache.coyote.tomcat4.OutputBuffer.write(OutputBuffer.java:398)
>  at org.apache.coyote.tomcat4.CoyoteOutputStream.write(CoyoteOutputStream.java:110)
>  at org.apache.catalina.servlets.DefaultServlet.copyRange(DefaultServlet.java:1996)
>  at org.apache.catalina.servlets.DefaultServlet.copy(DefaultServlet.java:1745)
>  at 
> org.apache.catalina.servlets.DefaultServlet.serveResource(DefaultServlet.java:1073)
>  at org.apache.catalina.servlets.DefaultServlet.doGet(DefaultServlet.java:506)
>  at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
>  at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
>  at 
> org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:684)
>  at 
> org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:432)
>  at 
> org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:356)
>  at Authenticate.doGet(Authenticate.java:125)
>  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(ApplicationFilterChain.java:247)
>  at 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
>  at 
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:256)
>  at 
> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
>  at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
>  at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
>  at 
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
>  at 
> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
>  at 
> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:494)
>  at 
> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
>  at org.apache.catalina.valves.CertificatesValve.invoke(CertificatesValve.java:246)
>  at 
> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
>  at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
>  at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
>  at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2415)
>  at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
>  at 
> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
>  at 
> org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:171)
>  at 
> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
>  at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172)
>  at 
> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
>  at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
>  at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
>  at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
>  at 
> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
>  at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
>  at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
>  at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:223)
>  at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:594)
>  at 
> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:392)
>  at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:565)
>  at 
> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:619)
>  at java.lang.Thread.run(Thread.java:536)
> 

Reply via email to