Re: Issue: repack semi-frequently fails on Windows (msysgit) - suspecting file descriptor issues
- From
- Andreas Mohr <andi@lisas.de>
- Date
- Apr 16, 2015, 11:42 UTC
- Message-ID
- <20150416114235.GB30818@rhlx01.hs-esslingen.de>
- In-Reply-To
- <27f1120c2c5231d8c7add8bdac7e3b21@www.dscho.org>
Hi,
On Thu, Apr 16, 2015 at 01:31:02PM +0200, Johannes Schindelin wrote:
Show 8 quoted lines
> Hi, > > On 2015-04-16 13:10, Thomas Braun wrote: > > I've never had this issue. The error message from unlinking the file > > means that someone is still accessing the file and thus it can not be > > deleted (due to the implicit file locking on windows). > > Best guess is that an antivirus is still accessing it. There is a tool called `WhoUses.exe` in msysGit (I do not remember if I included it into Git for Windows 1.x for end users) which could be used to figure out which process accesses a given file still: https://github.com/msysgit/msysgit/blob/master/mingw/bin/WhoUses.exe (maybe that would help you identify the cause of the problem).
Oh my. Botched mail conversation... I tried to f'up on this messy start ASAP, so I even managed to omit this final *pre-existing* part: " Please note that this system is hampered by a crappy virus scanner dependency (F-Secure), which could be the culprit for this issue (e.g. by keeping files busy for longer than expected), however I really don't think that it takes part in this issue. "
The reason that I suspect that it's not virus scanner related is: - standalone git gc --auto works immediately (hmm but this might also point at the opposite - namely virus scanner still accessing files of a prior operation only in case there *was* a prior operation) - file descriptor scope handling issue in git source code is very easily imaginable - only a very rebase-heavy workflow of a sufficiently large repo is likely to have this issue turn up in a frequently enough manner, thus it's quite likely that it's not observed (or reported) all too often
Thanks,
Andreas Mohr
-- GNU/Linux. It's not the software that's free, it's you.