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