8

As of yesterday, after updating my Debian 10+bpo system, whenever I try git clone, git fetch, or any other git operation that relies on network, I get fatal: unable to access 'https://domain.example/repo.git': Failed sending HTTP2 data or fatal: unable to access 'https://domain.example/repo.git': Failed sending HTTP request, depending on whether the git server supports HTTP2 or not. Interestingly, if I use the git:// or ssh scheme instead of https://, the command succeeds, probably because curl isn't used. I tried disabling SSL verification by git config --global http.sslVerify false but to no avail. I also tried reinstalling libcurl, libgnutls, libnettle, and libhogweed, but that didn't help either. Downgrading git from 1:2.29.2-1~bpo10+1 to 1:2.20.1-2+deb10u3 also didn't work, and I'm struggling with downgrading the libraries without breaking my system.

Output of GIT_CURL_VERBOSE=1 GIT_TRACE2=1 git clone https://github.com/imageworks/pystring.git/ (for HTTP2):

14:48:42.804049 common-main.c:48                  version 2.29.2
14:48:42.804073 common-main.c:49                  start git clone https://github.com/imageworks/pystring.git/
14:48:42.804104 git.c:445                         cmd_name clone (clone)
14:48:42.804316 repository.c:130                  worktree /home/user/apps/blender-git/pystring
Cloning into 'pystring'...
14:48:42.807866 run-command.c:735                 child_start[0] git remote-https origin https://github.com/imageworks/pystring.git/
14:48:42.809068 common-main.c:48                  version 2.29.2
14:48:42.809107 common-main.c:49                  start /usr/lib/git-core/git remote-https origin https://github.com/imageworks/pystring.git/
14:48:42.809171 git.c:723                         cmd_name _run_dashed_ (clone/_run_dashed_)
14:48:42.809181 run-command.c:735                 child_start[0] git-remote-https origin https://github.com/imageworks/pystring.git/
14:48:42.813549 common-main.c:48                  version 2.29.2
14:48:42.813565 common-main.c:49                  start /usr/lib/git-core/git-remote-https origin https://github.com/imageworks/pystring.git/
14:48:42.813642 repository.c:130                  worktree /home/user/apps/blender-git
14:48:42.813660 remote-curl.c:1482                cmd_name remote-curl (clone/_run_dashed_/remote-curl)
14:48:42.813992 http.c:756              == Info: Couldn't find host github.com in the .netrc file; using defaults
14:48:42.817012 http.c:756              == Info:   Trying 52.64.108.95:443...
14:48:42.848824 http.c:756              == Info: Connected to github.com (52.64.108.95) port 443 (#0)
14:48:42.872164 http.c:756              == Info: found 414 certificates in /etc/ssl/certs
14:48:42.872268 http.c:756              == Info: ALPN, offering h2
14:48:42.872274 http.c:756              == Info: ALPN, offering http/1.1
14:48:42.905343 http.c:756              == Info: SSL connection using TLS1.3 / ECDHE_RSA_AES_128_GCM_SHA256
14:48:42.905367 http.c:756              == Info:         server certificate verification SKIPPED
14:48:42.905374 http.c:756              == Info:         server certificate status verification SKIPPED
14:48:42.905614 http.c:756              == Info:         common name: github.com (matched)
14:48:42.905624 http.c:756              == Info:         server certificate expiration date OK
14:48:42.905649 http.c:756              == Info:         server certificate activation date OK
14:48:42.905664 http.c:756              == Info:         certificate public key: EC/ECDSA
14:48:42.905669 http.c:756              == Info:         certificate version: #3
14:48:42.905715 http.c:756              == Info:         subject: C=US,ST=California,L=San Francisco,O=GitHub\, Inc.,CN=github.com
14:48:42.905743 http.c:756              == Info:         start date: Thu, 25 Mar 2021 00:00:00 GMT
14:48:42.905749 http.c:756              == Info:         expire date: Wed, 30 Mar 2022 23:59:59 GMT
14:48:42.905770 http.c:756              == Info:         issuer: C=US,O=DigiCert\, Inc.,CN=DigiCert High Assurance TLS Hybrid ECC SHA256 2020 CA1
14:48:42.905787 http.c:756              == Info: ALPN, server accepted to use h2
14:48:42.905827 http.c:756              == Info: Using HTTP2, server supports multi-use
14:48:42.905832 http.c:756              == Info: Connection state changed (HTTP/2 confirmed)
14:48:42.905838 http.c:756              == Info: Copying HTTP/2 data in stream buffer to connection buffer after upgrade: len=0
14:48:42.905848 http.c:756              == Info: Failed sending HTTP2 data
14:48:42.905857 http.c:756              == Info: Connection #0 to host github.com left intact
14:48:42.905923 usage.c:64                        error unable to access 'https://github.com/imageworks/pystring.git/': Failed sending HTTP2 data
fatal: unable to access 'https://github.com/imageworks/pystring.git/': Failed sending HTTP2 data
14:48:42.905937 usage.c:68                        exit elapsed:0.092565 code:128
14:48:42.905944 trace2/tr2_tgt_normal.c:123       atexit elapsed:0.092574 code:128
14:48:42.906771 run-command.c:990                 child_exit[0] pid:83401 code:128 elapsed:0.097579
14:48:42.906805 git.c:745                         exit elapsed:0.097976 code:128
14:48:42.906834 trace2/tr2_tgt_normal.c:123       atexit elapsed:0.098004 code:128
14:48:42.907086 transport-helper.c:581            exit elapsed:0.103296 code:128
14:48:42.907580 trace2/tr2_tgt_normal.c:123       atexit elapsed:0.103794 code:128

Output of GIT_CURL_VERBOSE=1 GIT_TRACE2=1 git clone https://git.blender.org/blender.git (for HTTP1):

14:52:36.744018 common-main.c:48                  version 2.29.2
14:52:36.744038 common-main.c:49                  start git clone https://git.blender.org/blender.git
14:52:36.744051 git.c:445                         cmd_name clone (clone)
14:52:36.744198 repository.c:130                  worktree /home/user/apps/blender
Cloning into 'blender'...
14:52:36.747829 run-command.c:735                 child_start[0] git remote-https origin https://git.blender.org/blender.git
14:52:36.749130 common-main.c:48                  version 2.29.2
14:52:36.749146 common-main.c:49                  start /usr/lib/git-core/git remote-https origin https://git.blender.org/blender.git
14:52:36.749209 git.c:723                         cmd_name _run_dashed_ (clone/_run_dashed_)
14:52:36.749221 run-command.c:735                 child_start[0] git-remote-https origin https://git.blender.org/blender.git
14:52:36.753056 common-main.c:48                  version 2.29.2
14:52:36.753068 common-main.c:49                  start /usr/lib/git-core/git-remote-https origin https://git.blender.org/blender.git
14:52:36.753138 repository.c:130                  worktree /home/user/apps
14:52:36.753164 remote-curl.c:1482                cmd_name remote-curl (clone/_run_dashed_/remote-curl)
14:52:36.753479 http.c:756              == Info: Couldn't find host git.blender.org in the .netrc file; using defaults
14:52:36.976470 http.c:756              == Info:   Trying 82.94.226.105:443...
14:52:37.283163 http.c:756              == Info: Connected to git.blender.org (82.94.226.105) port 443 (#0)
14:52:37.316727 http.c:756              == Info: found 414 certificates in /etc/ssl/certs
14:52:37.316825 http.c:756              == Info: ALPN, offering h2
14:52:37.316835 http.c:756              == Info: ALPN, offering http/1.1
14:52:38.205929 http.c:756              == Info: SSL connection using TLS1.3 / ECDHE_RSA_AES_256_GCM_SHA384
14:52:38.205945 http.c:756              == Info:         server certificate verification SKIPPED
14:52:38.205950 http.c:756              == Info:         server certificate status verification SKIPPED
14:52:38.206028 http.c:756              == Info:         common name: git.blender.org (matched)
14:52:38.206035 http.c:756              == Info:         server certificate expiration date OK
14:52:38.206039 http.c:756              == Info:         server certificate activation date OK
14:52:38.206048 http.c:756              == Info:         certificate public key: RSA
14:52:38.206052 http.c:756              == Info:         certificate version: #3
14:52:38.206061 http.c:756              == Info:         subject: CN=git.blender.org
14:52:38.206068 http.c:756              == Info:         start date: Sat, 10 Apr 2021 21:01:12 GMT
14:52:38.206073 http.c:756              == Info:         expire date: Fri, 09 Jul 2021 21:01:12 GMT
14:52:38.206087 http.c:756              == Info:         issuer: C=US,O=Let's Encrypt,CN=R3
14:52:38.206097 http.c:756              == Info: ALPN, server accepted to use http/1.1
14:52:38.206119 http.c:756              == Info: Failed sending HTTP request
14:52:38.206127 http.c:756              == Info: Connection #0 to host git.blender.org left intact
14:52:38.206200 usage.c:64                        error unable to access 'https://git.blender.org/blender.git/': Failed sending HTTP request
fatal: unable to access 'https://git.blender.org/blender.git/': Failed sending HTTP request
14:52:38.206216 usage.c:68                        exit elapsed:1.453319 code:128
14:52:38.206223 trace2/tr2_tgt_normal.c:123       atexit elapsed:1.453328 code:128
14:52:38.207093 run-command.c:990                 child_exit[0] pid:85831 code:128 elapsed:1.457863
14:52:38.207131 git.c:745                         exit elapsed:1.458262 code:128
14:52:38.207140 trace2/tr2_tgt_normal.c:123       atexit elapsed:1.458288 code:128
14:52:38.207310 transport-helper.c:581            exit elapsed:1.463514 code:128
14:52:38.207751 trace2/tr2_tgt_normal.c:123       atexit elapsed:1.463956 code:128

Output of GIT_TRACE2=1 git clone git://github.com/imageworks/pystring.git/:

13:30:27.152552 common-main.c:48                  version 2.29.2
13:30:27.152566 common-main.c:49                  start git clone git://github.com/imageworks/pystring.git/
13:30:27.152577 git.c:445                         cmd_name clone (clone)
13:30:27.152720 repository.c:130                  worktree /home/user/apps/pystring
Cloning into 'pystring'...
13:30:28.360314 run-command.c:735                 child_start[0] git index-pack --stdin -v --fix-thin '--keep=fetch-pack 36506 on wsmb-3fd4' --check-self-contained-and-connected
remote: Enumerating objects: 130, done.
remote: Counting objects: 100% (7/7), done.
remote: Compressing objects: 100% (7/7), done.
13:30:28.361412 common-main.c:48                  version 2.29.2
13:30:28.361444 common-main.c:49                  start /usr/lib/git-core/git index-pack --stdin -v --fix-thin '--keep=fetch-pack 36506 on wsmb-3fd4' --check-self-contained-and-connected
13:30:28.361509 repository.c:130                  worktree /home/user/apps
13:30:28.361581 git.c:445                         cmd_name index-pack (clone/index-pack)
remote: Total 130 (delta 2), reused 3 (delta 0), pack-reused 123
Receiving objects: 100% (130/130), 65.18 KiB | 314.00 KiB/s, done.
Resolving deltas: 100% (64/64), done.
13:30:28.781387 git.c:700                         exit elapsed:0.420193 code:0
13:30:28.781400 trace2/tr2_tgt_normal.c:123       atexit elapsed:0.420211 code:0
13:30:28.781752 run-command.c:990                 child_exit[0] pid:36528 code:0 elapsed:0.421436
13:30:28.781939 run-command.c:735                 child_start[1] git rev-list --objects --stdin --not --all --quiet --alternate-refs '--progress=Checking connectivity'
13:30:28.783078 common-main.c:48                  version 2.29.2
13:30:28.783095 common-main.c:49                  start /usr/lib/git-core/git rev-list --objects --stdin --not --all --quiet --alternate-refs '--progress=Checking connectivity'
13:30:28.783143 repository.c:130                  worktree /home/user/apps
13:30:28.783205 git.c:445                         cmd_name rev-list (clone/rev-list)
13:30:28.783479 git.c:700                         exit elapsed:0.000614 code:0
13:30:28.783486 trace2/tr2_tgt_normal.c:123       atexit elapsed:0.000623 code:0
13:30:28.783702 run-command.c:990                 child_exit[1] pid:36533 code:0 elapsed:0.001763
13:30:28.787864 git.c:700                         exit elapsed:1.635530 code:0
13:30:28.787898 trace2/tr2_tgt_normal.c:123       atexit elapsed:1.635567 code:0

Output of ldd /usr/bin/git:

    linux-vdso.so.1 (0x00007ffcc67ae000)
    libpcre2-8.so.0 => /lib/x86_64-linux-gnu/libpcre2-8.so.0 (0x00007f320a759000)
    libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f320a53b000)
    libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f320a51a000)
    librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f320a510000)
    libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f320a34f000)
    /lib64/ld-linux-x86-64.so.2 (0x00007f320ab93000)

