On Friday, June 09 2023, Ian Jackson wrote: > Steps to reproduce: > > curl -I https://git.dgit.debian.org/dgit/info/refs > > Expected output (obtained on, eg, buster): > > HTTP/2 200 > expires: Fri, 01 Jan 1980 00:00:00 GMT > pragma: no-cache > cache-control: no-cache, max-age=0, must-revalidate > x-content-type-options: nosniff > x-frame-options: sameorigin > referrer-policy: no-referrer > x-xss-protection: 1 > permissions-policy: interest-cohort=() > strict-transport-security: max-age=15552000 > content-length: 40562 > vary: Accept-Encoding > x-clacks-overhead: GNU Terry Pratchett > content-type: text/plain > date: Fri, 09 Jun 2023 14:11:55 GMT > server: Apache > > Actual output: > > curl: (92) HTTP/2 stream 1 was not closed cleanly: PROTOCOL_ERROR (err 1) > > This seems to have stopped working very recently.
I was able to reproduce the bug building from the upstream repo, ran a bisect and found that the following commit seems to have fixed the issue: 744dcf22fac6cf12a9112df106b61864982afef9 is the first fixed commit commit 744dcf22fac6cf12a9112df106b61864982afef9 Author: Stefan Eissing <ste...@eissing.org> Date: Thu Mar 30 12:13:49 2023 +0200 http2: flow control and buffer improvements - use bufq for send/receive of network data - usd bufq for send/receive of stream data - use HTTP/2 flow control with no-auto updates to control the amount of data we are buffering for a stream HTTP/2 stream window set to 128K after local tests, defined code constant for now - elminiating PAUSEing nghttp2 processing when receiving data since a stream can now take in all DATA nghttp2 forwards Improved scorecard and adjuste http2 stream window sizes - scorecard improved output formatting and options default - scorecard now also benchmarks small requests / second Closes #10771 There are a few problems, though: - The commit is long and seems to introduce unrelated changes. In fact, it's just an "overhaul" commit, so the fix apparently happened "by chance". - According to https://github.com/curl/curl/pull/10771#issuecomment-1491200728, the commit might have introduce other problems. -- Sergio GPG key ID: 237A 54B1 0287 28BF 00EF 31F4 D0EB 7628 65FC 5E36 Please send encrypted e-mail if possible https://sergiodj.net/