apt-get update hangs when apt-transport-https is not installed
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
apt (Debian) |
Fix Released
|
Unknown
|
|||
apt (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned | ||
Trusty |
Triaged
|
Undecided
|
Unassigned | ||
Xenial |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
[Impact]
Two or more sources with an unknown protocol cause apt update to hang. For example, when using the https method on a system without integrated https support and without apt-transport-https installed.
[Test case]
Add two or more sources with an unknown protocol and run update
[Regression potential]
This changes the code to only register a method that actually exists. I don't see any potential for a regression here, but of course, if there were any, it would be related to not finding other methods.
[Original bug report]
When "apt-get update" is run on a docker container running Ubuntu v16.04 and containing an additional apt source repository hosted on an https webserver, the "apt-get update" command hangs.
The hang happens after connections to http ubuntu hosts are complete, and apt-get remains stuck on "Working" at 0%. Removing the sources file for the https repo causes apt-get to complete normally.
The source file contains 4 separate entries to 4 different repos on the same https server. When the source file is modified so that just *one* entry exists to one repo on the https server, we suddenly get a sensible error message that tells us that apt-transport-https needs to be installed.
Installing apt-transport-https into the docker container before adding the sources list to the https servers works around the problem and sanity returns.
Key notes:
- The use of docker isn't related to the bug, except that the docker image doesn't contain the apt-transport-https package whereas our cloud images do contain this package by default. This can give the impression that this is a docker bug when it's not.
- The hang in "apt-get update" seems to occur when the sources file contains more than one entry in the file. When just one entry exists in the file (and all other entries are commented out) a sensible error messages appears.
- We encountered this on a host that didn't support cut and paste, sorry :(
summary: |
- apt-get update hangs when apt-transport-https is no installed + apt-get update hangs when apt-transport-https is not installed |
Changed in apt (Ubuntu): | |
status: | New → Fix Released |
Changed in apt (Debian): | |
status: | Unknown → Fix Released |
Changed in apt (Ubuntu Trusty): | |
status: | Triaged → In Progress |
status: | In Progress → Confirmed |
status: | Confirmed → Triaged |
Changed in apt (Ubuntu Xenial): | |
status: | Triaged → In Progress |
description: | updated |
description: | updated |
I'm not sure when we fixed that, but we did. So bionic works fine. Not sure about artful.