Hah!  Back many months ago the problem you are reporting would cause
an infinite loop in the Processor.  So I fixed the infinite loop bug
and added code to report when these POST problems occur.  I don't know
what the source of the problem is, perhaps the remote client is aborting
the connection before the POST completes?  If you find out the source of
the problem please let me know!

Regards,

Glenn

Rossen Raykov wrote:
> I have Tomcat 4.0.4/Struts 1.0.2 with Apache 1.3.26 connected by
> mod_jk/1.2.0, ajp13 protocol, running on Sparc Solaris 8.
> The problem that I have is that from time to time there are 500 errors in my
> Apache log.
> The corresponding error on Tomcat side is:
> 
> java.lang.RuntimeException: Read of HTTP Request POST parameters failed:
> read < content length
> 
> A complete trace is included in the bottom of the e-mail.
> This only happens during POST request.
> According to the log it happened with many different browsers including MSIE
> 5 and 6 and different Netscape flavors, that's why I believe this is not a
> browser related issue.
> The logged posted data size is either 4276 or 1024 bytes and the reported
> time processing varies from 1 to more than 7000 seconds!
> 
> I saw some similar postages but without any useful answers or comments.
> 
> Is that a known/common bug and is there any solution for it?
> 
> Regards,
> Rossen
> 
> ----------- COMPLETE ERROR TRACE -------------
> java.lang.RuntimeException: Read of HTTP Request POST parameters failed:
> read < content length
>         at
> org.apache.catalina.connector.HttpRequestBase.parseParameters(HttpRequestBas
> e.java:658)
>         at
> org.apache.catalina.connector.HttpRequestBase.getParameterNames(HttpRequestB
> ase.java:723)
>         at
> org.apache.catalina.connector.RequestFacade.getParameterNames(RequestFacade.
> java:165)
>         at
> org.apache.struts.util.RequestUtils.populate(RequestUtils.java:743)
>         at
> org.apache.struts.action.ActionServlet.processPopulate(ActionServlet.java:20
> 61)
>         at
> org.apache.struts.action.ActionServlet.process(ActionServlet.java:1564)
>         at
> org.apache.struts.action.SecureActionServlet.process(D:/CvsProjects/StrutsEx
> tTry/src/org/apache/struts/action/SecureActionServlet.java:97)
>         at
> org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:510)
>         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(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:243)
>         at
> org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:5
> 66)
>         at
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
>         at
> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
>         at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.ja
> va:190)
>         at
> org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:5
> 66)
>         at
> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase
> .java:475)
>         at
> org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:5
> 64)
>         at
> org.apache.catalina.valves.CertificatesValve.invoke(CertificatesValve.java:2
> 46)
>         at
> org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:5
> 64)
>         at
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
>         at
> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
>         at
> org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2347)
>         at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180
> )
>         at
> org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:5
> 66)
>         at
> org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.
> java:170)
>         at
> org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:5
> 64)
>         at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:170
> )
>         at
> org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:5
> 64)
>         at
> org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:468)
>         at
> org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:5
> 64)
>         at
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
>         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.java:5
> 66)
>         at
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
>         at
> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
>         at
> org.apache.ajp.tomcat4.Ajp13Processor.process(Ajp13Processor.java:458)
>         at
> org.apache.ajp.tomcat4.Ajp13Processor.run(Ajp13Processor.java:551)
>         at java.lang.Thread.run(Thread.java:536)
> 
> ---
> Rossen Raykov
> COGNICASE U.S.A. Inc.
> (908) 860-1100 Ext. 1140
> [EMAIL PROTECTED]
> 
> --
> To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>




--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to