http/2 PROTOCOL_ERROR when downloading images

Bug #2017828 reported by Kir Kolyshkin
12
This bug affects 2 people
Affects Status Importance Assigned to Milestone
vagrant
New
Undecided
Unassigned

Bug Description

A version of vagrant bundled in Ubuntu 22.04 LTS (2.2.19) contains a subtle but critical bug, resulting in inability to download some images. The repro is below.

This bug is described in great details at https://github.com/hashicorp/vagrant/issues/12921, and it was fixed in vagrant 2.3.1 by the following PR: https://github.com/hashicorp/vagrant/pull/12925

Here is the link to the fixing patch (which is a one liner modulo test):
https://github.com/hashicorp/vagrant/commit/c7ef689d86294bcdb8ae5d31ddabcba416e3382d.patch

I believe the fix can be trivially backported.

#### Repro ####

For example, using this Vagrantfile:

```
Vagrant.configure("2") do |config|
  config.vm.box = "fedora/38-cloud-base"
  config.vm.provider :virtualbox do |v|
    v.memory = 2048
    v.cpus = 2
  end
  config.vm.provider :libvirt do |v|
    v.memory = 2048
    v.cpus = 2
  end
```

I repeatedly get the following error:

```
....
==> default: Box 'fedora/38-cloud-base' could not be found. Attempting to find and install...
    default: Box Provider: libvirt
    default: Box Version: >= 0
==> default: Loading metadata for box 'fedora/38-cloud-base'
    default: URL: https://vagrantcloud.com/fedora/38-cloud-base
==> default: Adding box 'fedora/38-cloud-base' (v38.20230413.1) for provider: libvirt
    default: Downloading: https://vagrantcloud.com/fedora/boxes/38-cloud-base/versions/38.20230413.1/providers/libvirt.box

An error occurred while downloading the remote file. The error
message, if any, is reproduced below. Please fix this error and try
again.

HTTP/2 stream 0 was not closed cleanly: PROTOCOL_ERROR (err 1)
```

For the reference, I can't repro this using vagrant 2.3.4 from the hashicorp repo.

More information: https://github.com/opencontainers/runc/pull/3835, https://github.com/opencontainers/runc/pull/3848.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.