https://bz.apache.org/bugzilla/show_bug.cgi?id=64710
Bug ID: 64710
Summary: NullPointerException in
Http2UpgradeHandler.endRequestBodyFrame and
BufferOverflowException in SocketBufferHandler
Product: Tomcat 9
Version: 9.0.x
Hardware: HP
OS: Linux
Status: NEW
Severity: regression
Priority: P2
Component: Catalina
Assignee: [email protected]
Reporter: [email protected]
Target Milestone: -----
Sub-Component - Coyote
OS : Redhat Linux
Overview:
Tomcat implemented to transport http/2 packets between 2 systems (h2c
connection).
Steps to Reproduce:
With JMeter as simulation client, if we configure 200 threads (200 connections)
to connect towards Tomcat Server 9.0.x (built from latest source code) embedded
in our system and if we send 200 requests per second, we are getting the below
two exceptions in Tomcat logs.
1.)Exception in thread "http-nio-x.y.z.a-1234-exec-4"
java.lang.NullPointerException
at
org.apache.coyote.http2.Http2UpgradeHandler.endRequestBodyFrame(Http2UpgradeHandler.java:1416)
at
org.apache.coyote.http2.Http2AsyncUpgradeHandler.endRequestBodyFrame(Http2AsyncUpgradeHandler.java:39)
at
org.apache.coyote.http2.Http2Parser.readDataFrame(Http2Parser.java:207)
at
org.apache.coyote.http2.Http2AsyncParser$FrameCompletionHandler.completed(Http2AsyncParser.java:245)
at
org.apache.coyote.http2.Http2AsyncParser$FrameCompletionHandler.completed(Http2AsyncParser.java:163)
at
org.apache.tomcat.util.net.SocketWrapperBase$VectoredIOCompletionHandler.completed(SocketWrapperBase.java:1087)
at
org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper$NioOperationState.run(NioEndpoint.java:1511)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:748)
2.)Exception in thread "http-nio-x.y.z.a-1234-exec-13"
java.nio.BufferOverflowException
at java.nio.HeapByteBuffer.put(HeapByteBuffer.java:206)
at
org.apache.tomcat.util.net.SocketBufferHandler.unReadReadBuffer(SocketBufferHandler.java:100)
at
org.apache.tomcat.util.net.SocketWrapperBase.unRead(SocketWrapperBase.java:401)
at
org.apache.coyote.http2.Http2AsyncParser$FrameCompletionHandler.completed(Http2AsyncParser.java:306)
at
org.apache.coyote.http2.Http2AsyncParser$FrameCompletionHandler.completed(Http2AsyncParser.java:163)
at
org.apache.tomcat.util.net.SocketWrapperBase$VectoredIOCompletionHandler.completed(SocketWrapperBase.java:1087)
at
org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper$NioOperationState.run(NioEndpoint.java:1511)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:748)
Build:
The latest jars were built and embedded in our system from the Tomcat 9.0.x
branch source .
Resolution/Clarification requested:
Can you please explain the root cause for this exception and fix the issue .
Thanks in advance.
--
You are receiving this mail because:
You are the assignee for the bug.
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]