Re: Possible race condition with git-rebase + .git/index.lock
From: Sergio Durigan Junior <hidden>
Date: 2019-03-13 20:48:43
On Wednesday, March 13 2019, Phillip Wood wrote:
Hi Sergio On 12/03/2019 19:32, Sergio Durigan Junior wrote:quoted
On Tuesday, March 12 2019, Elijah Newren wrote:quoted
On Tue, Mar 12, 2019 at 9:48 AM Sergio Durigan Junior [off-list ref] wrote:quoted
On Tuesday, March 12 2019, Duy Nguyen wrote:quoted
On Tue, Mar 12, 2019 at 5:18 AM Sergio Durigan Junior [off-list ref] wrote:quoted
This works without problems most of the time (well, usually there are conflicts and all, but that's a burden I have to carry). However, sometimes I notice that git fails with: # git rebase origin/master ... Applying: commitX Applying: commitY Applying: commitZ fatal: Unable to create '/home/xyz/dir1/dir2/.git/index.lock': File exists. The first thing I did was to check whether the index.lock file existed, but it doesn't.Is the output this clean? What I'm looking for is signs of automatic garbage collection kicking in the middle of the rebase. Something like "Auto packing the repository blah blah for optimum performance".Yeah, this is the exact output. I also thought about "git gc", but I don't see any output related to it. Is it possible that it's being executed in the background and not printing anything?Any chance you have a cronjob or other task execution mechanism that is running git commands in various directories (even simple commands like 'git status' since it's not read-only contrary to what some expect, or 'git fetch' which might trigger a background gc)?Nope, nothing like this. AFAIK, nothing is touching that repository at the same time that I am. Besides, even if I wait some minutes before trying again, the bug manifests again.Do you have any of the files in the repository open in an editor or ide while you are rebasing? I have seen this message when rebasing and one of the files is open in emacs which runs git status when it sees a file has changed which locks the index while the rebase is running.
Hey Phillip, Huh, I do have some of the files opened in Emacs! They're in background, but indeed, now that you mentioned I remember that Emacs keeps track of changes and invokes "git status" sometimes. Next time I see the bug, I'll try closing the files and see if it happens again. Thanks for the insight! -- Sergio GPG key ID: 237A 54B1 0287 28BF 00EF 31F4 D0EB 7628 65FC 5E36 Please send encrypted e-mail if possible http://sergiodj.net/