I am a scientist working in Shanghai. Recently pull/push connections often fail to complete, hanging for a minute or so then giving the following error:
GnuTLS recv error (-110): The TLS connection was non-properly terminated.
I can ping github.com:
ping github.com PING github.com (22.214.171.124) 56(84) bytes of data. ▄▄▄▄▄ 0/ 5 ( 0%) lost; 197/ 197/ 197ms; last: 197ms 0/ 5 ( 0%) lost; 197/ 197/ 197/ 0ms (last 5) --- github.com ping statistics --- 5 packets transmitted, 5 received, 0% packet loss, time 4005ms rtt min/avg/max/mdev = 197.158/197.253/197.387/0.075 ms
And load the Github web pages in a browser etc, so there is not a complete block on Github. But pulling or pushing fails most of the time (not always, occasionally it works). If I use a proxy server going through a VPN, then everything works fine and there is no GnuTLS error. But it isn’t practical to always use proxy servers across my research computers.
I am using Ubuntu 20.04, everything up-to-date. Is Github throttling connections from China or is this a problem from my network, or even some problem with GnuTLS?
All my software and tools for research use Github and this is causing havoc with my workflow. Any help gratefully appreciated!
Here is a verbose log:
❯ GIT_CURL_VERBOSE=1 git ls-remote https://github.com/iandol/opticka.git * Couldn't find host github.com in the .netrc file; using defaults * Trying 126.96.36.199:443... * TCP_NODELAY set * Connected to github.com (188.8.131.52) port 443 (#0) * found 391 certificates in /etc/ssl/certs * ALPN, offering h2 * ALPN, offering http/1.1 * SSL connection using TLS1.3 / ECDHE_RSA_AES_128_GCM_SHA256 * server certificate verification OK * server certificate status verification SKIPPED * common name: github.com (matched) * server certificate expiration date OK * server certificate activation date OK * certificate public key: EC/ECDSA * certificate version: #3 * subject: C=US,ST=California,L=San Francisco,O=GitHub\, Inc.,CN=github.com * start date: Thu, 25 Mar 2021 00:00:00 GMT * expire date: Wed, 30 Mar 2022 23:59:59 GMT * issuer: C=US,O=DigiCert\, Inc.,CN=DigiCert High Assurance TLS Hybrid ECC SHA256 2020 CA1 * ALPN, server accepted to use h2 * Using HTTP2, server supports multi-use * Connection state changed (HTTP/2 confirmed) * Copying HTTP/2 data in stream buffer to connection buffer after upgrade: len=0 * Using Stream ID: 1 (easy handle 0x55c5b7d5bc20) > GET /iandol/opticka.git/info/refs?service=git-upload-pack HTTP/2 Host: github.com user-agent: git/2.25.1 accept: */* accept-encoding: deflate, gzip, br accept-language: en-US, *;q=0.9 pragma: no-cache * GnuTLS recv error (-110): The TLS connection was non-properly terminated. * Failed receiving HTTP2 data * Failed sending HTTP2 data * Connection #0 to host github.com left intact fatal: unable to access 'https://github.com/iandol/opticka.git/': GnuTLS recv error (-110): The TLS connection was non-properly terminated.