Problem with Socket closing

2002-12-12 Thread Greg Strobl
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

RE: Problem with Socket closing

2002-12-12 Thread Martin Algesten
I'm seeing something very similar on my system where we are running
Tomcat 3.3. We basically got a URL object connection to our own server,
and for some reason the URL class seems to do an unclean shutdown of the
socket which results in socket write errors on the server.

I don't understand why these errors gets reported to the logs, I would
assume that a web server must expect clients to behave badly and
disconnect without warning.

I've learned to live with it rather than trying to fix it, but then
again I'm on 3.3 you are on 4.1 and we might see different problems.

Martin



 -Original Message-
 From: Greg Strobl [mailto:[EMAIL PROTECTED]] 
 Sent: 12 December 2002 14:38
 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

RE: Problem with Socket closing

2002-12-12 Thread John Trollinger
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

RE: Problem with Socket closing

2002-12-12 Thread Greg Strobl
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