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: dev@tomcat.apache.org
          Reporter: arshiya.shar...@ericsson.com
  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: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to