AnsweredAssumed Answered

Invalid Chunk Header error in Gateway

Question asked by prem.arumugam on Mar 13, 2019
Latest reply on Mar 14, 2019 by Stephen_Hughes

Hi All,

 

External client is sending a payload size of 20-30MB in binary format. But gateway is taking long time to process it and sometime we see error as below

 

WARNING 717 com.l7tech.server.policy.variable.ServerVariables: Unsupported variable: size (Invalid chunk header)
com.l7tech.util.CausedIOException: Invalid chunk header
at com.l7tech.common.mime.MimeBody.h(Unknown Source)
at com.l7tech.common.mime.MimeBody.getEntireMessageBodyLength(Unknown Source)
at com.l7tech.message.j.getContentLength(Unknown Source)
at com.l7tech.server.policy.variable.eh.select(Unknown Source)
at com.l7tech.server.policy.variable.MessageSelector.select(Unknown Source)
at com.l7tech.server.policy.variable.MessageSelector.select(Unknown Source)
at com.l7tech.server.policy.variable.ExpandVariables.a(Unknown Source)
at com.l7tech.server.policy.variable.ExpandVariables.a(Unknown Source)
at com.l7tech.server.policy.variable.ExpandVariables.processSingleVariableAsObject(Unknown Source)
at com.l7tech.server.policy.variable.ExpandVariables.processSingleVariableAsObject(Unknown Source)
at com.l7tech.server.policy.variable.dw.get(Unknown Source)
at com.l7tech.server.policy.variable.fs.a(Unknown Source)
at com.l7tech.server.policy.variable.ServerVariables.get(Unknown Source)
at com.l7tech.server.message.b.getBuiltinVariable(Unknown Source)
at com.l7tech.server.message.b.a(Unknown Source)
at com.l7tech.server.message.b.getVariableMap(Unknown Source)
at com.l7tech.server.log.TrafficLogger.log(Unknown Source)
at com.l7tech.server.MessageProcessor.a(Unknown Source)
at com.l7tech.server.MessageProcessor.processMessageNoAudit(Unknown Source)
at com.l7tech.server.SoapMessageProcessingServlet.serviceNoAudit(Unknown Source)
at com.l7tech.server.SoapMessageProcessingServlet.access$000(Unknown Source)
at com.l7tech.server.a1.call(Unknown Source)
at com.l7tech.server.audit.AuditContextFactory.doWithNewAuditContext(Unknown Source)
at com.l7tech.server.SoapMessageProcessingServlet.service(Unknown Source)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:770)
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.ApplicationDispatcher.invoke(ApplicationDispatcher.java:646)
at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:436)
at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:342)
at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:302)
at com.l7tech.server.transport.http.HttpNamespaceFilter.doFilter(Unknown Source)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.l7tech.server.WsdlFilter.doFilter(Unknown Source)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.l7tech.server.transport.http.ConnectionIdFilter.doFilter(Unknown Source)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.l7tech.server.transport.http.InputTimeoutFilter.doFilter(Unknown Source)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.l7tech.server.log.HybridDiagnosticContextServletFilter.doFilter(Unknown Source)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:234)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:181)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
at com.l7tech.server.tomcat.ResponseKillerValve.invoke(Unknown Source)
at com.l7tech.server.tomcat.ConnectionIdValve.invoke(Unknown Source)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:295)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:610)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:410)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.io.IOException: Invalid chunk header
at org.apache.coyote.http11.filters.ChunkedInputFilter.throwIOException(ChunkedInputFilter.java:591)
at org.apache.coyote.http11.filters.ChunkedInputFilter.doRead(ChunkedInputFilter.java:165)
at org.apache.coyote.http11.InternalInputBuffer.doRead(InternalInputBuffer.java:706)
at org.apache.coyote.Request.doRead(Request.java:427)
at org.apache.catalina.connector.InputBuffer.realReadBytes(InputBuffer.java:305)
at org.apache.tomcat.util.buf.ByteChunk.substract(ByteChunk.java:419)
at org.apache.catalina.connector.InputBuffer.read(InputBuffer.java:328)
at org.apache.catalina.connector.CoyoteInputStream.read(CoyoteInputStream.java:193)
at com.l7tech.server.transport.http.TimeoutInputStream.read(Unknown Source)
at java.io.FilterInputStream.read(FilterInputStream.java:133)
at java.io.PushbackInputStream.read(PushbackInputStream.java:186)
at com.l7tech.common.io.ByteLimitInputStream.read(Unknown Source)
at com.l7tech.common.mime.a.read(Unknown Source)
at java.io.SequenceInputStream.read(SequenceInputStream.java:207)
at java.io.InputStream.read(InputStream.java:101)
at com.l7tech.util.IOUtils.copyStream(Unknown Source)
at com.l7tech.util.IOUtils.copyStream(Unknown Source)
at com.l7tech.common.mime.FileStashManager.stash(Unknown Source)
at com.l7tech.common.mime.HybridStashManager.stash(Unknown Source)
at com.l7tech.common.mime.i.a(Unknown Source)
at com.l7tech.common.mime.MimeBody.e(Unknown Source)
at com.l7tech.common.mime.MimeBody.b(Unknown Source)
at com.l7tech.common.mime.MimeBody.access$800(Unknown Source)
at com.l7tech.common.mime.f.hasNext(Unknown Source)
at com.l7tech.server.policy.variable.eq.select(Unknown Source)
at com.l7tech.server.policy.variable.MessageSelector.select(Unknown Source)
at com.l7tech.server.policy.variable.MessageSelector.select(Unknown Source)
at com.l7tech.server.policy.variable.ExpandVariables.a(Unknown Source)
at com.l7tech.server.policy.variable.ExpandVariables.a(Unknown Source)
at com.l7tech.server.policy.variable.ExpandVariables.processSingleVariableAsObject(Unknown Source)
at com.l7tech.server.policy.variable.ExpandVariables.processSingleVariableAsObject(Unknown Source)
at com.l7tech.server.policy.variable.dw.get(Unknown Source)
at com.l7tech.server.policy.variable.fs.a(Unknown Source)
at com.l7tech.server.policy.variable.ServerVariables.get(Unknown Source)
at com.l7tech.server.message.b.getBuiltinVariable(Unknown Source)
at com.l7tech.server.message.b.a(Unknown Source)
at com.l7tech.server.message.b.getVariableMap(Unknown Source)
at com.l7tech.server.policy.assertion.ServerAuditDetailAssertion.checkRequest(Unknown Source)
at com.l7tech.server.policy.assertion.composite.ServerCompositeAssertion.iterateChildren(Unknown Source)
at com.l7tech.server.policy.assertion.composite.ServerAllAssertion.checkRequest(Unknown Source)
at com.l7tech.server.policy.ServerPolicy.checkRequest(Unknown Source)
at com.l7tech.server.policy.w.call(Unknown Source)
at com.l7tech.server.policy.w.call(Unknown Source)
at com.l7tech.common.log.HybridDiagnosticContext.doInContext(Unknown Source)
at com.l7tech.server.policy.ServerPolicyHandle.checkRequest(Unknown Source)
at com.l7tech.server.ao.b(Unknown Source)
at com.l7tech.server.ao.a(Unknown Source)
at com.l7tech.server.ao.access$700(Unknown Source)
... 43 more
2019-03-13T08:14:59.602-0500 SEVERE 717 com.l7tech.server.SoapMessageProcessingServlet: RaiseErrorAssertion is stopping execution.

 

Could you please let me know how to resolve this issue.

 

Thanks!

Outcomes