Re: [PATCH 0/2] infinite loop in "git ls-tree" for broken symlink
Thank you for info, I totally missed that. Yes, this fixes the issue perfectly. Petr On 14.10.2016 15:42, Jeff King wrote: > On Fri, Oct 14, 2016 at 03:16:50PM +0200, Petr Stodulka wrote: > >> I have realized that this wasn't fixed after all when refs.c >> was "rewritten". Issue is caused by broken symlink under refs/heads, >> which causes infinite loop for "git ls-tree" command. It was replied >> earlier [0] and Michael previously fixed that in better way probably, >> then my proposed patch 2/2, but it contains more changes and I have not >> enough time to study changes in refs* code, so I propose now just my >> little patch, which was previously modified by Michael. >> >> If you prefer different solution, I am ok with this. It is really >> just quick proposal. Patch 1/2 contains test for this issue. If you >> will prefer different solution with different exit code, test should >> be corrected. Basic idea is, that timeout should'n expire with >> exit code 124. >> >> [0] http://marc.info/?l=git=142712669103790=2 >> [1] https://github.com/mhagger/git, branch "ref-broken-symlinks" > > I think I fixed this semi-independently last week; see the thread at: > > > http://public-inbox.org/git/20161006164723.ocg2nbgtulpjc...@sigill.intra.peff.net/ > > I say semi-independently because I didn't actually know about your > previous report, but saw it in the wild myself. But I did talk with > Michael off-list, and he suggested the belt-and-suspenders retry counter > in my second patch. > > The fix is at e8c42cb in Junio's tree, and it's currently merged to > 'next'. > > -Peff > signature.asc Description: OpenPGP digital signature
Re: [PATCH 0/2] infinite loop in "git ls-tree" for broken symlink
On Fri, Oct 14, 2016 at 03:16:50PM +0200, Petr Stodulka wrote: > I have realized that this wasn't fixed after all when refs.c > was "rewritten". Issue is caused by broken symlink under refs/heads, > which causes infinite loop for "git ls-tree" command. It was replied > earlier [0] and Michael previously fixed that in better way probably, > then my proposed patch 2/2, but it contains more changes and I have not > enough time to study changes in refs* code, so I propose now just my > little patch, which was previously modified by Michael. > > If you prefer different solution, I am ok with this. It is really > just quick proposal. Patch 1/2 contains test for this issue. If you > will prefer different solution with different exit code, test should > be corrected. Basic idea is, that timeout should'n expire with > exit code 124. > > [0] http://marc.info/?l=git=142712669103790=2 > [1] https://github.com/mhagger/git, branch "ref-broken-symlinks" I think I fixed this semi-independently last week; see the thread at: http://public-inbox.org/git/20161006164723.ocg2nbgtulpjc...@sigill.intra.peff.net/ I say semi-independently because I didn't actually know about your previous report, but saw it in the wild myself. But I did talk with Michael off-list, and he suggested the belt-and-suspenders retry counter in my second patch. The fix is at e8c42cb in Junio's tree, and it's currently merged to 'next'. -Peff
[PATCH 0/2] infinite loop in "git ls-tree" for broken symlink
Hi, I have realized that this wasn't fixed after all when refs.c was "rewritten". Issue is caused by broken symlink under refs/heads, which causes infinite loop for "git ls-tree" command. It was replied earlier [0] and Michael previously fixed that in better way probably, then my proposed patch 2/2, but it contains more changes and I have not enough time to study changes in refs* code, so I propose now just my little patch, which was previously modified by Michael. If you prefer different solution, I am ok with this. It is really just quick proposal. Patch 1/2 contains test for this issue. If you will prefer different solution with different exit code, test should be corrected. Basic idea is, that timeout should'n expire with exit code 124. [0] http://marc.info/?l=git=142712669103790=2 [1] https://github.com/mhagger/git, branch "ref-broken-symlinks" Michael Haggerty (1): resolve_ref_unsafe(): limit the number of "stat_ref" retries Petr Stodulka (1): Add test for ls-tree with broken symlink under refs/heads refs/files-backend.c| 6 -- refs/refs-internal.h| 6 ++ t/t3103-ls-tree-misc.sh | 9 + 3 files changed, 19 insertions(+), 2 deletions(-) -- 2.5.5