Your message dated Thu, 18 May 2017 16:21:54 +0300
with message-id <[email protected]>
and subject line Re: Bug#862895: git rebase fails often with "index.lock: File 
exists"
has caused the Debian Bug report #862895,
regarding git rebase fails often with "index.lock: File exists"
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)


-- 
862895: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=862895
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Package: git
Version: 1:2.11.0-3
Severity: normal

Hi!

this looks very similar to bug #774848, but I'm filing a separate bug
as requested.

I'm having problems with 'git rebase' once a while. I cannot find a
pattern that explains why it fails: sometimes it works fine, sometimes
it produces an error message. After the error it's usually enough with
running 'git rebase --abort' and repeating the process.

Because of this it's not always easy to reproduce it, but I just did
now: I was trying to pull from the upstream QEMU repository. My master
branch had one additional commit from me, so I did 'git pull --rebase'
to ensure that my commit remains on top.

There's no index.lock file, and git has not crashed as far as I'm
aware (syslog also shows nothing odd). I'm including the full output
below with GIT_TRACE=1.

Perhaps the only thing "special" about this repository is that it was
cloned using 'git clone --reference', and thus has an 'alternates'
file (.git/objects/info/alternates). Other than that, I've been using
this for a long time without any problems until around the beginning
of 2016 if I recall correctly.

Thanks!

Berto

