Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Tomcat: Exception thrown whilst processing POSTed parameters

323 views
Skip to first unread message

govus

unread,
Jul 25, 2007, 4:29:31 PM7/25/07
to
Hi folks,
I'm having a heck of a time trying to figure this out. I'm getting
the following exception frequently in my Tomcat logs. The exception
always seems to be thrown when I'm processing an AJAX request.

Could I be forgetting to do something on the client side? Is this a
problem with Tomcat? Could it be a problem with my code (unlikely as
that is... :-\ )? Any hints would be appreciated! Thanks!

Jeff

Windows Server 2003
Apache Tomcat 5.5.23
JRE 1.5, Update 12

=========================
WARNING: Exception thrown whilst processing POSTed parameters
java.io.IOException: Exception filling buffer with data from
underlying input stream: not an EAGAIN status, so perhaps disconnected
client?
at
org.apache.coyote.http11.InternalAprInputBuffer.fill(InternalAprInputBuffer.java:
825)
at org.apache.coyote.http11.InternalAprInputBuffer
$SocketInputBuffer.doRead(InternalAprInputBuffer.java:853)
at
org.apache.coyote.http11.filters.IdentityInputFilter.doRead(IdentityInputFilter.java:
116)
at
org.apache.coyote.http11.InternalAprInputBuffer.doRead(InternalAprInputBuffer.java:
772)
at org.apache.coyote.Request.doRead(Request.java:419)
at
org.apache.catalina.connector.InputBuffer.realReadBytes(InputBuffer.java:
265)
at org.apache.tomcat.util.buf.ByteChunk.substract(ByteChunk.java:403)
at org.apache.catalina.connector.InputBuffer.read(InputBuffer.java:
280)
at
org.apache.catalina.connector.CoyoteInputStream.read(CoyoteInputStream.java:
193)
at org.apache.catalina.connector.Request.readPostBody(Request.java:
2400)
at org.apache.catalina.connector.Request.parseParameters(Request.java:
2379)
at org.apache.catalina.connector.Request.getParameter(Request.java:
1005)
at
org.apache.catalina.connector.RequestFacade.getParameter(RequestFacade.java:
353)
...
=========================

Manish Pandit

unread,
Jul 26, 2007, 12:42:46 PM7/26/07
to
On Jul 25, 1:29 pm, govus <jeffbe...@comcast.net> wrote:
> Hi folks,
> I'm having a heck of a time trying to figure this out. I'm getting
> the following exception frequently in my Tomcat logs. The exception
> always seems to be thrown when I'm processing an AJAX request.
>
> Could I be forgetting to do something on the client side? Is this a
> problem with Tomcat? Could it be a problem with my code (unlikely as
> that is... :-\ )? Any hints would be appreciated! Thanks!
>
> Jeff
>
> Windows Server 2003
> Apache Tomcat 5.5.23
> JRE 1.5, Update 12
>
> =========================
> WARNING: Exception thrown whilst processing POSTed parameters
> java.io.IOException: Exception filling buffer with data from
> underlying input stream: not an EAGAIN status, so perhaps disconnected
> client?
> at
> org.apache.coyote.http11.InternalAprInputBuffer.fill(InternalAprInputBuffer­.java:

> 825)
> at org.apache.coyote.http11.InternalAprInputBuffer
> $SocketInputBuffer.doRead(InternalAprInputBuffer.java:853)
> at
> org.apache.coyote.http11.filters.IdentityInputFilter.doRead(IdentityInputFi­lter.java:
> 116)
> at
> org.apache.coyote.http11.InternalAprInputBuffer.doRead(InternalAprInputBuff­er.java:

> 772)
> at org.apache.coyote.Request.doRead(Request.java:419)
> at
> org.apache.catalina.connector.InputBuffer.realReadBytes(InputBuffer.java:
> 265)
> at org.apache.tomcat.util.buf.ByteChunk.substract(ByteChunk.java:403)
> at org.apache.catalina.connector.InputBuffer.read(InputBuffer.java:
> 280)
> at
> org.apache.catalina.connector.CoyoteInputStream.read(CoyoteInputStream.java­:
> 193)
> at org.apache.catalina.connector.Request.readPostBody(Request.java:
> 2400)
> at org.apache.catalina.connector.Request.parseParameters(Request.java:
> 2379)
> at org.apache.catalina.connector.Request.getParameter(Request.java:
> 1005)
> at
> org.apache.catalina.connector.RequestFacade.getParameter(RequestFacade.java­:
> 353)
> ...
> =========================

