Web lists-archives.com

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





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

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