Web lists-archives.com

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





> Am 31.12.2018 um 12:20 schrieb Duy Nguyen <pclouds@xxxxxxxxx>:
> 
> On Mon, Dec 31, 2018 at 6:13 PM Marc Balmer <marc@xxxxxxx> wrote:
>> 
>> 
>> 
>>> Am 31.12.2018 um 11:51 schrieb Duy Nguyen <pclouds@xxxxxxxxx>:
>>> 
>>> On Mon, Dec 31, 2018 at 5:44 PM Marc Balmer <marc@xxxxxxx> 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.

In a (private) Email to me, he indicated that had no time for a fix.  Maybe he can speak up here?

In any case, if I can help testing, I am in.  I just don't know the inner workings of git-subtree.sh (I am a mere user of it...)


> 
>> 
>>> 
>>>>  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