87

I'm having trouble cloning a repo on git. I've been trying for to days and have tried quite a few solutions (in most the problem was slightly different but seemed to apply) but nothing has done anything to make a difference.

I've tried switching off the anti-virus and firewall but that didn't help. I've also tried uninstalling and reinstalling the network adapter drivers (and restarting the computer) and that didn't work.

From what I understand it's a network issue somewhere as the remote server keeps hanging up but I'm not managing to get anywhere with the issue.

Using git clone -v --progress seemed to give the same output as git clone. Output from git clone -v --progress https://github.com/mit-cml/appinventor-sources.git

Cloning into 'appinventor-sources'...
POST git-upload-pack (gzip 1425 to 774 bytes)
remote: Counting objects: 41649, done.
remote: Compressing objects: 100% (7/7), done.
error: RPC failed; curl 56 OpenSSL SSL_read: SSL_ERROR_SYSCALL, errno 10054
fatal: The remote end hung up unexpectedly
fatal: early EOF
fatal: index-pack failed

I've now tried increasing the buffer again

git config --global http.postBuffer 1048576000

but still nothing.

I'm following the solution from The remote end hung up unexpectedly while git cloning for troubleshooting.

user8612746
  • 871
  • 1
  • 5
  • 4
  • Several other solutions sugggest increasing your push buffer size, have you tried that? In general, can you rule out the solutions you've already tried? – Christoph Böhmwalder Sep 15 '17 at 06:25
  • My brain's a bit frazzled so I can only remember those. Think I may have tried 2 or 3 more, if I think of them I'll add them. For now I'll try buffer size, thanks. – user8612746 Sep 15 '17 at 06:43
  • 1
    I increased buffer size git config --global http.postBuffer 524288000, no change. Is 500M okay? – user8612746 Sep 15 '17 at 07:10
  • 1
    I saw a solution which mentioned a hotfix https://support.microsoft.com/en-us/help/981344/an-application-may-receive-the-10054-error-when-the-application-receiv. I haven't applied the fix but I'm guessing if that was the problem turning off the anti-virus and firewall would have worked too – user8612746 Sep 15 '17 at 07:24
  • One thing I considered is that SSL is not the latest version. I'm using Git for Windows which has OpenSSL 1.0.2l. This is the previous version. Would that make a difference? – user8612746 Sep 15 '17 at 09:25
  • I solved it with the solution here https://stackoverflow.com/questions/21277806/fatal-early-eof-fatal-index-pack-failed/22317479#22317479 by doing fetch with incrementally bigger depth. It didn't work with 1000 though. Wrote a script with depth increment of 10. I didn't try an ssh clone. – user8612746 Sep 15 '17 at 12:41
  • nothing helped me in this post. i had to create new repo instead and used git bash to push – Saad Anees Mar 26 '19 at 12:11

18 Answers18

112

I resolved the same problem by this:

git config http.postBuffer 524288000

It might be because of the large size of repository and default buffer size of git so by doing above(on git bash), git buffer size will get increase.

Cheers!

Hakan Fıstık
  • 11,376
  • 8
  • 74
  • 105
