Git fatal: pack has bad object at offset X: inflate returned -5

南笙酒味 提交于 2020-08-04 03:57:17

问题


Git has given me a lovely christmas gift... I'm trying to git push a bunch of commits, like 6 GB. And I'm getting the following error message:

-Counting objects: 525, done.
Delta compression using up to 24 threads.
Compressing objects: 100% (474/474), done.
fatal: pack has bad object at offset 3453162391: inflate returned -5
error: pack-objects died of signal 13
error: failed to push some refs to ....git

What does this mean and how is it fixed? From Google I can tell it has something to do with the size of what I'm trying to push.

This happened while it was writing.


回答1:


Based on your offset, it looks like you're trying to push some really big object (offset 3453162391 =~ >= 3GB), so zlib failed on inflating/compressing the object since there was not enough room in the output buffer (error: Z_BUF_ERROR).

This could be related to temporary lack of memory, or some buffer limits. Basically it's trying to process as much input as possible using the available output, otherwise it returns Z_BUF_ERROR. See: zlib inflate returning a buffer error.

You should re-try to see if the problem can be reproduced.

If the issue is repeatable, then try to:

  • avoid pushing large files into git repository, Git was designed to track the source code files, not very large files (like 6GB),

  • increase git message size on your client http.postBuffer, e.g.

    git config http.postBuffer 134217728 # =~ 128MB
    
  • use some alternative client which can ignore larger blobs, such as bfg, e.g.

    java -jar bfg.jar --strip-blobs-bigger-than 100M some-big-repo.git
    
  • remove the object which is causing the issue (git gc?).

Other potential issues could include:

  • a git bug, since according to zlib manual, the command shouldn't abort on Z_BUF_ERROR,
  • old kernel bug (<= 2.6.32-rc4).

For further readings, check this post: “pack has bad object” when pushing to remote.


If you'd like to work with large files with Git, check the followings:

  • GitHub: Announcing Git Large File Storage (LFS) & Git Large File Storage (LFS)
  • Git with large files


来源:https://stackoverflow.com/questions/27653116/git-fatal-pack-has-bad-object-at-offset-x-inflate-returned-5

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!