Thread: socket write error
Status: Inactive
Brought to you by:
fgnass
|
From: Mike A. <Mik...@ga...> - 2004-08-31 20:15:43
|
Hi,
=20
I am using ActionCache and am getting the following error when it pulls
from the cache. When the page is initially built, no errors are
generated. On the subsequent request, the page renders properly from the
cache, but this error is displayed in the log. Do you have any idea as
to what may cause this? Thanks.
=20
Mike
=20
StandardWrapperValve[default]: Servlet.service() for servlet default
threw exception
StandardWrapperValve[default]: Servlet.service() for servlet default
threw exception
java.net.SocketException: Software caused connection abort: socket write
error
java.net.SocketException: Software caused connection abort: socket write
error
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.catalina.connector.ResponseBase.flushBuffer(ResponseBase.java
:674)
at
org.apache.catalina.connector.HttpResponseBase.flushBuffer(HttpResponseB
ase.java:764)
at
org.apache.catalina.connector.ResponseBase.write(ResponseBase.java:647)
at
org.apache.catalina.connector.ResponseStream.write(ResponseStream.java:3
12)
at
org.apache.catalina.connector.http.HttpResponseStream.write(HttpResponse
Stream.java:189)
at
org.apache.catalina.servlets.DefaultServlet.copyRange(DefaultServlet.jav
a:1921)
at
org.apache.catalina.servlets.DefaultServlet.copy(DefaultServlet.java:167
0)
at
org.apache.catalina.servlets.DefaultServlet.serveResource(DefaultServlet
.java:1215)
at
org.apache.catalina.servlets.DefaultServlet.doGet(DefaultServlet.java:52
5)
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(Applica
tionFilterChain.java:247)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilt
erChain.java:193)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValv
e.java:243)
at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.ja
va:566)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:4
72)
at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValv
e.java:190)
at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.ja
va:566)
at
org.apache.catalina.valves.CertificatesValve.invoke(CertificatesValve.ja
va:246)
at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.ja
va:564)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:4
72)
at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at
org.apache.catalina.core.StandardContext.invoke(StandardContext.java:234
7)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java
:180)
at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.ja
va:566)
at
org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherVa
lve.java:170)
at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.ja
va:564)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java
:170)
at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.ja
va:564)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:4
72)
at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.
java:174)
at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.ja
va:566)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:4
72)
at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at
org.apache.catalina.connector.http.HttpProcessor.process(HttpProcessor.j
ava:1027)
at
org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java:
1125)
at java.lang.Thread.run(Thread.java:534)
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.catalina.connector.ResponseBase.flushBuffer(ResponseBase.java
:674)
at
org.apache.catalina.connector.HttpResponseBase.flushBuffer(HttpResponseB
ase.java:764)
at
org.apache.catalina.connector.ResponseBase.write(ResponseBase.java:647)
at
org.apache.catalina.connector.ResponseStream.write(ResponseStream.java:3
12)
at
org.apache.catalina.connector.http.HttpResponseStream.write(HttpResponse
Stream.java:189)
at
org.apache.catalina.servlets.DefaultServlet.copyRange(DefaultServlet.jav
a:1921)
at
org.apache.catalina.servlets.DefaultServlet.copy(DefaultServlet.java:167
0)
at
org.apache.catalina.servlets.DefaultServlet.serveResource(DefaultServlet
.java:1215)
at
org.apache.catalina.servlets.DefaultServlet.doGet(DefaultServlet.java:52
5)
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(Applica
tionFilterChain.java:247)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilt
erChain.java:193)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValv
e.java:243)
at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.ja
va:566)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:4
72)
at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValv
e.java:190)
at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.ja
va:566)
at
org.apache.catalina.valves.CertificatesValve.invoke(CertificatesValve.ja
va:246)
at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.ja
va:564)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:4
72)
at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at
org.apache.catalina.core.StandardContext.invoke(StandardContext.java:234
7)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java
:180)
at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.ja
va:566)
at
org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherVa
lve.java:170)
at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.ja
va:564)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java
:170)
at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.ja
va:564)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:4
72)
at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.
java:174)
at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.ja
va:566)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:4
72)
at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at
org.apache.catalina.connector.http.HttpProcessor.process(HttpProcessor.j
ava:1027)
at
org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java:
1125)
at java.lang.Thread.run(Thread.java:534)
|
|
From: Felix G. <fel...@ne...> - 2004-08-31 21:09:31
|
Hello Mike,
according to your stacktrace the exception is thrown by the Tomcat
DefaultServlet which is responsible for delivering static content like
images, stylesheets etc. Probably your page contains references to such
resources which would explain why the exception is thrown when you
reload your page.
A socket write error usually occurs, when a client (the browser) closes
the socket before all data has been sent by the server. Googeling for
DefaultServlet and copyRange or SocketException brings up quite a lot of
similar stacktraces. Since the problem is not caused by actioncache I'd
recommend to upgrade to the latest Tomcat version or to use another
Connector implementation.
To trace which resource exactly causes the exception you could map a
Servlet-Filter to /* with the following doFilter() method body:
try {
filterChain.doFilter(request, response);
}
catch (Exception e) {
String url = ((HttpServletRequest) request).getRequestURL().toString();
System.out.println("An error occured while processing " + url);
e.printStackTrace();
}
Hope this helps,
Felix
|