On 22/02/2022 11:51, Deshmukh, Kedar wrote:
With overheadCountFactor="0" frequency of issue is reduced however problem is 
still there.

That is odd.

Please provide logs with debug enabled for HTTP/2 that cover the period from when the HTTP/2 connection was first established to the point where it is closed due to excessive overhead.

Mark


-----Original Message-----
From: Mark Thomas <ma...@apache.org>
Sent: Monday, February 21, 2022 7:37 PM
To: users@tomcat.apache.org
Subject: Re: AW: ERR_HTTP2_PROTOCOL_ERROR with Tomcat 9.0.58

External email from: users-return-274607-dkedar=ptc....@tomcat.apache.org

Try overheadCountFactor="0" rather than "-1"

Mark


On 21/02/2022 13:52, Deshmukh, Kedar wrote:
I am getting same error even I turned off overhead protection.

<UpgradeProtocol className="org.apache.coyote.http2.Http2Protocol"
overheadCountFactor="-1" overheadDataThreshold="0"
overheadWindowUpdateThreshold="0" overheadContinuationThreshold="0"
readTimeout="-1" writeTimeout="-1" streamReadTimeout="-1"
streamWriteTimeout="-1"/>

~Kedar

-----Original Message-----
From: Mark Thomas <ma...@apache.org>
Sent: Monday, February 21, 2022 6:59 PM
To: users@tomcat.apache.org
Subject: Re: AW: ERR_HTTP2_PROTOCOL_ERROR with Tomcat 9.0.58

External email from:
users-return-274605-dkedar=ptc....@tomcat.apache.org


On 21/02/2022 13:20, Thomas Hoffmann (Speed4Trade GmbH) wrote:
Hello,

you can adjust the threshold values for overhead limits:
https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Ftom
c
at.apache.org%2Ftomcat-9.0-doc%2Fconfig%2Fhttp2.html&amp;data=04%7C01
%
7Cdkedar%40ptc.com%7C82e35a1bf9414b3942cb08d9f53e2399%7Cb9921086ff774
d
0d828acb3381f678e2%7C0%7C0%7C637810469500707164%7CUnknown%7CTWFpbGZsb
3
d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%
7
C3000&amp;sdata=owuUyOcX4i4P3xm5xbnICgneZ5Bbswg2HxJDoMyfpn0%3D&amp;re
s
erved=0

I can't judge about why there are so many of such frames.

The debug log will show the overhead changing for each frame so there should be 
enough information in the logs to determine why the threshold is being reached.

Mark


Maybe only a wireshark dump would help to figure it out.

Greetings,
Thomas

-----Ursprüngliche Nachricht-----
Von: Deshmukh, Kedar <dke...@ptc.com>
Gesendet: Montag, 21. Februar 2022 13:38
An: Tomcat Users List <users@tomcat.apache.org>
Betreff: RE: ERR_HTTP2_PROTOCOL_ERROR with Tomcat 9.0.58

Hello,

This seems to be an error " Too much overhead so the connection will be closed 
", I am using Chrome browser (Version 97.0.4692.71) on Windows 10.  It is 
consistently reproducible on chrome browser.

Here, I am trying to load home page of one of the application. It has some 
html, javascripts, css and few images. Entire page loads only 450 KB of data. 
And no issue with HTTP/1.1.

21-Feb-2022 17:36:38.548 FINE [ilm-https-jsse-nio-9080-exec-8]
org.apache.coyote.http2.Http2UpgradeHandler.init Connection [17],
State [CONNECTED]
21-Feb-2022 17:36:38.548 FINE [ilm-https-jsse-nio-9080-exec-8]
org.apache.coyote.http2.Http2Parser.validateFrame Connection [17],
Stream [0], Frame type [WINDOW_UPDATE], Flags [0], Payload size [4]
21-Feb-2022 17:36:38.548 FINE [ilm-https-jsse-nio-9080-exec-8]
org.apache.coyote.http2.Http2Parser.readWindowUpdateFrame Connection
[17], Stream [0], Window size increment [15663105]
21-Feb-2022 17:36:38.548 FINE [ilm-https-jsse-nio-9080-exec-8]
org.apache.coyote.http2.AbstractStream.incrementWindowSize Connection
[17], Stream [0], increase flow control window by [15663105] to
[15728640]
21-Feb-2022 17:36:38.548 FINE [ilm-https-jsse-nio-9080-exec-8] 
org.apache.coyote.http2.Http2UpgradeHandler.upgradeDispatch Connection error
        org.apache.coyote.http2.ConnectionException: Connection [17], Too much 
overhead so the connection will be closed
                at 
org.apache.coyote.http2.Http2UpgradeHandler.upgradeDispatch(Http2UpgradeHandler.java:361)
                at 
org.apache.coyote.http2.Http2AsyncUpgradeHandler.upgradeDispatch(Http2AsyncUpgradeHandler.java:41)
                at 
org.apache.coyote.http2.Http2AsyncParser$PrefaceCompletionHandler.completed(Http2AsyncParser.java:126)
                at 
org.apache.coyote.http2.Http2AsyncParser$PrefaceCompletionHandler.completed(Http2AsyncParser.java:60)
                at 
org.apache.tomcat.util.net.SocketWrapperBase$VectoredIOCompletionHandler.completed(SocketWrapperBase.java:1113)
                at 
