You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tomcat.apache.org by "Deshmukh, Kedar" <dk...@ptc.com> on 2022/02/21 08:17:32 UTC

ERR_HTTP2_PROTOCOL_ERROR with Tomcat 9.0.58

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 ? Any additional configuration required at tomcat side to overcome it?

Thanks,
Kedar

Re: AW: ERR_HTTP2_PROTOCOL_ERROR with Tomcat 9.0.58

Posted by Mark Thomas <ma...@apache.org>.
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.com@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.com@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 <dk...@ptc.com>
>>> Gesendet: Montag, 21. Februar 2022 13:38
>>> An: Tomcat Users List <us...@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.com@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-unsubscribe@tomcat.apache.org
>>> For additional commands, e-mail: users-help@tomcat.apache.org
>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
>>> For additional commands, e-mail: users-help@tomcat.apache.org
>>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
>> For additional commands, e-mail: users-help@tomcat.apache.org
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
>> For additional commands, e-mail: users-help@tomcat.apache.org
>>
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
> For additional commands, e-mail: users-help@tomcat.apache.org
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
> For additional commands, e-mail: users-help@tomcat.apache.org
> 

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


RE: AW: ERR_HTTP2_PROTOCOL_ERROR with Tomcat 9.0.58

Posted by "Deshmukh, Kedar" <dk...@ptc.com>.
With overheadCountFactor="0" frequency of issue is reduced however problem is still there.

-----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.com@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.com@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 <dk...@ptc.com>
>> Gesendet: Montag, 21. Februar 2022 13:38
>> An: Tomcat Users List <us...@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.com@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-unsubscribe@tomcat.apache.org
>> For additional commands, e-mail: users-help@tomcat.apache.org
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
>> For additional commands, e-mail: users-help@tomcat.apache.org
>>
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
> For additional commands, e-mail: users-help@tomcat.apache.org
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
> For additional commands, e-mail: users-help@tomcat.apache.org
> 

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


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


Re: AW: ERR_HTTP2_PROTOCOL_ERROR with Tomcat 9.0.58

Posted by Mark Thomas <ma...@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.com@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%2Ftomc
>> at.apache.org%2Ftomcat-9.0-doc%2Fconfig%2Fhttp2.html&amp;data=04%7C01%
>> 7Cdkedar%40ptc.com%7C82e35a1bf9414b3942cb08d9f53e2399%7Cb9921086ff774d
>> 0d828acb3381f678e2%7C0%7C0%7C637810469500707164%7CUnknown%7CTWFpbGZsb3
>> d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7
>> C3000&amp;sdata=owuUyOcX4i4P3xm5xbnICgneZ5Bbswg2HxJDoMyfpn0%3D&amp;res
>> 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 <dk...@ptc.com>
>> Gesendet: Montag, 21. Februar 2022 13:38
>> An: Tomcat Users List <us...@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.com@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-unsubscribe@tomcat.apache.org
>> For additional commands, e-mail: users-help@tomcat.apache.org
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
>> For additional commands, e-mail: users-help@tomcat.apache.org
>>
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
> For additional commands, e-mail: users-help@tomcat.apache.org
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
> For additional commands, e-mail: users-help@tomcat.apache.org
> 

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


RE: AW: ERR_HTTP2_PROTOCOL_ERROR with Tomcat 9.0.58

Posted by "Deshmukh, Kedar" <dk...@ptc.com>.
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.com@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%2Ftomc
> at.apache.org%2Ftomcat-9.0-doc%2Fconfig%2Fhttp2.html&amp;data=04%7C01%
> 7Cdkedar%40ptc.com%7C82e35a1bf9414b3942cb08d9f53e2399%7Cb9921086ff774d
> 0d828acb3381f678e2%7C0%7C0%7C637810469500707164%7CUnknown%7CTWFpbGZsb3
> d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7
> C3000&amp;sdata=owuUyOcX4i4P3xm5xbnICgneZ5Bbswg2HxJDoMyfpn0%3D&amp;res
> 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 <dk...@ptc.com>
> Gesendet: Montag, 21. Februar 2022 13:38
> An: Tomcat Users List <us...@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.com@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-unsubscribe@tomcat.apache.org
> For additional commands, e-mail: users-help@tomcat.apache.org
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
> For additional commands, e-mail: users-help@tomcat.apache.org
> 

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


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


Re: AW: ERR_HTTP2_PROTOCOL_ERROR with Tomcat 9.0.58

Posted by Mark Thomas <ma...@apache.org>.

On 21/02/2022 13:20, Thomas Hoffmann (Speed4Trade GmbH) wrote:
> Hello,
> 
> you can adjust the threshold values for overhead limits:
> https://tomcat.apache.org/tomcat-9.0-doc/config/http2.html
> 
> 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 <dk...@ptc.com>
> Gesendet: Montag, 21. Februar 2022 13:38
> An: Tomcat Users List <us...@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.com@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-unsubscribe@tomcat.apache.org
> For additional commands, e-mail: users-help@tomcat.apache.org
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
> For additional commands, e-mail: users-help@tomcat.apache.org
> 

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


AW: ERR_HTTP2_PROTOCOL_ERROR with Tomcat 9.0.58

Posted by "Thomas Hoffmann (Speed4Trade GmbH)" <Th...@speed4trade.com.INVALID>.
Hello,

you can adjust the threshold values for overhead limits:
https://tomcat.apache.org/tomcat-9.0-doc/config/http2.html

I can't judge about why there are so many of such frames.
Maybe only a wireshark dump would help to figure it out.

Greetings,
Thomas

-----Ursprüngliche Nachricht-----
Von: Deshmukh, Kedar <dk...@ptc.com> 
Gesendet: Montag, 21. Februar 2022 13:38
An: Tomcat Users List <us...@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.com@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-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org


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


RE: ERR_HTTP2_PROTOCOL_ERROR with Tomcat 9.0.58

Posted by "Deshmukh, Kedar" <dk...@ptc.com>.
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.com@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-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org


Re: ERR_HTTP2_PROTOCOL_ERROR with Tomcat 9.0.58

Posted by Mark Thomas <ma...@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-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org