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

            Bug ID: 63690
           Summary: [HTTP/2] The socket [*] associated with this
                    connection has been closed.
           Product: Tomcat 9
           Version: 9.0.x
          Hardware: PC
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: P2
         Component: Connectors
          Assignee: dev@tomcat.apache.org
          Reporter: boris_pet...@live.com
  Target Milestone: -----

Tomcat is version 9.0.24, APR 1.7.0, Tomcat Native 1.2.23.

When using HTTP/2, doing a multipart post request from any browser causes this
exception 99% of the cases:

~~~
javax.ws.rs.ProcessingException: Failed to buffer the message content input
stream.
        at
org.glassfish.jersey.message.internal.InboundMessageContext.bufferEntity(InboundMessageContext.java:907)
        at user-code(SourceFile:58)
        ...
Caused by: org.apache.catalina.connector.ClientAbortException:
java.io.IOException: The socket [140,613,069,382,992] associated with this
connection has been closed.
        at
org.apache.catalina.connector.InputBuffer.realReadBytes(InputBuffer.java:340)
        at
org.apache.catalina.connector.InputBuffer.checkByteBufferEof(InputBuffer.java:632)
        at org.apache.catalina.connector.InputBuffer.read(InputBuffer.java:362)
        at
org.apache.catalina.connector.CoyoteInputStream.read(CoyoteInputStream.java:132)
        at
org.apache.catalina.connector.CoyoteInputStream.read(CoyoteInputStream.java:110)
        at
org.glassfish.jersey.message.internal.ReaderWriter.writeTo(ReaderWriter.java:92)
        at
org.glassfish.jersey.message.internal.InboundMessageContext.bufferEntity(InboundMessageContext.java:894)
        ... 52 common frames omitted
Caused by: java.io.IOException: The socket [140,613,069,382,992] associated
with this connection has been closed.
        at
org.apache.tomcat.util.net.AprEndpoint$AprSocketWrapper.doWrite(AprEndpoint.java:2315)
        at
org.apache.tomcat.util.net.SocketWrapperBase.doWrite(SocketWrapperBase.java:793)
        at
org.apache.tomcat.util.net.SocketWrapperBase.writeBlocking(SocketWrapperBase.java:529)
        at
org.apache.tomcat.util.net.SocketWrapperBase.write(SocketWrapperBase.java:454)
        at
org.apache.coyote.http2.Http2UpgradeHandler.writeWindowUpdate(Http2UpgradeHandler.java:770)
        at
org.apache.coyote.http2.Stream$StreamInputBuffer.doRead(Stream.java:1122)
        at org.apache.coyote.Request.doRead(Request.java:551)
        at
org.apache.catalina.connector.InputBuffer.realReadBytes(InputBuffer.java:336)
        ... 58 common frames omitted
~~~

Switching back to HTTP/1.1 by commenting out `<UpgradeProtocol
className="org.apache.coyote.http2.Http2Protocol"/>` in `conf/server.xml` fixes
the issue.

I've no idea what could I have done wrong. GET requests are working fine as
well as not-multipart post ones (or perhaps they are not so big and that's why
they work). Not sure if that matters.

Please tell me how can I help to debug the issue. Thanks!

-- 
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