$ GIT_TRACE=1 git pull --rebase
11:15:36.867251 git.c:371               trace: built-in: git 'pull' '--rebase'
11:15:36.880735 run-command.c:350       trace: run_command: 'merge-base' 
'--fork-point' 'refs/remotes/origin/master' 'master'
11:15:36.936053 run-command.c:350       trace: run_command: 'fetch' 
'--update-head-ok'
11:15:36.936333 exec_cmd.c:116          trace: exec: 'git' 'fetch' 
'--update-head-ok'
11:15:36.937298 git.c:371               trace: built-in: git 'fetch' 
'--update-head-ok'
11:15:36.941266 run-command.c:350       trace: run_command: 'git-remote-https' 
'origin' 'https://github.com/qemu/qemu'
11:15:38.001933 run-command.c:350       trace: run_command: 'rev-list' 
'--objects' '--stdin' '--not' '--all' '--quiet'
11:15:38.018560 run-command.c:350       trace: run_command: 'rev-list' 
'--objects' '--stdin' '--not' '--all' '--quiet'
11:15:38.018992 exec_cmd.c:116          trace: exec: 'git' 'rev-list' 
'--objects' '--stdin' '--not' '--all' '--quiet'
11:15:38.020063 git.c:371               trace: built-in: git 'rev-list' 
'--objects' '--stdin' '--not' '--all' '--quiet'
11:15:38.043289 run-command.c:1130      run_processes_parallel: preparing to 
run up to 1 tasks
11:15:38.043435 run-command.c:1162      run_processes_parallel: done
11:15:38.043898 run-command.c:350       trace: run_command: 'gc' '--auto'
11:15:38.044160 exec_cmd.c:116          trace: exec: 'git' 'gc' '--auto'
11:15:38.045213 git.c:371               trace: built-in: git 'gc' '--auto'
11:15:38.049490 run-command.c:350       trace: run_command: 'rebase' '--onto' 
'cdece0467c00007cf8e3f4b3c3f0b13bf2c4fea9' 
'cdece0467c00007cf8e3f4b3c3f0b13bf2c4fea9'
11:15:38.049768 exec_cmd.c:116          trace: exec: 'git' 'rebase' '--onto' 
'cdece0467c00007cf8e3f4b3c3f0b13bf2c4fea9' 
'cdece0467c00007cf8e3f4b3c3f0b13bf2c4fea9'
11:15:38.050855 git.c:600               trace: exec: 'git-rebase' '--onto' 
'cdece0467c00007cf8e3f4b3c3f0b13bf2c4fea9' 
'cdece0467c00007cf8e3f4b3c3f0b13bf2c4fea9'
11:15:38.050890 run-command.c:350       trace: run_command: 'git-rebase' 
'--onto' 'cdece0467c00007cf8e3f4b3c3f0b13bf2c4fea9' 
'cdece0467c00007cf8e3f4b3c3f0b13bf2c4fea9'
11:15:38.054262 git.c:371               trace: built-in: git 'rev-parse' 
'--parseopt' '--stuck-long' '--' '--onto' 
'cdece0467c00007cf8e3f4b3c3f0b13bf2c4fea9' 
'cdece0467c00007cf8e3f4b3c3f0b13bf2c4fea9'
11:15:38.057001 git.c:371               trace: built-in: git 'rev-parse' 
'--git-dir'
11:15:38.058526 git.c:371               trace: built-in: git 'rev-parse' 
'--git-path' 'objects'
11:15:38.059874 git.c:371               trace: built-in: git 'rev-parse' 
'--is-bare-repository'
11:15:38.061035 git.c:371               trace: built-in: git 'rev-parse' 
'--show-toplevel'
11:15:38.063275 git.c:371               trace: built-in: git 'config' '--bool' 
'rebase.stat'
11:15:38.064884 git.c:371               trace: built-in: git 'config' '--bool' 
'rebase.autostash'
11:15:38.066078 git.c:371               trace: built-in: git 'config' '--bool' 
'rebase.autosquash'
11:15:38.067089 git.c:371               trace: built-in: git 'config' '--bool' 
'commit.gpgsign'
11:15:38.068494 git.c:371               trace: built-in: git 'rev-parse' 
'--verify' 'cdece0467c00007cf8e3f4b3c3f0b13bf2c4fea9^0'
11:15:38.070227 git.c:371               trace: built-in: git 'rev-parse' 
'--verify' 'cdece0467c00007cf8e3f4b3c3f0b13bf2c4fea9^0'
11:15:38.071891 git.c:371               trace: built-in: git 'symbolic-ref' 
'-q' 'HEAD'
11:15:38.073472 git.c:371               trace: built-in: git 'rev-parse' 
'--verify' 'HEAD'
11:15:38.075400 git.c:371               trace: built-in: git 'rev-parse' 
'--verify' 'HEAD'
11:15:38.076887 git.c:371               trace: built-in: git 'update-index' 
'-q' '--ignore-submodules' '--refresh'
11:15:38.082856 git.c:371               trace: built-in: git 'diff-files' 
'--quiet' '--ignore-submodules'
11:15:38.088812 git.c:371               trace: built-in: git 'diff-index' 
'--cached' '--quiet' '--ignore-submodules' 'HEAD' '--'
11:15:38.092744 git.c:371               trace: built-in: git 'merge-base' 
'cdece0467c00007cf8e3f4b3c3f0b13bf2c4fea9' 
'884ae0ef64ff8402b9b2d69b1dd456cbc4be12bc'
11:15:38.098750 git.c:371               trace: built-in: git 'rev-parse' 
'--git-path' 'hooks/pre-rebase'
First, rewinding head to replay your work on top of it...
11:15:38.100617 git.c:371               trace: built-in: git 'checkout' '-q' 
'cdece0467c00007cf8e3f4b3c3f0b13bf2c4fea9^0'
11:15:38.181242 git.c:371               trace: built-in: git 'update-ref' 
'ORIG_HEAD' '884ae0ef64ff8402b9b2d69b1dd456cbc4be12bc'
11:15:38.182977 git.c:371               trace: built-in: git 'format-patch' 
'-k' '--stdout' '--full-index' '--cherry-pick' '--right-only' '--src-prefix=a/' 
'--dst-prefix=b/' '--no-renames' '--no-cover-letter' 
'cdece0467c00007cf8e3f4b3c3f0b13bf2c4fea9...884ae0ef64ff8402b9b2d69b1dd456cbc4be12bc'
11:15:38.199394 git.c:371               trace: built-in: git 'am' '--rebasing' 
'--resolvemsg=
When you have resolved this problem, run "git rebase --continue".
If you prefer to skip this patch, run "git rebase --skip" instead.
To check out the original branch and stop rebasing, run "git rebase --abort".
'
11:15:38.203750 run-command.c:350       trace: run_command: 'mailsplit' '-d4' 
'-o.git/rebase-apply' '-b' '--'
11:15:38.203969 exec_cmd.c:116          trace: exec: 'git' 'mailsplit' '-d4' 
'-o.git/rebase-apply' '-b' '--'
11:15:38.204585 git.c:371               trace: built-in: git 'mailsplit' '-d4' 
'-o.git/rebase-apply' '-b' '--'
fatal: Unable to create '/home/devel/qemu/.git/index.lock': File exists.

