Hello Tomcat users.


I’m facing some issues with HTTP/2 and I hope you can help me. Thanks in
advance!



I'm running Tomcat 10.1.31 on Debian 12 with JVM Version
17.0.13+11-Debian-2deb12u1.

My web application runs smoothly on HTTP/1.x but, when enabling HTTP/2, we
randomly start getting CLOSED_RST_RX errors on the log, causing the
application to become unstable.



Is there some additional configuration that I should be considering,
besides the UpgradeProtocol?



Here is an extract of the Stack Trace:



14-Nov-2024 18:19:31.134 SEVERE [https-jsse-nio-8443-exec-6]
org.glassfish.jersey.server.ServerRuntime$Responder.writeResponse An I/O
error has occurred while writing a response message entity to the container
output stream.

        org.glassfish.jersey.server.internal.process.MappableException:
org.apache.catalina.connector.ClientAbortException:
org.apache.coyote.CloseNowException: Connection [b], Stream [7], This
stream is in state [CLOSED_RST_RX] and is not writable

                at
org.glassfish.jersey.server.internal.MappableExceptionWrapperInterceptor.aroundWriteTo(MappableExceptionWrapperInterceptor.java:67)

                at
org.glassfish.jersey.message.internal.WriterInterceptorExecutor.proceed(WriterInterceptorExecutor.java:139)

                at
org.glassfish.jersey.message.internal.MessageBodyFactory.writeTo(MessageBodyFactory.java:1116)

(…)

Caused by: org.apache.catalina.connector.ClientAbortException:
org.apache.coyote.CloseNowException: Connection [b], Stream [7], This
stream is in state [CLOSED_RST_RX] and is not writable

                at
org.apache.catalina.connector.OutputBuffer.doFlush(OutputBuffer.java:303)

                at
org.apache.catalina.connector.OutputBuffer.flush(OutputBuffer.java:265)

(…)

Caused by: org.apache.coyote.CloseNowException: Connection [b], Stream [7],
This stream is in state [CLOSED_RST_RX] and is not writable

                at
org.apache.coyote.http2.Stream.doStreamCancel(Stream.java:304)

                at
org.apache.coyote.http2.Http2UpgradeHandler.reserveWindowSize(Http2UpgradeHandler.java:946)

                at
org.apache.coyote.http2.Stream$StreamOutputBuffer.flush(Stream.java:1120)

                at
org.apache.coyote.http2.Stream$StreamOutputBuffer.flush(Stream.java:1064)

                at
org.apache.coyote.http2.Stream$StreamOutputBuffer.flush(Stream.java:1191)

                at
org.apache.coyote.http11.filters.GzipOutputFilter.flush(GzipOutputFilter.java:107)

                at
org.apache.coyote.http2.Http2OutputBuffer.flush(Http2OutputBuffer.java:75)

                at
org.apache.coyote.http2.StreamProcessor.flush(StreamProcessor.java:295)

                at
org.apache.coyote.AbstractProcessor.action(AbstractProcessor.java:408)

                at org.apache.coyote.Response.action(Response.java:208)

                at
org.apache.catalina.connector.OutputBuffer.doFlush(OutputBuffer.java:299)

                ... 85 more

        Caused by: org.apache.coyote.http2.StreamException: Connection [b],
Stream [7], This stream is in state [CLOSED_RST_RX] and is not writable

                at
org.apache.coyote.http2.Stream.doStreamCancel(Stream.java:296)

                ... 95 more



Thanks!

Eduardo

Reply via email to