Re: Fwd: Possible git bug in commit-graph: "invalid commit position"
To
Gary Oberbrunner
git@vger.kernel.org
From
Derrick Stolee
See Also
Prev
Date
2020-01-21 00:37:40 UTC
On 1/20/2020 12:32 PM, Gary Oberbrunner wrote:
> I'm running git 2.24.1 on Linux/WSL, and sometimes git fails with this error:
> ```
> % git diff --cached
> fatal: invalid commit position. commit-graph is likely corrupt
> ```
> Usually that error goes away after I do a few more git operations, but
> I haven't been able to discern a pattern yet. It's not always with
> "diff", can be any git command as far as I can tell.
> Perhaps it started after I enabled the commit-graph stuff:
> ```
> [core]
>         editor = emacsclient -c -a \"\"
>         preloadindex = true
>         fscache = true
>         autocrlf = false
>         commitGraph = true
>         writeCommitGraph = true
> ```
> In fact, when I turn off `commitGraph`, the error goes away. But as I
> say, sometimes it goes away of its own accord.

Disabling the featuere will definitely remove the error. Some commands may
also just not "visit" the corrupt commit.

> Googling turns up almost nothing on this error. I have no idea if I've
> done something wrong to corrupt the commit graph, or if it's a git
> bug. If there's anything I can do to help debug it, I'd be happy to --
> just let me know.

Please run "git commit-graph verify" to see if that catches the
corruption. If not, then the verify feature is broken.

Then, you can delete your .git/objects/info/commit-graph file
and rebuild it with "git commit-graph write". (If you have
fetch.writeCommitGraph enabled, then you may need to instead
delete the .git/objects/info/commit-graphs directory.) If that
process does not fix the problem, then there is definitely a bug
in the feature. At the moment, it may just be a flipped bit in
the file.

Thanks,
-Stolee