Aman Goel
  • 2,535
  • 1
  • 16
  • 17
  • 1
    wow. Guess there's a first time for everything. Never thought I'd see a repo too large to manage. Do you know if this needs to be managed in some way? I would imagine this would continue to happen the larger it grows right – Barry Sep 18 '19 at 23:05
  • 9
    Use `git init` before `git config http.postBuffer 524288000` – 风声猎猎 Sep 21 '19 at 01:02
  • 4
    Another option is a global configuration: git config --global http.postBuffer 524288000 – Fernando JS Nov 20 '19 at 18:21
  • Note that [the Git FAQ](https://git-scm.com/docs/gitfaq#Documentation/gitfaq.txt-WhatdoescodehttppostBuffercodereallydo) explains that this is almost always due to broken software, like a proxy, antivirus, firewall, or TLS MITM device, and that software should be fixed or replaced rather than being worked around. It also has no effect on clones or fetches or SSH, only on pushes over HTTP(S). – bk2204 Feb 27 '21 at 14:29
30

I had the same issue, and I have solved it by changing my net connection. In fact, my last internet connection was too slow (45 kbit/s). So you should try again with a faster net connection.

15

I had the same problem, and @ingyhere 's answer solved my problem .
follow his instructions told in his answer here.

git config --global core.compression 0
git clone --depth 1 <repo_URI>
# cd to your newly created directory
git fetch --unshallow 
git pull --all
Shahryar Saljoughi
  • 1,743
  • 16
  • 33
8

This happens when you push first time without net connection or poor net connection.But when you try again using good connection 2,3 times problem will be solved.

Abhi
  • 839
  • 1
  • 10
  • 21
8

you need to increase the buffer size (it's due to the large repository size), so you have to increase it

git config http.postBuffer 524288000

Althought you must have an initializd repository, just porceed as the following

git init
git config http.postBuffer 524288000
git remote add origin <REPO URL>
git pull origin master
...
Smaillns
  • 1,330
  • 12
  • 19
6

I have tried "git init" and it worked like charm for me.

I got it from the link Git push error: RPC failed; result=56, HTTP code = 200 fatal: The remote end hung up unexpectedly fatal

5

Uninstalling(version: 2.19.2) and installing(version: 2.21.0) git client fixed the issue for me.

Satya Madala
  • 186
  • 2
  • 6
5
git config --global http.postBuffer 524288000

Work in my case - AWS code commit

Duc Nguyen
  • 411
  • 5
  • 12
2

just Disable the Firewall and start again. it worked for me

2

(based on anser from Hakan Fıstık)

You can also set the postBuffer globally, which might be necessary, if you haven't checkout out the repository yet!

git config http.postBuffer 524288000
1

It's mentioned as SSL_ERROR_SYSCALL, errno 10054.

To resolve this SSL issue I went to .gitconfig file (which is located in c drive in my desktop) I changed sslverify to false and added my username and email id.

sslVerify = `false` //make sslVerify as false    
[user]
    name = `***<Enter your name>**`
    email = `**<Email Id>**`
DaFois
  • 2,121
  • 8
  • 21
  • 35
  • Use the command line: git config http.sslVerify false (see https://stackoverflow.com/questions/11621768/how-can-i-make-git-accept-a-self-signed-certificate) – csharpforevermore Jun 25 '19 at 01:13
  • I actually used this command -- git config http.sslVerify false and then I did -- git config http.sslVerify true Then it worked! – Aditya Sinha Nov 29 '20 at 13:40
1

All these tips did not work for me, what worked was cloning over ssh rather that http

C Williams
  • 684
  • 9
  • 14
1

Following steps helped me to fix this issue, Solution 1:

  1. git checkout master
  2. git pull
  3. git checkout [you current branch]
  4. git pull

You can also set git config http.postBuffer 524288000 to increase the network buffer

Solution 2:

Sometimes it happens when you are cloning your repo using VPN and it fails to verify the SSL

Try this out it may help:

git config http.sslVerify "false"

Niyas Ali
  • 117
  • 1
  • 5
1

I had the exact same problem while trying to setup a Gitlab pipeline executed by a Docker runner installed on a Raspberry Pi 4

Using nload to follow bandwidth usage within Docker runner container while pipeline was cloning the repo i saw the network usage dropped down to a few bytes per seconds..

After a some deeper investigations i figured out that the Raspberry temperature was too high and the network card start to dysfunction above 50° Celsius.

Adding a fan to my Raspberry solved the issue.

Lapin
  • 333
  • 2
  • 9
1

It could be an issue with your network (i.e. not an issue with any of your git configs, firewall, or any other machine settings). To confirm this, you could test the following:

  1. See if this issue persists on the same network on different machines (this was true for me).
  2. Try running the problematic git command (for me it was git pull) on a different network and see if it works. I brought my desktop over to a friend's and confirmed that the command did indeed work without any modifications. I also tested the command from my laptop on an open network nearby and the command also started suddenly working (so this was also true for me)

If you can confirm #1 and #2 above, it may be time to schedule an appointment with a technician from your ISP. I have fiber internet in a fairly newish building and when the technician arrived they went to my building's telecom room and switched my internet port. That somehow seemed to fix the issue. He also let me know that there were other issues at large going on in my building (so it could have nothing to do with your machine or things in your control!).

If that fails, maybe consider switching internet providers if that's an option for you. Else, just keep calling your ISP to send in more and more senior technicians until it gets resolved.

I'm hoping nobody actually has to resort to what I did to find the problem.

tl;dr: Give your ISP a call as the issue could be one with your network.

youngrrrr
  • 2,285
  • 3
  • 20
  • 39
0

What I did is moved the dependencies list to the end of

#Pods for <app>

In Podfile. Like this:

    # Uncomment the next line to define a global platform for your project
    # platform :ios, '9.0'

    target '<app>' do
    # Comment the next line if you don't want to use dynamic frameworks
    use_frameworks!

  # Pods for <app>

  target '<app>Tests' do
    inherit! :search_paths
    # Pods for testing
  end

  target '<app>UITests' do
    inherit! :search_paths
    # Pods for testing
  end

    pod 'Firebase/Core'
    pod 'Firebase/Database'

end
0

In my case, its something wrong with my DNS server, after i add a new github.com record in the hosts, the problem solved.

13.114.40.48 github.com
djzhao
  • 151
  • 1
  • 6
0

I had the same issue and found out the problem was with my internet speed, after getting on a better connection the problem was solved solved.

HBatalha
  • 202
  • 2
  • 9