Thread (5 messages) flat view 5 messages, 2 authors, 2021-02-10

Re: BUG: commit-reach.c:66: bad generation skip

From: Derrick Stolee <hidden>
Date: 2021-02-08 02:26:46

On 2/7/2021 5:31 PM, Filippo Valsorda wrote:
On Sun, Feb 7, 2021 at 11:28 PM Filippo Valsorda [off-list ref] wrote:
quoted
[System Info]
git version:
git version 2.30.0
_This_ is interesting. I haven't heard of this problem happening
in a released version of Git.

I'm CC'ing Jonathan Nieder who recently saw this happening, but that
was on a newer version than 2.30.0 with a topic that is not part
of 2.30.0. But maybe the version shipped internally is versioned
without extra information on top of the latest tag? (I see your
@google.com email, which makes me think you have an internal version.)
quoted
What happened instead? (Actual behavior)

BUG: commit-reach.c:66: bad generation skip     ad18 >        7 at
be28e5abc5ddca0d6b2d8c91b7bb9c05717154e7
This was recently reported, but it was thought to be due to an
in-process topic branch. If you recently had that version installed,
then your data would have needed a rewrite anyway.

This hints towards more problems with generation numbers across
split commit-graph layers. (The child has generation number 7, so
it is likely part of a thin layer.)

This might be sufficient evidence to convert this BUG() to a
warning with something like:

  warning: The commit-graph file has incorrect reachability index
  warning: information. Results may be incorrect until commit-graph
  warning: is rewritten with 'git commit-graph write'.

This could also be a die() instead of warning(), as that command
itself might return incorrect results.
I was able to workaround this bug with a "git gc" invocation.
Yes, this will delete (and possibly replace) your commit-graph file
where the bad data lies.

To better understand your situation, could you please run the
following commands?

	git config --get-regexp graph
	git config features.experimental

I'm specifically looking for values of fetch.writeCommitGraph and
gc.writeCommitGraph.

Thanks,
-Stolee
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help