4

What's the matter with git?

$ git push
Counting objects: 1431, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (1326/1326), done.
Writing objects: 100% (1429/1429), 131.94 MiB | 15.41 MiB/s, done.
Total 1429 (delta 630), reused 0 (delta 0)
error: RPC failed; result=55, HTTP code = 200
fatal: The remote end hung up unexpectedly
fatal: The remote end hung up unexpectedly
Everything up-to-date
Yishu Fang
  • 9,448
  • 21
  • 65
  • 102
  • 2
    possible duplicate of [Git "efrror: RPC failed; result=55, HTTP code = 0" on push](http://stackoverflow.com/questions/17437642/git-efrror-rpc-failed-result-55-http-code-0-on-push) – janos Dec 30 '13 at 05:44
  • All the existing answers refer to HTTP code = 0, not 200. The 0 code can be solved by increasing http.postBuffer `git config http.postBuffer 524288000` – Simon Robb Feb 04 '14 at 23:50

5 Answers5

4

We experienced this issue recently but none of the above solved it. In the end we pushed patches a few at a time (binary chop) until we found that one was causing the problem.

The version of Git on the server was older than our local Git and did not support one of the headers in the commit.

An easy way to see if this affects you is to run git fsck in your repository directory. This will report any potential issues.

mrtimuk
  • 53
  • 9
3

Change protocol git from https to ssh will resolve this problem. This is guide using for bitbucket https://confluence.atlassian.com/display/BITBUCKET/Set+up+SSH+for+Git

cuasodayleo
  • 466
  • 5
  • 16
  • the [same response](http://stackoverflow.com/a/22111806/461958) was given to another post. I'm not sure this link really applies. – mateuscb Mar 01 '14 at 08:24
  • 1
    this solution was fix my problem. and now, i use ssh for a week, i never get this error. ssh is really applies protocol – cuasodayleo Mar 04 '14 at 06:34
3

In my case this was due to a GNUtls error, which showed up after running

 GIT_CURL_VERBOSE=1 git clone https:<URL>

The workaround that worked for me was to build git using the openssl library instead of gnutls. For Ubuntu systems this link offers a way of achieving this.

It is worth noting that I'm behind a company proxy, and this may be triggering the problem.

Community
  • 1
  • 1
Damian Nadales
  • 4,907
  • 1
  • 21
  • 34
2

Some info on the error here: https://confluence.atlassian.com/pages/viewpage.action?pageId=301663267

(from the linked article) Try this command to get more info about your error:

GIT_CURL_VERBOSE=1 git push
Daniel
  • 10,115
  • 3
  • 44
  • 62
  • Similar issue, `GIT_CURL_VERBOSE` didn't help much: `* SSLWrite() returned error -98056), 46.41 MiB | 785.00 KiB/s * Closing connection 3 error: RPC failed; result=55, HTTP code = 200` – kenorb Jul 21 '14 at 15:03
0

This is an odd error. I'm actually getting the same when I push a large repo to GitHub. However, error 55 is a CURL error, it's basically a problem transmitting data over the network. The kicker is that if the data wasn't sent correctly, how does CURL get a 200 response?

My only conclusion is I'm using a proxy and that the proxy is returning a 200 response to git, but the proxy itself had issues sending the data. I'm afraid this is an educated guess, but if you can use SSH then you'll obviously bypass the dodgy proxy so I'd say this is the best workaround.

Chris Sherlock
  • 3,112
  • 2
  • 13
  • 9