git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: Massive repository corruptions

From
Avery Pennarun <apenwarr@gmail.com>
Date
Jul 13, 2010, 17:59 UTC
Message-ID
<AANLkTimYeKr0asVE9mo8VcQEp5kdC18Wk5ykY9OFwixN@mail.gmail.com>
In-Reply-To
<20100713102245.GE29392@nibiru.local>
On Tue, Jul 13, 2010 at 6:22 AM, Enrico Weigelt <weigelt@metux.de> wrote:
Show 18 quoted lines
> * Avery Pennarun <apenwarr@gmail.com> wrote:
>> On Tue, Jul 13, 2010 at 1:03 AM, Enrico Weigelt <weigelt@metux.de> wrote:
>> > * Avery Pennarun <apenwarr@gmail.com> wrote:
>> >> Do you know which packfiles are corrupted?  Does 'git index-pack' on
>> >> the files reveal anything?
>> >
>> > git@blackwidow ~/metux/work.git/pack $ git index-pack pack-3b6cbd5dc5f54cf390cfaa479cac6a99d7401375.pack
>> > error: inflate: data stream error (incorrect data check)
>> > fatal: pack has bad object at offset 37075832: inflate returned -3
>> >
>> > (that's essentially the same git-gc says)
>>
>> What's the size of that .pack file?
>
> Somewhat over 300MB.
>
> Lowering the packfile size seemed to help.
> (but I still only can do that for git-repack, not remote transfers)

If you got corruption at offset 37,075,832 (about 37 megs) and the pack is over 300 megs, then the file itself is corrupted right in the middle (not truncated) and this couldn't have been caused by disk full errors. Either you have memory corruption problems, or disk corruption problems, or filesystem corruption problems. You'd better watch out.

Forcing the packfile size to be smaller probably just changes your memory access patterns and moves your errors around. But it doesn't sound like a git bug at this point.

Avery
Previous: Enrico WeigeltNext: Enrico Weigelt
Message 9 of 13 in “Massive repository corruptions”
  1. Enrico WeigeltJul 13, 2010
  2. Avery PennarunJul 13, 2010
  3. Enrico WeigeltJul 13, 2010
  4. Enrico WeigeltJul 13, 2010
  5. Enrico WeigeltJul 13, 2010
  6. Valeo de VriesJul 13, 2010
  7. Avery PennarunJul 13, 2010
  8. Enrico WeigeltJul 13, 2010
  9. Avery PennarunJul 13, 2010
  10. Enrico WeigeltJul 14, 2010
  11. Enrico WeigeltAug 5, 2010
  12. Enrico WeigeltAug 5, 2010
  13. Enrico WeigeltAug 5, 2010

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.