Cannot Pull from University Network, works fine via VPN

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 (192.30.255.113) 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 192.30.255.113:443...
* TCP_NODELAY set
* Connected to github.com (192.30.255.113) 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.

:wave: @iandol

Unfortunately, we are aware of ongoing connection problems from China. I can assure you that it is not the result of any kind of restrictions or throttling on our end. Our networking people are working on a number of options that might help, so we hope things will improve soon.

In the meantime, some users have had success in contacting their ISPs.

I have added your report to the list of users who have written in, and I’ll do my best to keep you updated when we have news.

1 Like

Thanks for this update, I will try to contact our network admins too…