Bug 38078 - java.lang.RuntimeException: Read of HTTP Request POST parameters failed: Read timed out
Summary: java.lang.RuntimeException: Read of HTTP Request POST parameters failed: Read...
Status: RESOLVED INVALID
Alias: None
Product: Tomcat 4
Classification: Unclassified
Component: Catalina (show other bugs)
Version: 4.1.24
Hardware: Other Linux
: P2 major (vote)
Target Milestone: ---
Assignee: Tomcat Developers Mailing List
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-12-30 06:03 UTC by Subramanyam
Modified: 2006-01-02 05:51 UTC (History)
0 users



Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Subramanyam 2005-12-30 06:03:28 UTC
I am using Jboss application server with embedded tomcat web server(Apache 
Tomcat/4.1.24-LE-jdk14) in our application. I am getting below mentioned 
exception very often. Please let me know why does this exception happen and the 
cause for it. Also please advice what can be the possible solution for this 
error. Please find the exception stack trace below: 
java.lang.RuntimeException: Read of HTTP Request POST parameters failed: Read 
timed out 
at org.apache.catalina.connector.HttpRequestBase.parseParameters
(HttpRequestBase.java:692) 
at org.apache.catalina.connector.HttpRequestBase.getParameterNames
(HttpRequestBase.java:750) 
at org.apache.catalina.connector.RequestFacade.getParameterNames
(RequestFacade.java:176) 
at org.apache.struts.util.RequestUtils.populate(RequestUtils.java:1161) 
at org.apache.struts.action.RequestProcessor.processPopulate
(RequestProcessor.java:821) 
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:254) 
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1480) 
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:524) 
at javax.servlet.http.HttpServlet.service(HttpServlet.java:760) 
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) 
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter
(ApplicationFilterChain.java:247) 
at org.apache.catalina.core.ApplicationFilterChain.doFilter
(ApplicationFilterChain.java:193) 
at org.apache.catalina.core.StandardWrapperValve.invoke
(StandardWrapperValve.java:256) 
at 
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNex
t(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.java:191) 
at 
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNex
t(StandardPipeline.java:643) 
at org.apache.catalina.valves.CertificatesValve.invoke
(CertificatesValve.java:246) 
at 
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNex
t(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:2415) 
at org.apache.catalina.core.StandardHostValve.invoke
(StandardHostValve.java:180) 
at 
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNex
t(StandardPipeline.java:643) 
at org.apache.catalina.valves.ErrorDispatcherValve.invoke
(ErrorDispatcherValve.java:171) 
at 
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNex
t(StandardPipeline.java:641) 
at org.apache.catalina.valves.ErrorReportValve.invoke
(ErrorReportValve.java:172) 
at 
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNex
t(StandardPipeline.java:641) 
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:509) 
at 
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNex
t(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.invokeNex
t(StandardPipeline.java:643) 
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480) 
at org.apache.catalina.connector.http.HttpProcessor.run
(HttpProcessor.java:1151) 
at java.lang.Thread.run(Thread.java:534) 
2005-11-21 15:16:27,258 [HttpProcessor[443][485]] DEBUG 
org.apache.struts.util.RequestUtils - Get module name for 
path /knFetchMemberNames.do 
2005-11-21 15:16:27,259 [HttpProcessor[443][485]] DEBUG 
org.apache.struts.util.RequestUtils - Module name found: default 
2005-11-21 15:16:27,259 [HttpProcessor[443][485]] DEBUG 
org.apache.struts.action.RequestProcessor - Processing a 'POST' for 
path '/knFetchMemberNames' 
2005-11-21 15:16:27,259 [HttpProcessor[443][485]] DEBUG 
org.apache.struts.util.RequestUtils - Looking for ActionForm bean instance in 
scope 'session' under attribute key 'KnGroupForm'
Comment 1 Mark Thomas 2005-12-30 14:32:45 UTC
Tomcat waits until the client has provided the number of bytes it said it would
in the content length header. If the client doesn't provide all the data it
promised, you will see this exception when Tomcat times out waiting for the data.

This is a client/application problem not a Tomcat problem.
Comment 2 Subramanyam 2006-01-02 05:42:44 UTC
Thanks for the update.
I wanted information on couple of things.
1. Cau you please tell what debug logs should we look for to see what was sent 
as a part of the header(i.e the number of bytes that the client promised to 
send in the content length header)
2. How many bytes did the client actually send
3. How long does the tomcat wait for the data, is it anything related to the 
connectionTimeout parameter value)
Comment 3 Mark Thomas 2006-01-02 14:51:38 UTC
Bugzilla isn't a support forum. Please use the users@tomcat.apache.org list for
questions like this.