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

Re: Regression in git-subtree.sh, introduced in 2.20.1, after 315a84f9aa0e2e629b0680068646b0032518ebed

From
Duy Nguyen <pclouds@gmail.com>
Date
Dec 31, 2018, 11:20 UTC
Message-ID
<CACsJy8AQ1raB+2wjEBtDrAvJm0v-3exJ-FVB2ZyL6VpRFQkspQ@mail.gmail.com>
In-Reply-To
<11AC6C27-4C74-43B1-89F6-98ABBFE74E0E@msys.ch>
On Mon, Dec 31, 2018 at 6:13 PM Marc Balmer <marc@msys.ch> wrote:
Show 24 quoted lines
>
>
>
> > Am 31.12.2018 um 11:51 schrieb Duy Nguyen <pclouds@gmail.com>:
> >
> > On Mon, Dec 31, 2018 at 5:44 PM Marc Balmer <marc@msys.ch> wrote:
> >>
> >> Hi
> >>
> >> One of the last three commits in git-subtree.sh introduced a regression leading to a segfault.
> >>
> >> Here is the error message when I try to split out my i18n files:
> >>
> >> $ git subtree split --prefix=i18n
> >> cache for e39a2a0c6431773a5d831eb3cb7f1cd40d0da623 already exists!
> >>   (Lots of output omitted)
> >> 436/627 (1819) [1455]       <- Stays at 436/ while the numbers in () and [] increase, then segfaults:
> >> /usr/libexec/git-core/git-subtree: line 751: 54693 Done                    eval "$grl"
> >>    54694 Segmentation fault      (core dumped) | while read rev parents; do
> >
> > Do you still have this core dump? Could you run it and see if it's
> > "git" that crashed (and where) or "sh"?
>
> It is /usr/bin/bash that segfaults.  My guess is, that it runs out of memory (as described above, git-subtree enters an infinite loop untils it segafults).

Ah that's better (I was worried about "git" crashing). The problematic commit should be 19ad68d95d (subtree: performance improvement for finding unexpected parent commits - 2018-10-12) then, although I can't see why.

I don't think we have any release coming up soon, so maybe Roger can still have some time to fix it instead of a just a revert.

Show 24 quoted lines
>
> >
> >>   process_split_commit "$rev" "$parents" 0;
> >> done
> >>
> >> Please note that this regression can not easily be reproduced, normally a subtree split just works.
> >>
> >> Reverting the last three commits "fixes" the issue.  So I kindly ask the last three commits to be reverted.
> >
> > Please provide the SHA-1 of the "good" commit you tested.
>
> I reverted these three commits (actually the last three commits to contrib/subtree/git-subtree.sh):
>
> 19ad68d95d6f8104eca1e86f8d1dfae50c7fb268
> 68f8ff81513fb3599ef3dfc3dd11da36d868e91b
> 315a84f9aa0e2e629b0680068646b0032518ebed
>
> And then it worked.
>
> - Marc
>
> --
> > Duy
>
-- 
Duy
Previous: Marc BalmerNext: Marc Balmer
Message 4 of 12 in “Regression in git-subtree.sh, introduced in 2.20.1, after 315a84f9aa0e2e629b0680068646b0032518ebed”
  1. Marc BalmerDec 31, 2018
  2. Duy NguyenDec 31, 2018
  3. Marc BalmerDec 31, 2018
  4. Duy NguyenDec 31, 2018
  5. Marc BalmerDec 31, 2018
  6. Duy NguyenDec 31, 2018
  7. Marc BalmerDec 31, 2018
  8. Duy NguyenJan 1, 2019
  9. Marc BalmerJan 2, 2019
  10. Strain, Roger L.Jan 2, 2019
  11. Johannes SchindelinJan 3, 2019
  12. Strain, Roger L.Jan 3, 2019

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.