My problem is similar but different. 

First, the client/user is not disconnecting - knowingly anyway. (Unless the
browser is disconnecting on it's own for some reason.) When I am able to
reproduce this, the browser gets back some of the output, but not all . I am
not manually disconnecting - once again it would be the browser. 

Second, I have been able to reproduce this using Netscape 7.0 as the client.
Therefore, it is not isolated to IE.

Maybe the problem is the same, but is not restricted to just IE?

-----Original Message-----
From: John Trollinger [mailto:[EMAIL PROTECTED]]
Sent: Thursday, December 12, 2002 9:52 AM
To: 'Tomcat Developers List'
Subject: RE: Problem with Socket closing


See bug 12810

> -----Original Message-----
> From: Greg Strobl [mailto:[EMAIL PROTECTED]] 
> Sent: Thursday, December 12, 2002 9:38 AM
> To: '[EMAIL PROTECTED]'
> Subject: Problem with Socket closing
> 
> 
> Hi,
> 
> Tomcat 4.1.12
> OS: W2K
> JRE: Sun 1.4.1_01  (Originally found using 1.4.0)
> 
> I am seeing a problem with Tomcat closing a socket connection 
> and having a write error. This happens with both SSL and 
> regular sockets (the log example that is at the end show an 
> SSL example.) I can reproduce the problem at times but 
> sometimes that test case works (and the page renders as it
> should.) Our website sits on top of a data warehouse and I 
> mostly experience the problem with the pages that have the 
> longer queries. 
> 
> Does anybody know why this happens? Is there a fix? What can 
> I do to try figure out what is causing the problem? I have 
> turned up the debugging level on Tomcat (to 1) and that 
> didn't produce much more information. I have added
> (println) statements to my code to see if there is a problem 
> in it. It appears that my code always completes even when the 
> socket connection is broken.
> 
> Basically, I am at a point where I don't know what to try next.
> 
> Here is the log output:
> 
> 2002-12-11 17:07:28 ApplicationDispatcher[] Servlet.service() 
> for servlet jsp threw exception
> org.apache.jasper.JasperException: Connection has been shutdown:
> javax.net.ssl.SSLException: java.net.SocketException: 
> Software caused connection abort: socket write error
>       at 
> org.apache.jasper.servlet.JspServletWrapper.service(JspServlet
> Wrapper.java:2
> 48)
>       at
> org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet
> .java:289)
>       at 
> org.apache.jasper.servlet.JspServlet.service(JspServlet.java:240)
>       at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
>       at 
> org.apache.catalina.core.ApplicationDispatcher.invoke(Applicat
> ionDispatcher.
> java:684)
>       at 
> org.apache.catalina.core.ApplicationDispatcher.doForward(Appli
> cationDispatch
> er.java:432)
>       at 
> org.apache.catalina.core.ApplicationDispatcher.forward(Applica
> tionDispatcher
> .java:356)
>       at
> org.apache.jasper.runtime.PageContextImpl.forward(PageContextI
> mpl.java:427)
>       at org.apache.jsp.page_jsp._jspService(page_jsp.java:100)
>       at
> org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:136)
>       at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
>       at 
> org.apache.jasper.servlet.JspServletWrapper.service(JspServlet
> Wrapper.java:2
> 04)
>       at
> org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet
> .java:289)
>       at 
> org.apache.jasper.servlet.JspServlet.service(JspServlet.java:240)
>       at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
>       at 
> org.apache.catalina.core.ApplicationDispatcher.invoke(Applicat
> ionDispatcher.
> java:684)
>       at 
> org.apache.catalina.core.ApplicationDispatcher.doForward(Appli
> cationDispatch
> er.java:432)
>       at 
> org.apache.catalina.core.ApplicationDispatcher.forward(Applica
> tionDispatcher
> .java:356)
>       at
> org.apache.jasper.runtime.PageContextImpl.forward(PageContextI
> mpl.java:427)
>       at org.apache.jsp.page_jsp._jspService(page_jsp.java:116)
>       at
> org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:136)
>       at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
>       at 
> org.apache.jasper.servlet.JspServletWrapper.service(JspServlet
> Wrapper.java:2
> 04)
>       at
> org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet
> .java:289)
>       at 
> org.apache.jasper.servlet.JspServlet.service(JspServlet.java:240)
>       at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
>       at 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilt
> er(Application
> FilterChain.java:247)
>       at 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(Appli
> cationFilterCh
> ain.java:193)
>       at 
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardW
> rapperValve.ja
> va:260)
>       at 
> org.apache.catalina.core.StandardPipeline$StandardPipelineValv
> eContext.invok
> eNext(StandardPipeline.java:643)
>       at
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipel
> ine.java:480)
>       at
> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
>       at 
> org.apache.catalina.core.StandardContextValve.invoke(StandardC
> ontextValve.ja
> va:191)
>       at 
> org.apache.catalina.core.StandardPipeline$StandardPipelineValv
> eContext.invok
> eNext(StandardPipeline.java:643)
>       at 
> org.apache.catalina.valves.CertificatesValve.invoke(Certificat
> esValve.java:2
> 46)
>       at 
> org.apache.catalina.core.StandardPipeline$StandardPipelineValv
> eContext.invok
> eNext(StandardPipeline.java:641)
>       at
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipel
> ine.java:480)
>       at
> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
>       at
> org.apache.catalina.core.StandardContext.invoke(StandardContex
> t.java:2396)
>       at 
> org.apache.catalina.core.StandardHostValve.invoke(StandardHost
> Valve.java:180
> )
>       at 
> org.apache.catalina.core.StandardPipeline$StandardPipelineValv
> eContext.invok
> eNext(StandardPipeline.java:643)
>       at 
> org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDi
> spatcherValve.
> java:170)
>       at 
> org.apache.catalina.core.StandardPipeline$StandardPipelineValv
> eContext.invok
> eNext(StandardPipeline.java:641)
>       at 
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReport
> Valve.java:172
> )
>       at 
> org.apache.catalina.core.StandardPipeline$StandardPipelineValv
> eContext.invok
> eNext(StandardPipeline.java:641)
>       at
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipel
> ine.java:480)
>       at
> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
>       at 
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEn
> gineValve.java
> :174)
>       at 
> org.apache.catalina.core.StandardPipeline$StandardPipelineValv
> eContext.invok
> eNext(StandardPipeline.java:643)
>       at
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipel
> ine.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(Http11Process
> or.java:405)
>       at 
> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandle
> r.processConne
> ction(Http11Protocol.java:380)
>       at
> org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoi
> nt.java:508)
>       at 
> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(
> ThreadPool.jav
> a:533)
>       at java.lang.Thread.run(Thread.java:536)
> ----- Root Cause -----
> javax.net.ssl.SSLException: Connection has been shutdown:
> javax.net.ssl.SSLException: java.net.SocketException: 
> Software caused connection abort: socket write error
>       at com.sun.net.ssl.internal.ssl.SSLSocketImpl.d(DashoA6275)
>       at com.sun.net.ssl.internal.ssl.SSLSocketImpl.e(DashoA6275)
>       at 
> com.sun.net.ssl.internal.ssl.AppOutputStream.write(DashoA6275)
>       at 
> org.apache.coyote.http11.InternalOutputBuffer$OutputStreamOutp
> utBuffer.doWri
> te(InternalOutputBuffer.java:652)
>       at 
> org.apache.coyote.http11.filters.ChunkedOutputFilter.doWrite(C
> hunkedOutputFi
> lter.java:166)
>       at 
> org.apache.coyote.http11.InternalOutputBuffer.doWrite(Internal
> OutputBuffer.j
> ava:523)
>       at org.apache.coyote.Response.doWrite(Response.java:513)
>       at
> org.apache.coyote.tomcat4.OutputBuffer.realWriteBytes(OutputBu
> ffer.java:380)
>       at
> org.apache.tomcat.util.buf.ByteChunk.flushBuffer(ByteChunk.java:360)
>       at 
> org.apache.tomcat.util.buf.ByteChunk.append(ByteChunk.java:338)
>       at
> org.apache.tomcat.util.buf.IntermediateOutputStream.write(C2BC
> onverter.java:
> 273)
>       at
> sun.nio.cs.StreamEncoder$CharsetSE.writeBytes(StreamEncoder.java:334)
>       at
> sun.nio.cs.StreamEncoder$CharsetSE.implFlushBuffer(StreamEncod
er.java:402)
>       at
> sun.nio.cs.StreamEncoder$CharsetSE.implFlush(StreamEncoder.java:406)
>       at sun.nio.cs.StreamEncoder.flush(StreamEncoder.java:150)
>       at java.io.OutputStreamWriter.flush(OutputStreamWriter.java:213)
>       at
> org.apache.tomcat.util.buf.WriteConvertor.flush(C2BConverter.java:222)
>       at
> org.apache.tomcat.util.buf.C2BConverter.flushBuffer(C2BConvert
> er.java:165)
>       at
> org.apache.coyote.tomcat4.OutputBuffer.realWriteChars(OutputBu
> ffer.java:576)
>       at
> org.apache.tomcat.util.buf.CharChunk.flushBuffer(CharChunk.java:388)
>       at
> org.apache.coyote.tomcat4.OutputBuffer.flush(OutputBuffer.java:340)
>       at 
> org.apache.coyote.tomcat4.CoyoteResponse.flushBuffer(CoyoteRes
> ponse.java:554
> )
>       at 
> org.apache.coyote.tomcat4.CoyoteResponseFacade.flushBuffer(Coy
> oteResponseFac
> ade.java:227)
>       at
> org.apache.jasper.runtime.JspWriterImpl.flush(JspWriterImpl.java:211)
>       at 
> org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntime
> Library.java:8
> 08)
>       at
> org.apache.jasper.runtime.PageContextImpl.include(PageContextI
> mpl.java:395)
>       at 
> org.apache.jasper.runtime.PageContextImpl.handlePageException(
> PageContextImp
> l.java:480)
>       at 
> org.apache.jsp.MakePage_jsp._jspService(MakePage_jsp.java:468)
>       at
> org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:136)
>       at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
>       at 
> org.apache.jasper.servlet.JspServletWrapper.service(JspServlet
> Wrapper.java:2
> 04)
>       at
> org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet
> .java:289)
>       at 
> org.apache.jasper.servlet.JspServlet.service(JspServlet.java:240)
>       at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
>       at 
> org.apache.catalina.core.ApplicationDispatcher.invoke(Applicat
> ionDispatcher.
> java:684)
>       at 
> org.apache.catalina.core.ApplicationDispatcher.doForward(Appli
> cationDispatch
> er.java:432)
>       at 
> org.apache.catalina.core.ApplicationDispatcher.forward(Applica
> tionDispatcher
> .java:356)
>       at
> org.apache.jasper.runtime.PageContextImpl.forward(PageContextI
> mpl.java:427)
>       at org.apache.jsp.page_jsp._jspService(page_jsp.java:100)
>       at
> org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:136)
>       at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
>       at 
> org.apache.jasper.servlet.JspServletWrapper.service(JspServlet
> Wrapper.java:2
> 04)
>       at
> org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet
> .java:289)
>       at 
> org.apache.jasper.servlet.JspServlet.service(JspServlet.java:240)
>       at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
>       at 
> org.apache.catalina.core.ApplicationDispatcher.invoke(Applicat
> ionDispatcher.
> java:684)
>       at 
> org.apache.catalina.core.ApplicationDispatcher.doForward(Appli
> cationDispatch
> er.java:432)
>       at 
> org.apache.catalina.core.ApplicationDispatcher.forward(Applica
> tionDispatcher
> .java:356)
>       at
> org.apache.jasper.runtime.PageContextImpl.forward(PageContextI
> mpl.java:427)
>       at org.apache.jsp.page_jsp._jspService(page_jsp.java:116)
>       at
> org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:136)
>       at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
>       at 
> org.apache.jasper.servlet.JspServletWrapper.service(JspServlet
> Wrapper.java:2
> 04)
>       at
> org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet
> .java:289)
>       at 
> org.apache.jasper.servlet.JspServlet.service(JspServlet.java:240)
>       at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
>       at 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilt
> er(Application
> FilterChain.java:247)
>       at 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(Appli
> cationFilterCh
> ain.java:193)
>       at 
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardW
> rapperValve.ja
> va:260)
>       at 
> org.apache.catalina.core.StandardPipeline$StandardPipelineValv
> eContext.invok
> eNext(StandardPipeline.java:643)
>       at
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipel
> ine.java:480)
>       at
> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
>       at 
> org.apache.catalina.core.StandardContextValve.invoke(StandardC
> ontextValve.ja
> va:191)
>       at 
> org.apache.catalina.core.StandardPipeline$StandardPipelineValv
> eContext.invok
> eNext(StandardPipeline.java:643)
>       at 
> org.apache.catalina.valves.CertificatesValve.invoke(Certificat
> esValve.java:2
> 46)
>       at 
> org.apache.catalina.core.StandardPipeline$StandardPipelineValv
> eContext.invok
> eNext(StandardPipeline.java:641)
>       at
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipel
> ine.java:480)
>       at
> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
>       at
> org.apache.catalina.core.StandardContext.invoke(StandardContex
> t.java:2396)
>       at 
> org.apache.catalina.core.StandardHostValve.invoke(StandardHost
> Valve.java:180
> )
>       at 
> org.apache.catalina.core.StandardPipeline$StandardPipelineValv
> eContext.invok
> eNext(StandardPipeline.java:643)
>       at 
> org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDi
> spatcherValve.
> java:170)
>       at 
> org.apache.catalina.core.StandardPipeline$StandardPipelineValv
> eContext.invok
> eNext(StandardPipeline.java:641)
>       at 
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReport
> Valve.java:172
> )
>       at 
> org.apache.catalina.core.StandardPipeline$StandardPipelineValv
> eContext.invok
> eNext(StandardPipeline.java:641)
>       at
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipel
> ine.java:480)
>       at
> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
>       at 
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEn
> gineValve.java
> :174)
>       at 
> org.apache.catalina.core.StandardPipeline$StandardPipelineValv
> eContext.invok
> eNext(StandardPipeline.java:643)
>       at
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipel
> ine.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(Http11Process
> or.java:405)
>       at 
> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandle
> r.processConne
> ction(Http11Protocol.java:380)
>       at
> org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoi
> nt.java:508)
>       at 
> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(
> ThreadPool.jav
> a:533)
>       at java.lang.Thread.run(Thread.java:536)
> Caused by: javax.net.ssl.SSLException: 
> java.net.SocketException: Software caused connection abort: 
> socket write error
>       at com.sun.net.ssl.internal.ssl.BaseSSLSocketImpl.a(DashoA6275)
>       at com.sun.net.ssl.internal.ssl.SSLSocketImpl.a(DashoA6275)
>       at com.sun.net.ssl.internal.ssl.SSLSocketImpl.a(DashoA6275)
>       at com.sun.net.ssl.internal.ssl.SSLSocketImpl.a(DashoA6275)
>       at 
> com.sun.net.ssl.internal.ssl.AppOutputStream.write(DashoA6275)
>       at 
> org.apache.coyote.http11.InternalOutputBuffer$OutputStreamOutp
> utBuffer.doWri
> te(InternalOutputBuffer.java:652)
>       at 
> org.apache.coyote.http11.filters.ChunkedOutputFilter.doWrite(C
> hunkedOutputFi
> lter.java:171)
>       at 
> org.apache.coyote.http11.InternalOutputBuffer.doWrite(Internal
> OutputBuffer.j
> ava:523)
>       at org.apache.coyote.Response.doWrite(Response.java:513)
>       at
> org.apache.coyote.tomcat4.OutputBuffer.realWriteBytes(OutputBu
> ffer.java:380)
>       at
> org.apache.tomcat.util.buf.ByteChunk.flushBuffer(ByteChunk.java:360)
>       at 
> org.apache.tomcat.util.buf.ByteChunk.append(ByteChunk.java:338)
>       at
> org.apache.tomcat.util.buf.IntermediateOutputStream.write(C2BC
> onverter.java:
> 273)
>       at
> sun.nio.cs.StreamEncoder$CharsetSE.writeBytes(StreamEncoder.java:334)
>       at
> sun.nio.cs.StreamEncoder$CharsetSE.implFlushBuffer(StreamEncod
er.java:402)
>       at
> sun.nio.cs.StreamEncoder$CharsetSE.implFlush(StreamEncoder.java:406)
>       at sun.nio.cs.StreamEncoder.flush(StreamEncoder.java:150)
>       at java.io.OutputStreamWriter.flush(OutputStreamWriter.java:213)
>       at
> org.apache.tomcat.util.buf.WriteConvertor.flush(C2BConverter.java:222)
>       at
> org.apache.tomcat.util.buf.C2BConverter.flushBuffer(C2BConvert
> er.java:165)
>       at
> org.apache.coyote.tomcat4.OutputBuffer.realWriteChars(OutputBu
> ffer.java:576)
>       at
> org.apache.tomcat.util.buf.CharChunk.flushBuffer(CharChunk.java:388)
>       at
> org.apache.coyote.tomcat4.OutputBuffer.flush(OutputBuffer.java:340)
>       at java.io.PrintWriter.flush(PrintWriter.java:120)
>       at
> org.apache.coyote.tomcat4.CoyoteWriter.flush(CoyoteWriter.java:97)
>       at
> org.apache.jasper.runtime.JspWriterImpl.flush(JspWriterImpl.java:209)
>       at 
> org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntime
> Library.java:8
> 08)
>       at 
> org.apache.jsp.MakePage_jsp._jspService(MakePage_jsp.java:460)
>       ... 59 more
> Caused by: 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 com.sun.net.ssl.internal.ssl.OutputRecord.a(DashoA6275)
>       ... 84 more
> 
> Greg Strobl
> Analytical Healthcare Solutions
> 
> 
> --
> To unsubscribe, e-mail:   
> <mailto:tomcat-dev-> [EMAIL PROTECTED]>
> For 
> additional commands, 
> e-mail: <mailto:[EMAIL PROTECTED]>
> 


--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to