Re: [BUG] git clone -q ends with early EOF
On Wed, Sep 18, 2013 at 02:44:18PM +0200, Marek Vasut wrote:
Show 10 quoted lines
> I am trying to clone a repository and I am getting the following output:
>
> $ git clone -q git://kernel.ubuntu.com/ubuntu/linux.git
> fatal: The remote end hung up unexpectedly
> fatal: early EOF
> fatal: index-pack failed
>
> The "fatal:" lines usually appear a few minutes after running the clone. Of
> course, the clone does not finish successfully. Interestingly, when I drop the
> '-q' option from the git clone commandline, the clone finishes correctly.
As Junio mentioned, this does seem like the issue that 05e9515 (upload-pack: send keepalive packets during pack computation, 2013-09-08) tries to fix. The server is quiet for a long period while preparing the pack, and something in the network stack thinks the connection has timed out and kills it.
One way you can check this is by running:
time git clone -q git://kernel.ubuntu.com/ubuntu/linux.git
If it's a network timeout, it will die consistently at some nice round number. In this case, I just ran that command twice, and it died both times at just a hair over 2 minutes. So that is probably what is going on. There's no proxy on my end, so presumably there is some front-end reverse proxying happening on the server end, and it has a 2-minute timeout.
The keepalive patch is not in any released version yet, but we have been running it in production at GitHub for a few weeks. You may want to file a support request with the Ubuntu folks asking to pick up the patch, or to increase the timeouts on their proxies.
-Peff