Closed
Description
I did this
I set up an Apache 2.4.55 server to serve a file over HTTP/2. When connecting repeatedly to the server using the curl
command, I get the following error (usually at random, but below it happened for the first URL):
$ ./src/curl --fail-early --head --http2-prior-knowledge http://localhost/fedora-36.img http://localhost/fedora-36.img http://localhost/fedora-36.img http://localhost/fedora-36.img http://localhost/fedora-36.img http://localhost/fedora-36.img http://localhost/fedora-36.img http://localhost/fedora-36.img http://localhost/fedora-36.img http://localhost/fedora-36.img http://localhost/fedora-36.img http://localhost/fedora-36.img http://localhost/fedora-36.img http://localhost/fedora-36.img http://localhost/fedora-36.img http://localhost/fedora-36.img http://localhost/fedora-36.img http://localhost/fedora-36.img http://localhost/fedora-36.img http://localhost/fedora-36.img
HTTP/2 200
last-modified: Mon, 20 Feb 2023 10:47:51 GMT
etag: "180000000-5f51f6506fa85"
accept-ranges: bytes
content-length: 6442450944
content-type: application/octet-stream
date: Mon, 27 Feb 2023 21:56:39 GMT
server: Apache/2.4.55 (Fedora Linux) SVN/1.14.2
curl: (16) Error in the HTTP2 framing layer
I expected the following
No error.
curl/libcurl version
This happens with curl @ commit 788c6b3
I bisected the problem and it was introduced by commit 6711582
Reverting curl back to commit b7aaf07 (the commit before 6711582) fixes the problem.
$ ./src/curl -V
curl 8.0.0-DEV (x86_64-pc-linux-gnu) libcurl/8.0.0-DEV OpenSSL/3.0.8 zlib/1.2.13 brotli/1.0.9 libidn2/2.3.4 libpsl/0.21.2 (+libidn2/2.3.4) nghttp2/1.52.0
Release-Date: [unreleased]
Protocols: dict file ftp ftps gopher gophers http https imap imaps ldap ldaps mqtt pop3 pop3s rtsp smb smbs smtp smtps telnet tftp
Features: alt-svc AsynchDNS brotli GSS-API HSTS HTTP2 HTTPS-proxy IDN IPv6 Kerberos Largefile libz NTLM NTLM_WB PSL SPNEGO SSL threadsafe TLS-SRP UnixSockets
operating system
Fedora Rawhide
kernel 6.2.0-0.rc7.20230206gitd2d11f342b17.50.fc38.x86_64
libnghttp2-1.52.0-1.fc39.x86_64
glibc-2.37.9000-1.fc39.x86_64