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

Re: fatal: internal error in diff-resolve-rename-copy

From
Alex Riesen <raa.lkml@gmail.com>
Date
Jul 7, 2010, 08:13 UTC
Message-ID
<AANLkTimoNMYgP8-Wv0xZG0Ge7LpDZHblKSop8bozdfjY@mail.gmail.com>
In-Reply-To
<4C3341EA.7070901@drmicha.warpmail.net>
On Tue, Jul 6, 2010 at 16:47, Michael J Gruber <git@drmicha.warpmail.net> wrote:
Show 16 quoted lines
> Alex Riesen venit, vidit, dixit 05.07.2010 20:20:
>> On Mon, Jul 5, 2010 at 14:05, Michael J Gruber <git@drmicha.warpmail.net> wrote:
>>> can someone help me with understanding or debugging the following? With
>>> "log -p --stat" I get that strange fatal error. (With GIT_FLUSH=0 it
>>> appears upfront.)
>>>
>>> Without "-p --stat" the log is displayed without a fatal error (same 3
>>> commits), but with "-p" or "--stat" (or both) it's fatal.
>>
>> Could you run the case under valgrind? (I suspect a corruption of diff
>> data structures)
>
> I have zero experience with valgrind. Running the reported command with
> the same suppressions as the test suite does, but with full leak check,
> I get the following report on stderr. Do you see anything suspicious in
> there? Should I run valgrind with -v?

No, I afraid it wont help. Memory access errors are always reported and these ("use of uninitialized value", in particular) were what I hoped to see here.

In this case something left the diff_filepair unset after allocation (hence the "internal error". Should have been "Oops, we have a bug"): value 0 (as seen in the check_pair_status, where the message comes from) is just what the structure gets initialized by allocation.

Unless the repository is private (otherwise I'd like to take a look at it), I'd suggest to put a breakpoint at the message point and try to figure out how come the diff_filepair->status was left unset or why the diff code is interested in its value (maybe it shouldn't be, in this case).

Previous: Michael J Gruber
Message 4 of 4 in “fatal: internal error in diff-resolve-rename-copy”
  1. Michael J GruberJul 5, 2010
  2. Alex RiesenJul 5, 2010
  3. Michael J GruberJul 6, 2010
  4. Alex RiesenJul 7, 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.