Clearing my gitconfig doesn't help either.

At this point I'm at a loss, not sure whether I need to change something or just wait for git/curl maintainers to fix this.

4
  • Do you have any security software or firewalls in place that could interfere with the connection? Can you use curl to download a HTML page? What about wget, browsers?
    – Daniel B
    Commented Apr 19, 2021 at 6:24
  • @DanielB No proxy or firewall. Both curl and wget work as expected. Commented Apr 19, 2021 at 10:31
  • 2
    Yes, it has been reported upstream. bugs.debian.org/cgi-bin/bugreport.cgi?bug=987187
    – mockturtl
    Commented Apr 21, 2021 at 18:35
  • I am not able to use git for anything. Not even able to clone the repo.
    – Rahul Bali
    Commented Apr 25, 2021 at 7:22

2 Answers 2

13

In other computer with the same system, but with git working normally, I compared the packages not upgraded.

Downgrade libcurl3-gnutls to 7.64.0-4+deb10u2 and the problem is solved.

4
  • 8
    sudo aptitude install libcurl3-gnutls=7.64.0-4+deb10u2 worked, tyvm. Pinning until resolved with /etc/apt/preferences: Package: libcurl3-gnutls Pin: version 7.64.* Pin-Priority: 1001 Commented Apr 19, 2021 at 16:39
  • 1
    .. did anyone report this issue yet? 😅
    – eMPee584
    Commented Apr 21, 2021 at 15:41
  • 1
    Only solution that saved my several hours, and took several hours to find.
    – Rahul Bali
    Commented Apr 25, 2021 at 7:23
  • 2
    Today there was an update in buster-backports. Unfortunately, libcurl3-gnutls=7.74.0-1.2~bpo10+1 does NOT solve the problem. Commented May 6, 2021 at 5:52
1

I also had this problem on devuan. Just purge git and install it from sources. Prefer the last version https://www.digitalocean.com/community/tutorials/how-to-install-git-from-source-on-ubuntu-20-04-quickstart https://mirrors.edge.kernel.org/pub/software/scm/git/

Unpack it, say, in /tmp cd into the unpacked folder ./configure && make && sudo make install

then, which git

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .