Bug#978671: apt http transport gets stuck after package download

2020-12-29 Thread Ivan Babrou
On Tue, Dec 29, 2020 at 1:27 PM Ivan Babrou  wrote:
>
> Package: apt
> Version: 1.8.2.1
> Severity: normal
> Tags: patch
>
> Dear Maintainer,
>
> On Debian Buster we're seeing 30s timeouts when downloading
> a particular set of debian packages from an internal repo:
>
> ```
> $ time apt-get download -y rubygem-stud rubygem-mustache rubygem-insist 
> rubygem-pleaserun rubygem-fpm
> ...
> Fetched 451 kB in 30s (15.0 kB/s)
>
> real0m31.022s
> user0m0.923s
> sys 0m0.080s
> ```
>
> The issue is fixed in the following commit in apt 2.1.9:
>
> ```
> commit 08f05aa8beb58fa32485e2087eb21a9f3cb267bb
> Author: Julian Andres Klode 
> Date:   Mon Jun 29 14:03:21 2020 +0200
>
> http: Redesign reading of pending data
>
> Instead of reading the data early, disable the timeout for the
> select() call and read the data later. Also, change Read() to
> call only once to drain the buffer in such instances.
>
> We could optimize this to call read() multiple times if there
> is also pending stuff on the socket, but that it slightly more
> complex and should not provide any benefits.
> ```
>
> Please consider backporting this into Debian Buster,
> as it fixes the problem and the patch itself applies cleanly.
>
> -- System Information:
> Debian Release: 10.6
>   APT prefers stable-updates
>   APT policy: (500, 'stable-updates'), (500, 'stable')
> Architecture: amd64 (x86_64)
>
> Kernel: Linux 5.4.70
> Kernel taint flags: TAINT_OOT_MODULE
> Locale: LANG=C, LC_CTYPE=C.UTF-8 (charmap=UTF-8), LANGUAGE=C (charmap=UTF-8)
> Shell: /bin/sh linked to /bin/dash
> Init: unable to detect
>
> Versions of packages apt depends on:
> ii  adduser 3.118
> ii  debian-archive-keyring  2019.1
> ii  gpgv2.2.12-1+deb10u1
> ii  libapt-pkg5.0   1.8.2.1
> ii  libc6   2.28-10
> ii  libgcc1 1:8.3.0-6
> ii  libgnutls30 3.6.7-4+deb10u5
> ii  libseccomp2 2.5.1-1
> ii  libstdc++6  8.3.0-6
>
> Versions of packages apt recommends:
> ii  ca-certificates  20200601~deb10u1
>
> Versions of packages apt suggests:
> pn  apt-doc  
> pn  aptitude | synaptic | wajig  
> ii  dpkg-dev 1.19.7
> ii  gnupg2.2.12-1+deb10u1
> ii  gnupg2   2.2.12-1+deb10u1
> pn  powermgmt-base   
>
> -- no debconf information

CC'd Julian, who is the author of the patch.



Bug#978671: apt http transport gets stuck after package download

2020-12-29 Thread Ivan Babrou
Package: apt
Version: 1.8.2.1
Severity: normal
Tags: patch

Dear Maintainer,

On Debian Buster we're seeing 30s timeouts when downloading
a particular set of debian packages from an internal repo:

```
$ time apt-get download -y rubygem-stud rubygem-mustache rubygem-insist 
rubygem-pleaserun rubygem-fpm
...
Fetched 451 kB in 30s (15.0 kB/s)

real0m31.022s
user0m0.923s
sys 0m0.080s
```

The issue is fixed in the following commit in apt 2.1.9:

```
commit 08f05aa8beb58fa32485e2087eb21a9f3cb267bb
Author: Julian Andres Klode 
Date:   Mon Jun 29 14:03:21 2020 +0200

http: Redesign reading of pending data

Instead of reading the data early, disable the timeout for the
select() call and read the data later. Also, change Read() to
call only once to drain the buffer in such instances.

We could optimize this to call read() multiple times if there
is also pending stuff on the socket, but that it slightly more
complex and should not provide any benefits.
```

Please consider backporting this into Debian Buster,
as it fixes the problem and the patch itself applies cleanly.

-- System Information:
Debian Release: 10.6
  APT prefers stable-updates
  APT policy: (500, 'stable-updates'), (500, 'stable')
Architecture: amd64 (x86_64)

Kernel: Linux 5.4.70
Kernel taint flags: TAINT_OOT_MODULE
Locale: LANG=C, LC_CTYPE=C.UTF-8 (charmap=UTF-8), LANGUAGE=C (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: unable to detect

Versions of packages apt depends on:
ii  adduser 3.118
ii  debian-archive-keyring  2019.1
ii  gpgv2.2.12-1+deb10u1
ii  libapt-pkg5.0   1.8.2.1
ii  libc6   2.28-10
ii  libgcc1 1:8.3.0-6
ii  libgnutls30 3.6.7-4+deb10u5
ii  libseccomp2 2.5.1-1
ii  libstdc++6  8.3.0-6

Versions of packages apt recommends:
ii  ca-certificates  20200601~deb10u1

Versions of packages apt suggests:
pn  apt-doc  
pn  aptitude | synaptic | wajig  
ii  dpkg-dev 1.19.7
ii  gnupg2.2.12-1+deb10u1
ii  gnupg2   2.2.12-1+deb10u1
pn  powermgmt-base   

-- no debconf information