Another git process seems to be running in this repository, e.g.
an editor opened by 'git commit'. Please make sure all processes
are terminated then try again. If it still fails, a git process
may have crashed in this repository earlier:
remove the file manually to continue.


-- System Information:
Debian Release: 9.0
  APT prefers testing
  APT policy: (500, 'testing'), (1, 'experimental')
Architecture: amd64
 (x86_64)

Kernel: Linux 4.9.0-2-amd64 (SMP w/4 CPU cores)
Locale: LANG=en_US.utf8, LC_CTYPE=en_US.utf8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)

Versions of packages git depends on:
ii  dpkg             1.18.23
ii  git-man          1:2.11.0-3
ii  libc6            2.24-10
ii  libcurl3-gnutls  7.52.1-5
ii  liberror-perl    0.17024-1
ii  libexpat1        2.2.0-2
ii  libpcre3         2:8.39-3
ii  perl             5.24.1-2
ii  zlib1g           1:1.2.8.dfsg-5

Versions of packages git recommends:
ii  less                         481-2.1
ii  openssh-client [ssh-client]  1:7.4p1-10
ii  patch                        2.7.5-1+b2
ii  rsync                        3.1.2-1

Versions of packages git suggests:
ii  gettext-base                          0.19.8.1-2
pn  git-arch                              <none>
pn  git-cvs                               <none>
pn  git-daemon-run | git-daemon-sysvinit  <none>
pn  git-doc                               <none>
ii  git-el                                1:2.11.0-3
ii  git-email                             1:2.11.0-3
pn  git-gui                               <none>
pn  git-mediawiki                         <none>
ii  git-svn                               1:2.11.0-3
pn  gitk                                  <none>
pn  gitweb                                <none>

-- no debconf information

--- End Message ---
--- Begin Message ---
On Thu, May 18, 2017 at 11:35:24AM +0300, Alberto Garcia wrote:

> I'm having problems with 'git rebase' once a while. I cannot find
> a pattern that explains why it fails: sometimes it works fine,
> sometimes it produces an error message. After the error it's usually
> enough with running 'git rebase --abort' and repeating the process.

Ok, I have some news: so I actually kept this scenario that I reported
in the original e-mail when I could easily reproduce the problem by
trying to rebase my master branch on top of origin/master.

Most of the times it failed. When it didn't, I could reset --hard to
the previous position and try to rebase again. It would eventually
fail after 2-3 attempts.

While debugging this, one of the things that I tried was to copy the
complete repository using cp -a to do more tests while keeping the
original one unchanged.

To my surprise the new repository with exactly the same files (and
in the same filesystem) was working perfectly fine and I could not
reproduce the problem that I could still reproduce easily in the
original one.

So I decided to unmount the partition, run fsck and I got a few
"Inode XXXX extent tree could be narrower: Fix<y>?". I said yes to all,
and now everything seems to work fine and git no longer complains.

So I'm going to assume that there was some minor inconsistency in the
filesystem (ext4) that was causing this.

I'm closing this bug, I'll reopen it if I have problems again.

Sorry for the noise, and I anyway hope that all this is useful for
anyone.

Regards,

Berto

--- End Message ---

Reply via email to