Git Clone Fails - error: RPC failed; result=56, HTTP code = 200
Symptoms
During a clone or fetch, Git fails with the following error:
git clone http://stash.company.com:7990/scm/proj/repo.git
fatal: early EOF
fatal: The remote end hung up unexpectedly
fatal: index-pack failed
error: RPC failed; result=56, HTTP code = 200
Completed with errors, see above.
Diagnosis
Temporarily disable any firewall or anti-virus software and attempt the clone again.
To turn on Git debug logging, before pushing using the command line, proceed like this for different OS:
On Linux
Execute the following in the command line before executing the Git command:
export GIT_TRACE_PACKET=1
export GIT_TRACE=1
export GIT_CURL_VERBOSE=1
On Windows
Execute the following in the command line before executing the Git command:
set GIT_TRACE_PACKET=1
set GIT_TRACE=1
set GIT_CURL_VERBOSE=1
Cause
Issue #1:
Error code 56 indicates a curl
receive error of CURLE_RECV_ERROR
which means there was some issue that prevented the data from being received during the clone process. Typically this is caused by a network setting, firewall, VPN client, or anti-virus that is terminating the connection before all data has been transferred.
Issue #2:
The bug below could be causing that situation:
-
-
BSERV-7633Getting issue details...
STATUS
: under a stress test, with multiple concurrent Git clones, some fail with the following error:
Workaround
Switch to using SSH to perform the clone.
Resolution
Issue #1:
Change the anti-virus settings, firewall settings, or VPN client so that they allow connections from Stash and do not terminate them prematurely.
Issue #2:
Please upgrade your instance to a release that contains the fix.