Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Can't push to GitHub error: pack-objects died of signal 13

Tags:

git

github

I'm having trouble pushing my local folder to my remote repository on GitHub.

After I push it gets to around 96% then shows this..

Counting objects: 4145, done.
Delta compression using up to 2 threads.
Connection to github.com closed by remote host.
fatal: The remote end hung up unexpectedly
Compressing objects:  98% (3919/3969)   

Then after the last 2% completes is shows this error...

Compressing objects: 100% (3963/3963), done.
error: pack-objects died of signal 13
error: failed to push some refs to '[email protected]:example/example.git' 

Unsure what that means.

like image 664
Dan Avatar asked Sep 01 '13 13:09

Dan


3 Answers

This might be caused by the new GitHub limits on file sizes, or possibly the packing process is crashing out due to large data (like in this other SO question from 2011: Alternative way to do an initial push of a large repo) before those particular limits can even be reported.

A few weeks ago on a colleague's Mac OS X machine I saw a similar opaque error messag when pushing (tho' only over HTTPS - SSH gave the good error message) - yet having tried to reproduce this just now by pushing a big file to GitHub on my own Mac, I got the expected informative error message on both connection protocols ("remote: error: File big is 976.56 MB; this exceeds GitHub's file size limit of 100 MB"). It's possible that my colleague had an older version of Git installed that couldn't report the errors correctly.

If you decide you need to remove the large files from your Git history (as it's the only way you'll get them pushed up to GitHub), I can recommend The BFG:

$ java -jar bfg.jar  --strip-blobs-bigger-than 50M  my-repo.git

Full disclosure: I'm the author of the BFG Repo-Cleaner.

like image 180
Roberto Tyley Avatar answered Nov 19 '22 06:11

Roberto Tyley


Simple solution is to increase the HTTP post buffer size to allow for larger chunks to be pushed up to the remote repo. To do that, simply type:

git config http.postBuffer 52428800

The number is in bytes, so in this case I have set it to 50MB. The default is 1MB.

like image 30
Milan Saha Avatar answered Nov 19 '22 06:11

Milan Saha


If you couldn't start the proccess it could also mean that permissions of your master server repository are wrong. I've just faced this problem, and my repository on master was with root.root permissions, so my user git couldn't write data there.

You may try checking your master's repository permissions before trying to push.

like image 3
Carlos Eduardo Santos Avatar answered Nov 19 '22 08:11

Carlos Eduardo Santos