org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper$NioOperationState.run(NioEndpoint.java:1659)
                at 
org.apache.tomcat.util.net.SocketWrapperBase$OperationState.start(SocketWrapperBase.java:1061)
                at 
org.apache.tomcat.util.net.SocketWrapperBase.vectoredOperation(SocketWrapperBase.java:1480)
                at 
org.apache.tomcat.util.net.SocketWrapperBase.read(SocketWrapperBase.java:1323)
                at 
org.apache.tomcat.util.net.SocketWrapperBase.read(SocketWrapperBase.java:1295)
                at 
org.apache.coyote.http2.Http2AsyncParser.readConnectionPreface(Http2AsyncParser.java:55)
                at 
org.apache.coyote.http2.Http2UpgradeHandler.init(Http2UpgradeHandler.java:248)
                at 
org.apache.coyote.http2.Http2AsyncUpgradeHandler.init(Http2AsyncUpgradeHandler.java:41)
                at 
org.apache.coyote.http2.Http2UpgradeHandler.upgradeDispatch(Http2UpgradeHandler.java:323)
                at 
org.apache.coyote.http2.Http2AsyncUpgradeHandler.upgradeDispatch(Http2AsyncUpgradeHandler.java:41)
                at 
org.apache.coyote.http11.upgrade.UpgradeProcessorInternal.dispatch(UpgradeProcessorInternal.java:60)
                at 
org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:59)
                at 
org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:889)
                at 
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1747)
                at 
org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
                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:834)
21-Feb-2022 17:36:38.549 FINE [ilm-https-jsse-nio-9080-exec-8]
org.apache.coyote.http2.Http2UpgradeHandler.upgradeDispatch Exit,
Connection [17], SocketState [CLOSED]
21-Feb-2022 17:36:38.549 FINE [ilm-https-jsse-nio-9080-exec-8]
org.apache.coyote.http2.Http2UpgradeHandler.init Connection [17],
Connection preface received from client
21-Feb-2022 17:36:38.549 FINE [ilm-https-jsse-nio-9080-exec-8] 
org.apache.coyote.http2.Http2AsyncParser$FrameCompletionHandler.failed 
Connection [17], Stream [0], Frame type [null], Error
        java.io.EOFException
                at 
org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper$NioOperationState.run(NioEndpoint.java:1663)
                at 
org.apache.tomcat.util.net.SocketWrapperBase$OperationState.start(SocketWrapperBase.java:1061)
                at 
org.apache.tomcat.util.net.SocketWrapperBase.vectoredOperation(SocketWrapperBase.java:1480)
                at 
org.apache.tomcat.util.net.SocketWrapperBase.read(SocketWrapperBase.java:1323)
                at 
org.apache.tomcat.util.net.SocketWrapperBase.read(SocketWrapperBase.java:1295)
                at 
org.apache.coyote.http2.Http2AsyncParser.readFrame(Http2AsyncParser.java:138)
                at 
org.apache.coyote.http2.Http2Parser.readFrame(Http2Parser.java:71)
                at 
org.apache.coyote.http2.Http2UpgradeHandler.upgradeDispatch(Http2UpgradeHandler.java:346)
                at 
org.apache.coyote.http2.Http2AsyncUpgradeHandler.upgradeDispatch(Http2AsyncUpgradeHandler.java:41)
                at 
org.apache.coyote.http11.upgrade.UpgradeProcessorInternal.dispatch(UpgradeProcessorInternal.java:60)
                at 
org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:59)
                at 
org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:889)
                at 
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1747)
                at 
org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
                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:834)
21-Feb-2022 17:36:38.550 FINE [ilm-https-jsse-nio-9080-exec-8]
org.apache.coyote.http2.Http2UpgradeHandler.upgradeDispatch Entry,
Connection [17], SocketStatus [ERROR]
21-Feb-2022 17:36:38.550 FINE [ilm-https-jsse-nio-9080-exec-8]
org.apache.coyote.http2.Http2UpgradeHandler.init Connection [17],
State [CLOSED]



Thanks,
Kedar
-----Original Message-----
From: Mark Thomas <ma...@apache.org>
Sent: Monday, February 21, 2022 2:26 PM
To: users@tomcat.apache.org
Subject: Re: ERR_HTTP2_PROTOCOL_ERROR with Tomcat 9.0.58

External email from:
users-return-274602-dkedar=ptc....@tomcat.apache.org

On 21/02/2022 08:17, Deshmukh, Kedar wrote:
Hello,

We are consistently seeing error "ERR_HTTP2_PROTOCOL_ERROR" in browser console 
when we try to open any web page deployed on Tomcat 9.0.58 server in test environment. 
This issue is observed only when HTTP/2 is enabled. Otherwise, we do not see any issue 
with HTTP/1.1.
Basically, we are assessing the possibility to switch to HTTP/2, however this 
issue is somehow blocking us.

Enabled HTTP/2 with --> <UpgradeProtocol
className="org.apache.coyote.http2.Http2Protocol"/>

Is there any particular issue with HTTP/2 ?

No.

Any additional configuration required at tomcat side to overcome it?

No.

Enable debug logging for HTTP/2 (see logging.properties), run the simplest test 
that exhibits the problem and review the logs.

If the issue isn't clear from reviewing the logs, put the log file somewhere we 
can download it and someone will take a look.

Mark

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org

Reply via email to