Thread (2 messages) 2 messages, 2 authors, 2019-03-13

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/
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help