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

前端 未结 1 754
误落风尘
误落风尘 2021-02-19 22:55

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:

-C         


        
相关标签:
1条回答
  • 2021-02-19 23:14

    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
    0 讨论(0)
提交回复
热议问题