https://bz.apache.org/bugzilla/show_bug.cgi?id=69479

            Bug ID: 69479
           Summary: The HTTP2 header data is confused in H2C, resulting in
                    parsing failure
           Product: Tomcat 9
           Version: 9.0.65
          Hardware: All
                OS: Linux
            Status: NEW
          Severity: critical
          Priority: P2
         Component: Connectors
          Assignee: dev@tomcat.apache.org
          Reporter: qingdaoh...@163.com
  Target Milestone: -----

We are using H2C mode. When it runs for some time, there are several exception
as below. Meanwhile, there is another thread which processed the request header
correctly. I guess that the constant table may go wrong. The problem doesn't
appear in the version 9.0.48.
An exception has been raised by
Name:tomcat-exec-55,ThreadId:128,Message:java.lang.NumberFormatException: For
input string: "application/json; charset=UTF-8"
   at
java.base/java.lang.NumberFormatException.forInputString(NumberFormatException.java:67)
   at java.base/java.lang.Long.parseLong(Long.java:711)
   at java.base/java.lang.Long.parseLong(Long.java:836)
   at org.apache.tomcat.util.buf.MessageBytes.getLong(MessageBytes.java:559)
   at org.apache.coyote.Request.getContentLengthLong(Request.java:450)
   at org.apache.coyote.http2.Stream.receivedData(Stream.java:564)
   at
org.apache.coyote.http2.Http2UpgradeHandler.startRequestBodyFrame(Http2UpgradeHandler.java:1557)
   at
org.apache.coyote.http2.Http2AsyncUpgradeHandler.startRequestBodyFrame(Http2AsyncUpgradeHandler.java:41)
   at org.apache.coyote.http2.Http2Parser.readDataFrame(Http2Parser.java:173)
   at
org.apache.coyote.http2.Http2AsyncParser$FrameCompletionHandler.completed(Http2AsyncParser.java:248)
   at
org.apache.coyote.http2.Http2AsyncParser$FrameCompletionHandler.completed(Http2AsyncParser.java:164)
   at
org.apache.tomcat.util.net.SocketWrapperBase$VectoredIOCompletionHandler.completed(SocketWrapperBase.java:1122)
   at
org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper$NioOperationState.run(NioEndpoint.java:1702)
   at
org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191)
   at
org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)
   at
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
   at java.base/java.lang.Thread.run(Thread.java:840)

-- 
You are receiving this mail because:
You are the assignee for the bug.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to