133

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
  • 1,331
  • 2
  • 8
  • 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

29 Answers29

158

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.

starball
  • 20,030
  • 7
  • 43
  • 238
Aman Goel
  • 3,351
  • 1
  • 21
  • 17
  • 2
    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
  • 20
    Use `git init` before `git config http.postBuffer 524288000` – 风声猎猎 Sep 21 '19 at 01:02
  • 13
    Another option is a global configuration: git config --global http.postBuffer 524288000 – Fernando JS Nov 20 '19 at 18:21
  • 3
    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
  • I would be quite surprised if this config step were necessary solely due to the size of the repository. The size of the repo and the size of buffers used during communication are two different things entirely. Changing buffer sizes could affect upload and download speeds, but no such change should be necessary due to the size of the repository. I've worked with huge repos, and I've never had to do anything like this. – CryptoFool Dec 09 '22 at 06:29
  • in my case updating to 2.40 solve problem, but i run these commands before: git config http.timeout 600 git config --global http.postBuffer 524288000 – saber tabatabaee yazdi Mar 31 '23 at 07:01
42

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.

Djiveradjane Canessane
  • 1,187
  • 1
  • 13
  • 21
20

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
  • 2,540
  • 1
  • 28
  • 40
19

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
  • 2,599
  • 22
  • 41
16
git config --global http.postBuffer 524288000

Work in my case - AWS code commit

Duc Nguyen
  • 530
  • 8
  • 16
12

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
  • 1,127
  • 1
  • 12
  • 25
7

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

7

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

Satya Madala
  • 325
  • 3
  • 8
7

(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
4

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

3

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

C Williams
  • 850
  • 12
  • 19
3

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
  • 3,044
  • 3
  • 25
  • 42
3

If you have VPN opened, close and try it again.

Skont
  • 31
  • 2
  • 1
    This does not provide an answer to the question. Once you have sufficient [reputation](https://stackoverflow.com/help/whats-reputation) you will be able to [comment on any post](https://stackoverflow.com/help/privileges/comment); instead, [provide answers that don't require clarification from the asker](https://meta.stackexchange.com/questions/214173/why-do-i-need-50-reputation-to-comment-what-can-i-do-instead). - [From Review](/review/late-answers/29781323) – Stefano Sansone Sep 10 '21 at 17:47
2

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
  • 203
  • 2
  • 9
2

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
  • 245
  • 4
  • 17
2

Before cloning just run "git init". It will create local .git and it will allow for clone.

Arvind Yadav
  • 441
  • 2
  • 4
2

Follow these two commands from Git Bash

step1: git init

step2: git config http.postBuffer 524288000

step3: initiate the clone again.

Added image for reference

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,197
  • 8
  • 26
  • 43
  • 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

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.

rilCy
  • 413
  • 4
  • 11
1

this issue is resolved by cloning using SSH key. first of all set the ssh key and then add it to your git/github account. and then try to clone using ssh instead of using http. in my case this solved my problem. i tried all the other solution including increasing the buffer size, changing the git version, etc. none of these solution works in my case.

1

I've tried postBuffer, core.compression and --depth 1, nothing is working perfectly, I mean sometimes, I could clone but most of the time, I got the same error. For me, it got worked out by cloning using SSH url. You can follow below steps to clone in ssh way

  1. create ssh key

    create .ssh folder in your user directory (C:\Users\Rence Abishek\) and inside .ssh folder, create a file named id_rsa

    Open your terminal from user dir and execute below commands to create ssh private and public key

    1. ssh-keygen -t rsa -b 4096 -C "renceabishek@abc.com"

      press y to override existing file i.e id_rsa and not require to give passphrase, just hit enter

    2. eval $(ssh-agent -s)

    3. ssh-add ./.ssh/id_rsa

  2. copy ssh key to your git version control(gitlab,bitbucket,github..etc)

    Execute cat ./.ssh/id_rsa.pub command in terminal to get public key in console, now copy that and go to your GIT version control setting and add your copied public key.

Github -> click on your profile(top right cornor) -> setting -> SSH and GPG Keys -> New SSH Key button

  1. clone repo

Now clone using ssh url git clone YOUR_SSH_URL

RenceAbi
  • 522
  • 2
  • 11
  • 26
  • This was the solution for me and setting postBuffer to a bigger value than any of the individual files had done naff all to help. However, on my (Windows) machine steps 1.2 and 1.3 were not needed, and in fact did not work – Jez Mar 18 '23 at 19:54
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
  • 934
  • 10
  • 9
0

1. Go to https://gitforwindows.org

2. Downloadenter image description here

3. Install (no need to uninstall) enter image description
here

4. That's it! No more error: RPC failed; curl 56 OpenSSL SSL_read: No error

vvauban
  • 165
  • 4
  • 8
0

I too have faced this issue today. I have tried all the options shared in this thread but I was still having the issue.

I tried cloning after connecting to my corporate VPN and cloning got completed successfully. So, guys it might have to do with your local firewall policy. Factor in that as well :)

Dharun
  • 1
0

This is what works for me.

git config --global http.sslVerify "false"

Jallow
  • 39
  • 2
  • Your answer could be improved with additional supporting information. Please [edit] to add further details, such as citations or documentation, so that others can confirm that your answer is correct. You can find more information on how to write good answers [in the help center](/help/how-to-answer). – Community Feb 09 '22 at 17:33
0

For me, git config --global http.postBuffer 524288000 alone did not fix it, I had to run git config --global core.compression 0 as well.

Sajal
  • 1,783
  • 1
  • 17
  • 21
0

try this,

  1. git init first/reinitialize
  2. then, global http.postBuffer 157286400
  3. after that, just set/add ur remote like before
  4. add, commit, push. this solves mine
-1

For me the issue was with my wifi extender. When I connect directly to my wifi without using extender, it started working.

iambasiljoy
  • 319
  • 3
  • 11