Re: Git 2.19 Segmentation fault 11 on macOS
- From
Thomas Gummerer <t.gummerer@gmail.com>
- Date
- Sep 11, 2018, 16:34 UTC
- Message-ID
- <20180911163419.GB4865@hank.intra.tgummerer.com>
- In-Reply-To
- <fd241679-2283-4e01-315b-db27be8a794c@gmail.com>
On 09/11, Derrick Stolee wrote:
Show 38 quoted lines
> On 9/11/2018 12:04 PM, Derrick Stolee wrote:
> > On 9/11/2018 11:38 AM, Derrick Stolee wrote:
> > The patch below includes a test that fails on Mac OSX with a segfault.
> >
> > GitGitGadget PR: https://github.com/gitgitgadget/git/pull/36
> > Failed Build: https://git-for-windows.visualstudio.com/git/_build/results?buildId=18616&view=logs
> >
> > -->8--
> >
> > From 3ee470d09d54b9ad7ab950f17051d625db0c8654 Mon Sep 17 00:00:00 2001
> > From: Derrick Stolee <dstolee@microsoft.com>
> > Date: Tue, 11 Sep 2018 11:42:03 -0400
> > Subject: [PATCH] range-diff: attempt to create test that fails on OSX
> >
> > Signed-off-by: Derrick Stolee <dstolee@microsoft.com>
> > ---
> > t/t3206-range-diff.sh | 5 +++++
> > 1 file changed, 5 insertions(+)
> >
> > diff --git a/t/t3206-range-diff.sh b/t/t3206-range-diff.sh
> > index 2237c7f4af..02744b07a8 100755
> > --- a/t/t3206-range-diff.sh
> > +++ b/t/t3206-range-diff.sh
> > @@ -142,4 +142,9 @@ test_expect_success 'changed message' '
> > test_cmp expected actual
> > '
> >
> > +test_expect_success 'amend and check' '
> > + git commit --amend -m "new message" &&
> > + git range-diff changed-message HEAD@{2} HEAD
> > +'
> > +
> > test_done
> > --
> > 2.19.0.rc2.windows.1
>
>
> Sorry, nevermind. The test failed for a different reason:I think you're on the right track here. I can not test this on Mac OS, but on Linux, the following fails when running the test under valgrind:
diff --git a/t/t3206-range-diff.sh b/t/t3206-range-diff.sh
index 2237c7f4af..a8b0ef8c1d 100755
--- a/t/t3206-range-diff.sh
+++ b/t/t3206-range-diff.sh
@@ -142,4 +142,9 @@ test_expect_success 'changed message' '
test_cmp expected actual
'
+test_expect_success 'amend and check' '
+ git commit --amend -m "new message" &&
+ git range-diff master HEAD@{1} HEAD
+'
+
test_donevalgrind gives me the following:
==18232== Invalid read of size 4 ==18232== at 0x34D7B5: compute_assignment (linear-assignment.c:54) ==18232== by 0x2A4253: get_correspondences (range-diff.c:245) ==18232== by 0x2A4BFB: show_range_diff (range-diff.c:427) ==18232== by 0x19D453: cmd_range_diff (range-diff.c:108) ==18232== by 0x122698: run_builtin (git.c:418) ==18232== by 0x1229D8: handle_builtin (git.c:637) ==18232== by 0x122BCC: run_argv (git.c:689) ==18232== by 0x122D90: cmd_main (git.c:766) ==18232== by 0x1D55A3: main (common-main.c:45) ==18232== Address 0x4f4d844 is 0 bytes after a block of size 4 alloc'd ==18232== at 0x483777F: malloc (vg_replace_malloc.c:299) ==18232== by 0x3381B0: do_xmalloc (wrapper.c:60) ==18232== by 0x338283: xmalloc (wrapper.c:87) ==18232== by 0x2A3F8C: get_correspondences (range-diff.c:207) ==18232== by 0x2A4BFB: show_range_diff (range-diff.c:427) ==18232== by 0x19D453: cmd_range_diff (range-diff.c:108) ==18232== by 0x122698: run_builtin (git.c:418) ==18232== by 0x1229D8: handle_builtin (git.c:637) ==18232== by 0x122BCC: run_argv (git.c:689) ==18232== by 0x122D90: cmd_main (git.c:766) ==18232== by 0x1D55A3: main (common-main.c:45) ==18232==
I'm looking into why that fails. Also adding Dscho to Cc here as the author of this code.