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&data=04%7C01
>>> %
>>> 7Cdkedar%40ptc.com%7C82e35a1bf9414b3942cb08d9f53e2399%7Cb9921086ff774
>>> d
>>> 0d828acb3381f678e2%7C0%7C0%7C637810469500707164%7CUnknown%7CTWFpbGZsb
>>> 3
>>> d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%
>>> 7
>>> C3000&sdata=owuUyOcX4i4P3xm5xbnICgneZ5Bbswg2HxJDoMyfpn0%3D&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&data=04%7C01
>> %
>> 7Cdkedar%40ptc.com%7C82e35a1bf9414b3942cb08d9f53e2399%7Cb9921086ff774
>> d
>> 0d828acb3381f678e2%7C0%7C0%7C637810469500707164%7CUnknown%7CTWFpbGZsb
>> 3
>> d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%
>> 7
>> C3000&sdata=owuUyOcX4i4P3xm5xbnICgneZ5Bbswg2HxJDoMyfpn0%3D&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&data=04%7C01%
>> 7Cdkedar%40ptc.com%7C82e35a1bf9414b3942cb08d9f53e2399%7Cb9921086ff774d
>> 0d828acb3381f678e2%7C0%7C0%7C637810469500707164%7CUnknown%7CTWFpbGZsb3
>> d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7
>> C3000&sdata=owuUyOcX4i4P3xm5xbnICgneZ5Bbswg2HxJDoMyfpn0%3D&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&data=04%7C01%
> 7Cdkedar%40ptc.com%7C82e35a1bf9414b3942cb08d9f53e2399%7Cb9921086ff774d
> 0d828acb3381f678e2%7C0%7C0%7C637810469500707164%7CUnknown%7CTWFpbGZsb3
> d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7
> C3000&sdata=owuUyOcX4i4P3xm5xbnICgneZ5Bbswg2HxJDoMyfpn0%3D&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