Git Clone Fails - fatal: The remote end hung up unexpectedly. fatal: early EOF fatal: index-pack failed

お困りですか?

アトラシアン コミュニティをご利用ください。

コミュニティに質問

プラットフォームについて: Server と Data Center のみ - この記事は、サーバーおよびデータセンター プラットフォームのアトラシアン製品にのみ適用されます。

問題

During a clone or fetch, Git fails with the following errors:

例 1
git clone http://bitbucket.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.
例 2

git clone fails after 1 GB

git clone http://bitbucket.company.com:7990/scm/proj/repo.git. Cloning into 'repo'....git
remote: Counting objects: , done.
remote: Compressing objects: 100% (####/###), done.
fatal: The remote end hung up unexpectedly.00 GiB | MiB/s
fatal: early EOF
fatal: index-pack failed

and in atlassian-bitbucket.log 

2017-07-26 12:39:18,819 INFO  [http-nio-7990-exec-8] <user> @4MMSRUx758x33193x0 <IP> "POST /scm/team/<repo>/git-upload-pack HTTP/1.0" c.a.s.i.w.filters.StreamGuardFilter The remote client has aborted the connection


診断

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:

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

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

原因

Possible causes include:

  • Cause #1 git debug output has error: RPC failed; result=56, HTTP code = 200
    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.
  • Cause #2 There is no error code and git debug log shows that Nginx is configured as reverse proxy. Git clone fails after 1 GB.
    e.g.

    < HTTP/1.1 200
    < Server: nginx/1.10.2

回避策

Workaround for Cause #1: Switch to using SSH to perform the clone. 

Workaround for Cause #2: Bypass the proxy and clone. e.g. How do I bypass a proxy for bitbucket server

ソリューション

  • Resolution for Cause #1:
    Change the anti-virus settings, firewall settings, or VPN client so that they allow connections from Bitbucket Server and do not terminate them prematurely.
  • Resolution for Cause #2:
    Disable the default 1GB limit of proxy_max_temp_file_size for Nginx. Value need to be set as zero to disable it
    You can find more details here http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_max_temp_file_size . 

説明

During a clone or fetch, Git fails with EOF errors.

製品Bitbucket
最終更新日: 2018 年 9 月 11 日

この内容はお役に立ちましたか?

はい
いいえ
この記事についてのフィードバックを送信する
Powered by Confluence and Scroll Viewport.