|Summary:||HTTP2:WINDOW_UPDATE not sent when receiving http2 requests over unknown url|
|Product:||Tomcat 9||Reporter:||Arshiya <arshiya.shariff>|
|Component:||Catalina||Assignee:||Tomcat Developers Mailing List <dev>|
|Attachments:||PCAP for case where WINDOW_UPDATE is not sent|
Description Arshiya 2021-03-11 14:56:46 UTC
Created attachment 37767 [details] PCAP for case where WINDOW_UPDATE is not sent We are using embedded tomcat version 9.0.43 in our application to transport http/2 packets between 2 systems (h2c connection). All parameters used are the tomcat defaults. We are facing the below issue : 1. Tomcat is not sending WINDOW_UPDATE when a request(payload > 65K) is landed on an Unknown URL(which is not deployed as a servlet and not having a servlet mapping). The same is working when request landed on an known URL(which is deployed as a servlet and has an servlet mapping). 2. Tomcat is listening on 1080 port, client is sending packet size of > 65KB, but here tomcat receives only 65KB and not receiving full DATA, later tomcat sends RST_STREAM, further no WINDOW_UPDATE, after that client is not able to send DATA frames as there is no WINDOW_UPDATE from tomcat. Working case : Client sends request to a correct URL of size/payload > 65KB. Tomcat is sending WINDOW_UPDATE. 200OK from application, which is working as expected. Later client is able to send requests along with DATA also, and tomcat is receiving those . Please find attached the PCAPs for the Not Working Case (unknown url). Please help resolve this issue. Thanks in advance !!
Comment 1 Mark Thomas 2021-03-15 22:27:40 UTC
Fixed in: - 10.0.x for 10.0.5 onwards - 9.0.x for 9.0.45 onwards - 8.5.x for 8.5.65 onwards
Comment 2 Doug Whitfield 2021-03-18 18:01:09 UTC
Hi Mark, Regarding this fix, we still see an error code 8 and not the expected 404. Is the error code 8 a separate bug? If so, is it logged somewhere I am not finding? We have a jmx file we have been using for testing. I can upload the jmx file either here or to a separate bug as necessary. Is there anything useful that we can provide to help with this? Thanks!
Comment 3 Mark Thomas 2021-03-18 19:18:59 UTC
Yes, you will see a RST frame for the stream with error code 8 (cancel) to tell the client no to bother sending (any more of) the requets body. The 404 response is sent before the RST frame.
Comment 4 Mark Thomas 2021-12-31 10:35:45 UTC
*** Bug 65773 has been marked as a duplicate of this bug. ***