threads / discuss / 51779

git range-diff <range1> <range2> throws Segmentation fault

Subject: git range-diff <range1> <range2> throws Segmentation fault

## tl;dr

4 messages between Aug 30, 2019 and Sep 3, 2019.

replies: 3people: 3as markdown or json

van den Berg, Kasper· Aug 30, 2019, 07:19 UTC · lore
Hello,
`git range-diff <range1> <range2>` prints "segmentation fault" to the console and nothing else.  It happens in git version 2.23.0.windows.1 and only occurs for some branches in my repository.  I have not exactly determined when it does happen and when it does not (I'm not familiar with git's codebase).  These are my results:

Status Version Config Result ✘ 2.23.0.windows.1 64-bit, local Segmentation fault ✘ 2.23.0.windows.1 64-bit, local, different ranges related to my current work Segmentation fault ✔ 2.23.0.windows.1 64-bit, local, different ranges completely different from my current work Expected range-diff output ✘ 2.23.0.windows.1 Remote connection to same workdir Segmentation fault ✔ 2.23.0.windows.1 64-bit, local, fresh clone, different ranges completely different from my current work Expected range-diff output ✘ 2.23.0.windows.1 32-bit, local Segmentation fault ✔ 2.21.0.windows.1 64-bit, local Expected range-diff output ✔ 2.21.0.windows.1 64-bit, remoteconnection to same workdir Expected range-diff output

Both <range1> and <range2> comprise between 213 and 270 commits; git gc counts 140394 objects (Total 140394 (delta 110638), reused 137275 (delta 107799)).  I have not preserved the offending branch names.  However, they contain 2 or more slashes and perhaps an at-sign (e.g. 'feature/'<featurename>, 'tmp/old@{'<i>'}/feature/'<featurename>, 'develop', and 'tmp/project-base').
To avoid the problem I returned to using git version 2.21.0.windows.1
I there something I should take into account when doing `git range-diff` on a workdir or on a ranges of commits?  What things should I look for?  How can I repair the broken ranges?  Why does version 2.21.0.windows.1 work while version 2.23.0.windows.1 does not?

With kind regards, Kasper van den Berg

Thomas Gummerer· Aug 30, 2019, 09:12 UTC · re: van den Berg, Kasper · lore

Re: git range-diff <range1> <range2> throws Segmentation fault

On 08/30, van den Berg, Kasper wrote:
Show 7 quoted lines
> Hello,
>
> `git range-diff <range1> <range2>` prints "segmentation fault" to
> the console and nothing else.  It happens in git version
> 2.23.0.windows.1 and only occurs for some branches in my repository.
> I have not exactly determined when it does happen and when it does
> not (I'm not familiar with git's codebase).  These are my results:
Thanks for your bug report.

I guess this is probably related to my patch series aiming at giving nicer output in 'git range-diff', which probably introduced some bug.

Show 17 quoted lines
> Status	Version			Config												Result
> ✘	2.23.0.windows.1	64-bit, local											Segmentation fault
> ✘	2.23.0.windows.1	64-bit, local, different ranges related to my current work					Segmentation fault
> ✔	2.23.0.windows.1	64-bit, local, different ranges completely different from my current work			Expected range-diff output
> ✘	2.23.0.windows.1	Remote connection to same workdir								Segmentation fault
> ✔	2.23.0.windows.1	64-bit, local, fresh clone, different ranges completely different from my current work	Expected range-diff output
> ✘	2.23.0.windows.1	32-bit, local											Segmentation fault
> ✔	2.21.0.windows.1	64-bit, local											Expected range-diff output
> ✔	2.21.0.windows.1	64-bit, remoteconnection to same workdir							Expected range-diff output
>
> Both <range1> and <range2> comprise between 213 and 270 commits; git
> gc counts 140394 objects (Total 140394 (delta 110638), reused 137275
> (delta 107799)).  I have not preserved the offending branch names.
> However, they contain 2 or more slashes and perhaps an at-sign
> (e.g. 'feature/'<featurename>,
> 'tmp/old@{'<i>'}/feature/'<featurename>, 'develop', and
> 'tmp/project-base').

I don't think branch names would cause this, but rather some diff that range-diff doesn't handle correctly. Would you be able to gather a backtrace from the segfault (not sure how to do this on Windows), or share the repository where this segmentation fault occurs?

Show 7 quoted lines
> To avoid the problem I returned to using git version 2.21.0.windows.1
> 
> I there something I should take into account when doing `git
> range-diff` on a workdir or on a ranges of commits?  What things
> should I look for?  How can I repair the broken ranges?  Why does
> version 2.21.0.windows.1 work while version 2.23.0.windows.1 does
> not?

I don't think there's anything you should do here, this sounds like a bug in Git that should be fixed. It would be great if you could help with some more details per above though, otherwise it's going to be hard to track this down.

> With kind regards,
> Kasper van den Berg
Johannes Schindelin· Aug 30, 2019, 19:48 UTC · re: van den Berg, Kasper · lore

Re: git range-diff <range1> <range2> throws Segmentation fault

Hi Kasper,
On Fri, 30 Aug 2019, van den Berg, Kasper wrote:
> `git range-diff <range1> <range2>` prints "segmentation fault" to the
> console and nothing else.  It happens in git version 2.23.0.windows.1
> and only occurs for some branches in my repository.

Maybe you can come up with a Minimal, Complete and Verifiable Example (https://stackoverflow.com/help/mcve)?

Ciao, Johannes

van den Berg, Kasper· Sep 3, 2019, 06:34 UTC · re: Johannes Schindelin · lore

RE: git range-diff <range1> <range2> throws Segmentation fault

Hi Johannes, hello Thomas,

Currently, I'm approaching a release deadline and there are some tasks with higher priority waiting for me and creating a MCVE takes some time. Creating the stacktrace and ensuring I don't leak proprietary code also takes more time than I can currently afford. In two weeks I might have more time. If needed, I will try to help with appropriate error data and/or a reproduction.

With kind regards, Kasper van den Berg

-----Oorspronkelijk bericht-----
Van: Johannes Schindelin <Johannes.Schindelin@gmx.de> 
Verzonden: vrijdag 30 augustus 2019 21:49
Aan: van den Berg, Kasper <Kasper_vandenBerg@reyrey.com>
CC: git@vger.kernel.org
Onderwerp: Re: git range-diff <range1> <range2> throws Segmentation fault
Hi Kasper,
On Fri, 30 Aug 2019, van den Berg, Kasper wrote:
> `git range-diff <range1> <range2>` prints "segmentation fault" to the 
> console and nothing else.  It happens in git version 2.23.0.windows.1 
> and only occurs for some branches in my repository.
Maybe you can come up with a Minimal, Complete and Verifiable Example (https://stackoverflow.com/help/mcve)?

Ciao, Johannes

← back to recent threads