projects/datalad/bugs-done/regression - fails to drop . Exit code 11 wo --debug, and 1 with --debugyohhttp://git-annex.branchable.com/projects/datalad/bugs-done/regression_-_fails_to_drop_._Exit_code_11_wo_--debug__44___and_1_with_--debug/git-annexikiwiki2023-01-05T17:30:31Zcomment 1http://git-annex.branchable.com/projects/datalad/bugs-done/regression_-_fails_to_drop_._Exit_code_11_wo_--debug__44___and_1_with_--debug/comment_1_3c2578d17ce519f80aa278a546df29cf/joey2023-01-05T17:30:31Z2018-05-08T17:09:35Z
<p>Neither git rev 6316072f0 nor 86b18966f is present in my git-annex git repo,
which makes it kind of hard to look at the diff between whatever versions
of git-annex you're running. Are you building out of a patched git
repository?</p>
<p>My guess is <a href="http://source.git-annex.branchable.com/?p=source.git;a=commitdiff;h=bea0ad220a68138dc0a43d0c86bb2353ecf92d2c">bea0ad220a68138dc0a43d0c86bb2353ecf92d2c</a>
since it involves both directory reading and unsafeInterleaveIO.</p>
<p>Indeed, it looks like that could defer a readDirStream due to
unsafeInterleaveIO to outside the open/close bracket. And I suppose reading
from a closed file handle might conceivably segfault.</p>
<p>Looks like that would affect bare repositories, or using --all.
I don't think it would affect those commands in a non-bare repository.
Ah, I see youre whereis is indeed in a bare repository, and your drop
used --all, so my analysis seems right.</p>
<p>Fixed by backing out the problematic part of the commit.</p>