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

Re: Debugging corrupt object generation

From
Nicolas Pitre <nico@cam.org>
Date
Nov 1, 2007, 23:57 UTC
Message-ID
<alpine.LFD.0.9999.0711011947220.21255@xanadu.home>
In-Reply-To
<Pine.LNX.4.64.0711012256080.17812@beast.quantumfyre.co.uk>
On Thu, 1 Nov 2007, Julian Phillips wrote:
Show 12 quoted lines
> I have been trying to import a repository using fast-import, and as part of
> this I have extended fast-import to support copying a path from any arbitrary
> commit.  This works fine on my small test repository.
> 
> However, when I run against my (vastly more complicated) real work repository
> things don't go so well.  I get a few thousand commits in, and then it breaks.
> It appears that I have somehow managed to create a corrupt object or
> something.
> 
> After a certain commit, and attempt to use that commit generates a "fatal:
> unable to apply delta".  This appears to be coming from unpack_delta_entry
> in sha1_file.c.

I suppose you mean "fatal: failed to apply delta", because "unable to apply delta" doesn't appear anywhere in the current source tree.

> Can anyone give me any hints as to how I find out what is causing the
> problem?  I'm not even sure what it is that isn't working ... and all
> attempts to replicate the problem with my test repository have failed.

Well, something is screwed for sure. Some object you're requesting is made of a delta, and that delta is bad, therefore patch_delta() returns NULL (you could instrument it to determine exactly why).

Maybe fast-import hasn't flushed the needed data to the pack yet?
Nicolas
Previous: Julian PhillipsNext: Julian Phillips
Message 2 of 4 in “Debugging corrupt object generation”
  1. Julian PhillipsNov 1, 2007
  2. Nicolas PitreNov 1, 2007
  3. Julian PhillipsNov 2, 2007
  4. Shawn O. PearceNov 2, 2007

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.