• Emanuele Aina's avatar
    Disable HTTP pipelining in APT to avoid "Hash Sum Mismatch" · c83063aa
    Emanuele Aina authored
    Work around issues with the APT downloader corrupting files and
    causing "Hash Sum Mismatch" errors.
    
    A typical occurence is like:
    
        Get:97 https://repositories.apertis.org/apertis v2019pre/target amd64 libsystemd-dev amd64 240-5co3bb1 [317 kB]
        Err:97 https://repositories.apertis.org/apertis v2019pre/target amd64 libsystemd-dev amd64 240-5co3bb1
          Hash Sum mismatch
          Hashes of expected file:
           - SHA256:39654a35430ef132537880d67cd906bc958e1282e5e2d267e0d9ea96198c3649
           - SHA1:3d358b67b624162c4737a619de078cb8ae6091f6 [weak]
           - MD5Sum:c9da96eacf456df58bd564ab587a7a22 [weak]
           - Filesize:317116 [weak]
          Hashes of received file:
           - SHA256:caf4eacc492e6e67651c6d4ace49ee2800c3166e8d630cddd35b87c94042f655
           - SHA1:9690ac45a5282cc04fcbfc6fc3d2ac2e4c6fa375 [weak]
           - MD5Sum:33dcb5800d6e0c3c4d86f0e37c3d134e [weak]
           - Filesize:317116 [weak]
          Last modification reported: Tue, 21 May 2019 14:59:26 +0000
    
    The failures rate goes from hard-to-reproduce to reliably-fails.
    
    Downloading the affected files with `wget` or `curl` has not reproduced
    the issue, and only `apt` seems affected. The issue has hit jobs on
    Jenkins as well as pipelines on GitLab, and from time to time people
    have been able to remporarily reproduce it locally in image builder
    Docker container.
    
    From the captured network traffic it seems that HTTP pipelining is
    involved, disabling its usage in APT so far prevented the issue to come
    up in cases where it was reproducible.
    Signed-off-by: Emanuele Aina's avatarEmanuele Aina <emanuele.aina@collabora.com>
    c83063aa