Skip to content

Error in the HTTP2 framing layer #10634

Closed
@rwmjones

Description

@rwmjones

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

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions