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(JspServletWrapper.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(ApplicationDispatcher.
java:684)
        at
org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatch
er.java:432)
        at
org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher
.java:356)
        at
org.apache.jasper.runtime.PageContextImpl.forward(PageContextImpl.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(JspServletWrapper.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(ApplicationDispatcher.
java:684)
        at
org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatch
er.java:432)
        at
org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher
.java:356)
        at
org.apache.jasper.runtime.PageContextImpl.forward(PageContextImpl.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(JspServletWrapper.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.internalDoFilter(Application
FilterChain.java:247)
        at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
ain.java:193)
        at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.ja
va:260)
        at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(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.ja
va:191)
        at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(StandardPipeline.java:643)
        at
org.apache.catalina.valves.CertificatesValve.invoke(CertificatesValve.java:2
46)
        at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(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:2396)
        at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180
)
        at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(StandardPipeline.java:643)
        at
org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.
java:170)
        at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(StandardPipeline.java:641)
        at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172
)
        at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(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.invok
eNext(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:405)
        at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConne
ction(Http11Protocol.java:380)
        at
org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.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$OutputStreamOutputBuffer.doWri
te(InternalOutputBuffer.java:652)
        at
org.apache.coyote.http11.filters.ChunkedOutputFilter.doWrite(ChunkedOutputFi
lter.java:166)
        at
org.apache.coyote.http11.InternalOutputBuffer.doWrite(InternalOutputBuffer.j
ava:523)
        at org.apache.coyote.Response.doWrite(Response.java:513)
        at
org.apache.coyote.tomcat4.OutputBuffer.realWriteBytes(OutputBuffer.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(C2BConverter.java:
273)
        at
sun.nio.cs.StreamEncoder$CharsetSE.writeBytes(StreamEncoder.java:334)
        at
sun.nio.cs.StreamEncoder$CharsetSE.implFlushBuffer(StreamEncoder.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(C2BConverter.java:165)
        at
org.apache.coyote.tomcat4.OutputBuffer.realWriteChars(OutputBuffer.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(CoyoteResponse.java:554
)
        at
org.apache.coyote.tomcat4.CoyoteResponseFacade.flushBuffer(CoyoteResponseFac
ade.java:227)
        at
org.apache.jasper.runtime.JspWriterImpl.flush(JspWriterImpl.java:211)
        at
org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java:8
08)
        at
org.apache.jasper.runtime.PageContextImpl.include(PageContextImpl.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(JspServletWrapper.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(ApplicationDispatcher.
java:684)
        at
org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatch
er.java:432)
        at
org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher
.java:356)
        at
org.apache.jasper.runtime.PageContextImpl.forward(PageContextImpl.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(JspServletWrapper.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(ApplicationDispatcher.
java:684)
        at
org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatch
er.java:432)
        at
org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher
.java:356)
        at
org.apache.jasper.runtime.PageContextImpl.forward(PageContextImpl.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(JspServletWrapper.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.internalDoFilter(Application
FilterChain.java:247)
        at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
ain.java:193)
        at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.ja
va:260)
        at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(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.ja
va:191)
        at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(StandardPipeline.java:643)
        at
org.apache.catalina.valves.CertificatesValve.invoke(CertificatesValve.java:2
46)
        at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(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:2396)
        at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180
)
        at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(StandardPipeline.java:643)
        at
org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.
java:170)
        at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(StandardPipeline.java:641)
        at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172
)
        at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(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.invok
eNext(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:405)
        at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConne
ction(Http11Protocol.java:380)
        at
org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.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$OutputStreamOutputBuffer.doWri
te(InternalOutputBuffer.java:652)
        at
org.apache.coyote.http11.filters.ChunkedOutputFilter.doWrite(ChunkedOutputFi
lter.java:171)
        at
org.apache.coyote.http11.InternalOutputBuffer.doWrite(InternalOutputBuffer.j
ava:523)
        at org.apache.coyote.Response.doWrite(Response.java:513)
        at
org.apache.coyote.tomcat4.OutputBuffer.realWriteBytes(OutputBuffer.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(C2BConverter.java:
273)
        at
sun.nio.cs.StreamEncoder$CharsetSE.writeBytes(StreamEncoder.java:334)
        at
sun.nio.cs.StreamEncoder$CharsetSE.implFlushBuffer(StreamEncoder.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(C2BConverter.java:165)
        at
org.apache.coyote.tomcat4.OutputBuffer.realWriteChars(OutputBuffer.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(JspRuntimeLibrary.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:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to