Socket read failed

922 views
Skip to first unread message

bradclif

unread,
Jul 8, 2008, 10:44:47 AM7/8/08
to Google Web Toolkit
We recently upgraded to Tomcat 6.0.16 and Apache 2.2.8. We started
receiving intermittent exceptions that we hadn't seen under Tomcat 5.0
and Apache 2.0. They usually occur when we are receiving moderate to
heavy traffic, but we have never seen two thrown the same day closer
than 15 minutes apart. I wish I could say they always occur when we
are experiencing our heaviest loads, but this is not the case. I've
checked the access logs and compared them to the error logs. The
times don't match.

The message I receive is "Exception while dispatching incoming RPC
call java.io.IOException: Socket read failed." I found one thread
which mentions "socket read failed" in context with Tomcat native code
and AJAX, http://www.velocityreviews.com/forums/t524769-tomcat-exception-thrown-whilst-processing-posted-parameters.html.
I don't know if they were using GWT, but we are. There are two
possible solutions to the problem in that thread. One is to remove
the Tomcat native code, the other is to upgrade to Tomcat 6.0.13. The
thread mentions a bug report, http://issues.apache.org/bugzilla/show_bug.cgi?id=40960.
The bug appears to be associated with request timeouts. Our exception
does not appear to be a timeout issue.

I would like to keep the Tomcat native code if at all possible since
it is supposedly more efficient. I can't "upgrade" to 6.0.13 since
I'm already at 6.0.16, and I would hate to downgrade if I don't need
to. Has anyone run into this problem? Does anyone know what would
cause this exception to be thrown? Does anyone have any suggestions?

We are currently using GWT version 1.4.62 on Windows Server 2003.

Here is a copy of the stack trace I'm seeing in the logs:

2008-07-07 16:57:23,212 ERROR org.apache.catalina.core.ContainerBase.
[Catalina].[localhost].[/etime] - Exception while dispatching incoming
RPC call
java.io.IOException: Socket read failed
at org.apache.coyote.ajp.AjpAprProcessor.read(AjpAprProcessor.java:
1019)
at
org.apache.coyote.ajp.AjpAprProcessor.readMessage(AjpAprProcessor.java:
1141)
at org.apache.coyote.ajp.AjpAprProcessor.receive(AjpAprProcessor.java:
1073)
at org.apache.coyote.ajp.AjpAprProcessor
$SocketInputBuffer.doRead(AjpAprProcessor.java:1211)
at org.apache.coyote.Request.doRead(Request.java:428)
at
org.apache.catalina.connector.InputBuffer.realReadBytes(InputBuffer.java:
298)
at org.apache.tomcat.util.buf.ByteChunk.substract(ByteChunk.java:405)
at org.apache.catalina.connector.InputBuffer.read(InputBuffer.java:
313)
at
org.apache.catalina.connector.CoyoteInputStream.read(CoyoteInputStream.java:
193)
at
com.google.gwt.user.server.rpc.RemoteServiceServlet.readPayloadAsUtf8(RemoteServiceServlet.java:
129)
at
com.google.gwt.user.server.rpc.RemoteServiceServlet.doPost(RemoteServiceServlet.java:
178)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:
290)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:
206)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:
233)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:
175)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:
128)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:
102)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:
109)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:
286)
at org.apache.coyote.ajp.AjpAprProcessor.process(AjpAprProcessor.java:
419)
at org.apache.coyote.ajp.AjpAprProtocol
$AjpConnectionHandler.process(AjpAprProtocol.java:378)
at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:
1509)
at java.lang.Thread.run(Unknown Source)

walden

unread,
Jul 9, 2008, 7:54:58 AM7/9/08
to Google Web Toolkit
This is thoroughly off-topic here. But, are you using Tomcat behind
an Apache HTTPD server? If not, comment the ajp connector out of your
server.xml and see if that helps.

Walden

On Jul 8, 10:44 am, bradclif <radcliff...@doj.state.wi.us> wrote:
> We recently upgraded to Tomcat 6.0.16 and Apache 2.2.8.  We started
> receiving intermittent exceptions that we hadn't seen under Tomcat 5.0
> and Apache 2.0.  They usually occur when we are receiving moderate to
> heavy traffic, but we have never seen two thrown the same day closer
> than 15 minutes apart.  I wish I could say they always occur when we
> are experiencing our heaviest loads, but this is not the case.  I've
> checked the access logs and compared them to the error logs.  The
> times don't match.
>
> The message I receive is "Exception while dispatching incoming RPC
> call  java.io.IOException: Socket read failed."  I found one thread
> which mentions "socket read failed" in context with Tomcat native code
> and AJAX,http://www.velocityreviews.com/forums/t524769-tomcat-exception-thrown....
> I don't know if they were using GWT, but we are.  There are two
> possible solutions to the problem in that thread.  One is to remove
> the Tomcat native code, the other is to upgrade to Tomcat 6.0.13.  The
> thread mentions a bug report,http://issues.apache.org/bugzilla/show_bug.cgi?id=40960.
> com.google.gwt.user.server.rpc.RemoteServiceServlet.readPayloadAsUtf8(Remot­eServiceServlet.java:
> 129)
>         at
> com.google.gwt.user.server.rpc.RemoteServiceServlet.doPost(RemoteServiceSer­vlet.java:
> 178)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
>         at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applicatio­nFilterChain.java:
> 290)
>         at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterC­hain.java:
> 206)
>         at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.j­ava:
> 233)
>         at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.j­ava:
> 175)
>         at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:
> 128)
>         at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:
> 102)
>         at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.jav­a:
Reply all
Reply to author
Forward
0 new messages