It is a disconnect - something fails between the browser->apache-
>tomcat. The class throwing exception is basically an inputstream
wrapper in tomcat to parse HTTP requests. Are you using something like
Scriptaculous or any standard Ajax framework for the communication, or
have you written something of your own? If latter, you might want to
try using Scriptaculous/Prototype and see if the error goes away.

-cheers,
Manish

govus

unread,
Jul 27, 2007, 10:57:37 AM7/27/07
to
Hi Manish,
Thanks for your response. After much additional searching, I've
discovered that this is a bug with Tomcat 5.5.23. (http://
issues.apache.org/bugzilla/show_bug.cgi?id=40960). I upgraded to
Tomcat 6.0.13 and that solved the problem. Hope that helps someone.

Jeff

alex...@gmail.com

unread,
Jul 31, 2007, 3:57:25 AM7/31/07
to
Hi Jeff,

Thanks for the response. I have a webapp which throws a similar
exception which is pasted below. I am using Tomcat 5.5.23.

WARNING: Exception thrown whilst processing POSTed parameters

java.io.IOException: Socket read failed
at org.apache.coyote.ajp.AjpAprProcessor.read(AjpAprProcessor.java:
1035)
at
org.apache.coyote.ajp.AjpAprProcessor.readMessage(AjpAprProcessor.java:
1156)
at org.apache.coyote.ajp.AjpAprProcessor.receive(AjpAprProcessor.java:
1088)
at org.apache.coyote.ajp.AjpAprProcessor
$SocketInputBuffer.doRead(AjpAprProcessor.java:1226)


at org.apache.coyote.Request.doRead(Request.java:419)
at
org.apache.catalina.connector.InputBuffer.realReadBytes(InputBuffer.java:
265)
at org.apache.tomcat.util.buf.ByteChunk.substract(ByteChunk.java:403)
at org.apache.catalina.connector.InputBuffer.read(InputBuffer.java:
280)
at
org.apache.catalina.connector.CoyoteInputStream.read(CoyoteInputStream.java:
193)
at org.apache.catalina.connector.Request.readPostBody(Request.java:
2400)
at org.apache.catalina.connector.Request.parseParameters(Request.java:
2379)
at org.apache.catalina.connector.Request.getParameter(Request.java:
1005)
at
org.apache.catalina.connector.RequestFacade.getParameter(RequestFacade.java:
353)

at
com.ea.zoho.server.action.forms.TemplateMgr.execute(TemplateMgr.java:
28)
at
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:
484)
at
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:
274)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:
1482)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:
525)
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:
269)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:
188)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:
210)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:
174)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:
127)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:
117)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:
108)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:
151)
at org.apache.coyote.ajp.AjpAprProcessor.process(AjpAprProcessor.java:
444)
at org.apache.coyote.ajp.AjpAprProtocol
$AjpConnectionHandler.process(AjpAprProtocol.java:472)
at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:
1286)
at java.lang.Thread.run(Thread.java:619)

When exactly is this "socket read failed" thrown ? I have even tried
changing the maxPostSize to a maximum value, but in vain.
This exception seems to be thrown for each of the post request.

Please help me with some pointers to overcome this issue.

Thanks,
Alex

govus

unread,
Aug 8, 2007, 4:56:09 PM8/8/07
to
Hi Alex,
Sorry it took me so long to get back to you. As best as I can figure
(and I'm no expert), the exception occurs when APR is parsing the
POSTed parameters. Did you install the Tomcat native library (\bin
\tcnative-1.dll)? I think not using the native library will solve the
problem. Something in there (I think) is causing the parse of the
POSTed parameters to fail. I'm not sure if you have to reinstall
Tomcat to get rid of the DLL or if you can just remove the file.

I have two servers, one running with the native library and one
without it. The one with the native library still has this exception
thrown (even after upgrading to Tomcat 6). I have not observed this
issue with the server running without the native library. That's my
best guess.

Jeff
P.S. - I just assumed you were using Windows. I don't think the
Tomcat native library is supplied for any other OS. If you're not
using Windows, then you can probably ignore everything I just said.

0 new messages