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]>