Hey all,
We have a problem with missing tree again :|
A co-worker reported this:

Having a look at the Gerrit (2.9.1) log:
[2015-01-14 15:37:56,974] ERROR com.google.gerrit.sshd.BaseCommand : Internal server error (user rlechne account 1000200) during git-receive-pack '/xxxx.git'
com.google.gerrit.sshd.BaseCommand$Failure: fatal: Unpack error, check server log
at com.google.gerrit.sshd.commands.Receive.runImpl(Receive.java:176)
at com.google.gerrit.sshd.AbstractGitCommand.service(AbstractGitCommand.java:101)
at com.google.gerrit.sshd.AbstractGitCommand.access$000(AbstractGitCommand.java:32)
at com.google.gerrit.sshd.AbstractGitCommand$1.run(AbstractGitCommand.java:70)
at com.google.gerrit.sshd.BaseCommand$TaskThunk.run(BaseCommand.java:442)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:178)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:292)
at com.google.gerrit.server.git.WorkQueue$Task.run(WorkQueue.java:364)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:744)
Caused by: java.io.IOException: Unpack error on project "xxxx":
AdvertiseRefsHook:
org.eclipse.jgit.transport.AdvertiseRefsHookChain@2ee05c22class org.eclipse.jgit.transport.AdvertiseRefsHookChain
at com.google.gerrit.sshd.commands.Receive.runImpl(Receive.java:175)
... 12 more
Caused by: org.eclipse.jgit.errors.UnpackException: Exception while parsing pack stream
at org.eclipse.jgit.transport.ReceivePack.service(ReceivePack.java:239)
at org.eclipse.jgit.transport.ReceivePack.receive(ReceivePack.java:160)
at com.google.gerrit.sshd.commands.Receive.runImpl(Receive.java:115)
... 12 more
Caused by: org.eclipse.jgit.errors.MissingObjectException: Missing tree 5805e5d3179118c5e2aa45b3c8aa8a52d95e05da
at org.eclipse.jgit.transport.BaseReceivePack.checkConnectivity(BaseReceivePack.java:1100)
at org.eclipse.jgit.transport.BaseReceivePack.receivePackAndCheckConnectivity(BaseReceivePack.java:850)
at org.eclipse.jgit.transport.ReceivePack.service(ReceivePack.java:191)
... 14 more
I checked on both the local and the remote repository on the command line:
Server: [git@salxsource03 wamasgo.git]$ git cat-file -p 5805e5d3179118c5e2aa45b3c8aa8a52d95e05da
100644 blob 098194ca4b7d8f45177f94e735506ae3a26b5c94 .classpath
100644 blob 52725b46b2188f9e95bdea16e2f67dc6741e59a1 .project
040000 tree 16be11d424ec18cbef844ff790c7941c9a9c1297 .settings
040000 tree 320a079ce9e9281703927bdf494678e43147d169 META-INF
100644 blob e9863e281eaccc5123e82ed75713bab3e8b87bbe build.properties
040000 tree 09a6849fb377a1d530c56d4b7ef115caac488b26 module-doc
100644 blob b35264a050f1d97041b4363ab16fedd01876f58c plugin.xml
040000 tree 8c802e523b779432b6c7b3c1f73d6ae9808feded src
Client: [rlechne@fril0004 ~/wamas-5.4/bremermann/wamas5]
$ git cat-file -p 5805e5d3179118c5e2aa45b3c8aa8a52d95e05da
100644 blob 098194ca4b7d8f45177f94e735506ae3a26b5c94 .classpath
100644 blob 52725b46b2188f9e95bdea16e2f67dc6741e59a1 .project
040000 tree 16be11d424ec18cbef844ff790c7941c9a9c1297 .settings
040000 tree 320a079ce9e9281703927bdf494678e43147d169 META-INF
100644 blob e9863e281eaccc5123e82ed75713bab3e8b87bbe build.properties
040000 tree 09a6849fb377a1d530c56d4b7ef115caac488b26 module-doc
100644 blob b35264a050f1d97041b4363ab16fedd01876f58c plugin.xml
040000 tree 8c802e523b779432b6c7b3c1f73d6ae9808feded src
So both know the tree very well...
The interesting thing is, that this seems to happen always on this repository, as soon as somebody pushes a second patchset for any change – i have at least one
windows and one linux user that have the very same problem. Pushing on the command line using cgit (git push origin HEAD:refs/for/xxxx) works.
The client used EGit Release 3.6.0.
Any Ideas?