Re: AW: ERR_HTTP2_PROTOCOL_ERROR with Tomcat 9.0.58
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. ~Kedar -Original Message- From: Mark Thomas Sent: Monday, February 21, 2022 6:59 PM To: users@tomcat.apache.org Subject: Re: AW: ERR_HTTP2_PROTOCOL_ERROR with Tomcat 9.0.58 External email from: users-return-274605-dkedar=ptc@tomcat.apache.org On 21/02/2022 13:20, Thomas Hoffmann (Speed4Trade GmbH) wrote: Hello, you can adjust the threshold values for overhead limits: https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Ftomc at.apache.org%2Ftomcat-9.0-doc%2Fconfig%2Fhttp2.htmldata=04%7C01% 7Cdkedar%40ptc.com%7C82e35a1bf9414b3942cb08d9f53e2399%7Cb9921086ff774d 0d828acb3381f678e2%7C0%7C0%7C637810469500707164%7CUnknown%7CTWFpbGZsb3 d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7 C3000sdata=owuUyOcX4i4P3xm5xbnICgneZ5Bbswg2HxJDoMyfpn0%3Dres 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 Gesendet: Montag, 21. Februar 2022 13:38 An: Tomcat Users List 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)
RE: AW: ERR_HTTP2_PROTOCOL_ERROR with Tomcat 9.0.58
I am getting same error even I turned off overhead protection. ~Kedar -Original Message- From: Mark Thomas Sent: Monday, February 21, 2022 6:59 PM To: users@tomcat.apache.org Subject: Re: AW: ERR_HTTP2_PROTOCOL_ERROR with Tomcat 9.0.58 External email from: users-return-274605-dkedar=ptc@tomcat.apache.org On 21/02/2022 13:20, Thomas Hoffmann (Speed4Trade GmbH) wrote: > Hello, > > you can adjust the threshold values for overhead limits: > https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Ftomc > at.apache.org%2Ftomcat-9.0-doc%2Fconfig%2Fhttp2.htmldata=04%7C01% > 7Cdkedar%40ptc.com%7C82e35a1bf9414b3942cb08d9f53e2399%7Cb9921086ff774d > 0d828acb3381f678e2%7C0%7C0%7C637810469500707164%7CUnknown%7CTWFpbGZsb3 > d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7 > C3000sdata=owuUyOcX4i4P3xm5xbnICgneZ5Bbswg2HxJDoMyfpn0%3Dres > 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 > Gesendet: Montag, 21. Februar 2022 13:38 > An: Tomcat Users List > 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 >
Re: AW: ERR_HTTP2_PROTOCOL_ERROR with Tomcat 9.0.58
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 Gesendet: Montag, 21. Februar 2022 13:38 An: Tomcat Users List 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
AW: ERR_HTTP2_PROTOCOL_ERROR with Tomcat 9.0.58
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 Gesendet: Montag, 21. Februar 2022 13:38 An: Tomcat Users List 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
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
Re: ERR_HTTP2_PROTOCOL_ERROR with Tomcat 9.0.58
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 --> Is there any particular issue with HTTP/2 ? No. Any additional configuration required at tomcat side to overcome it? No. Enable debug logging for HTTP/2 (see logging.properties), run the simplest test that exhibits the problem and review the logs. If the issue isn't clear from reviewing the logs, put the log file somewhere we can download it and someone will take a look. Mark - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
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 --> Is there any particular issue with HTTP/2 ? Any additional configuration required at tomcat side to overcome it? Thanks, Kedar
Re: is too quick to respond
John, I'm going back a few emails in this thread but that is because things appear to be heading in the wrong direction. This is an attempt to get you back on the right track. On 18/02/2022 15:50, John Barrow wrote: I use Netbeans 12.6 (Apache loyalty!) on Windows 10 for all my Java development using JDK 17. Ack. I use Eclipse so I can't provide NetBeans specific help but I should be able to point you in the right direction. Unfortunately, I am only ‘sort-of’ familiar with Maven and have never touched Ant so I am flying a bit blind here, but that shouldn’t matter if it all works as I don't need to touch the build process. I downloaded the ‘main’ branch from GitHub (https://github.com/apache/tomcat) and unzipped it into its own folder, again with Ant (apache-ant-1.9.16). If you eventual aim is to provide a pull request to address this issue then I'd recommend: - Fork the Tomcat project in GitHub - Checkout your clone I have managed to get Ant to build it using instructions in BUILDING.txt. While it says that Tomcat built successfully, scrolling up, I got lots of warnings saying ‘can’t find a module etc so not sure if doing something wrong. I can send the results as an attachment if that would be useful. Hmm. You shouldn't see any warnings about modules. A handful of warnings about deprecation are expected. If you still see these warnings then yes, please provide a copy so we can take a look. The simplest way to test the build is to try the following: cd output\build\bin catalina.bat run That should start a Tomcat instance in the console. Check http://localhost:8080 returns a web page in your browser and then stop Tomcat with CTRL-C I can also get it to build in Netbeans (I first had to set Project > Properties > Java Sources to Source Level 17 which may be a bit of a guess as Netbeans complained about default value of 1.7). The java files in Netbeans don’t highlight any exceptions, just warnings. Tomcat 10.1.x (the current main branch) requires Java 11 as a minimum. You should be fine setting the source level to anything 11 or above. Personally, I'd set it to 11 as that way you avoid the (very low) risk of proposing a fix that doesn't work on Java 11. I appear to have issues with the other two folders ‘C:\Community\Tomcat\tomcat-main\webapps\docs\appdev\sample\src\mypackage’ Tell NetBeans to ignore that folder. It should not be part of the source you are trying to compile. It is part of a (rather old) tutorial on building a web application. and ‘C:\Community\Tomcat\tomcat-main\test’ as they don’t seem to be able to locate the dependencies (HelloWorld is -e.g. import jakarta.servlet.http.HttpServlet & tests is -e.g. import org.junit.Assert). In Maven, I would add a dependency to the pom.xml file, but not sure what to do in Ant as I would expect the configuration to already be set up. The problem there is that the JUnit reference in the NetBeans configuration wasn't updated when the JUnit version was updated. I've just fixed that. This is where using a clone would speed things up as you'd be able to fetch the update from Git. Once you have the updated sources see res/ide-support/netbeans/README.txt about running: ant ide-netbeans-replace I also ran the ‘ant test’, took about 90 minutes and failed a number of tests (which I thought was surprising as I would expect sources in the repository to pass all the tests. I can provide examples if useful as it may indicate that I have done something wrong. I wouldn't worry too much about these right now. There are various tests that are sensitive to timing, network configuration and/or OS configuration. What I would recommend is that if you change code, you run the tests associated with the class/classes you have changed. That should catch most issues. We can work on getting the full test suite passing but I'd suggest that that is not the priority. I read through the ‘RUNNING.txt’ file, but that assumes a binary to start, rather than following on from BUILDING Tomcat and so I couldn’t relate that to what I was trying to achieve. After a successful build, the "output/build" directory will contain a ready to run Tomcat instance. It is both CATALINA_HOME and CATALINA_BASE so RUNNING.txt should make sense if you start in that directory. However, if I launch Tomcat from within Netbeans (F6), I get a dialog which I don’t understand - probably due to my lack of familiarity with Ant. Again, I can include a screenshot if that would help. Looking at res/ide-support/netbeans/README.txt, I don't believe that mode of operation is supported. You should be able to run Tomcat from the command line with debugging enabled: catalina.bat jpda run and then remote debug in NetBeans. I need to be able to run the locally built version of Tomcat so that, as a starting point, I can add some System.out.print() messages around the relevant routines (which I have located – thanks Mark). Of course I am