pushing commit to gerrit throws computing PatchListKey and missing object exception

176 views
Skip to first unread message

SamT

unread,
Jun 6, 2015, 1:12:01 AM6/6/15
to repo-d...@googlegroups.com
One of our developers is attempting to push to gerrit. I am still trying to get all the details of this particular commit.
But gerrit version 2.10.3.1 running on Centos 5.7  with git version 1.8.2.1 is throwing an error message and does not accept the commit for review.
I have found this thread that is similar but 5 years old.


Are we hitting the same issue as the thread that I listed or is it different?
Is there any issue with the branch of the repository that we are attempting to push?
What is the best way to get around this problem? Should we attempt to push this commit in smaller pieces (divide and conquer)?

Thanks.

Here is the stack trace in gerrit.

[2015-06-05 17:02:05,519] WARN  com.google.gerrit.server.patch.PatchListLoader : Error computing PatchListKey[revvy-rebates BASE..2134104348cb456dd9c5e3fe15149ccf2ed72ddd IGNORE_NONE]
java.util.concurrent.ExecutionException: org.eclipse.jgit.errors.MissingObjectException: Missing unknown 2134104348cb456dd9c5e3fe15149ccf2ed72ddd
        at com.google.common.util.concurrent.AbstractFuture$Sync.getValue(AbstractFuture.java:299)
        at com.google.common.util.concurrent.AbstractFuture$Sync.get(AbstractFuture.java:286)
        at com.google.common.util.concurrent.AbstractFuture.get(AbstractFuture.java:116)
        at com.google.common.util.concurrent.Uninterruptibles.getUninterruptibly(Uninterruptibles.java:135)
        at com.google.common.cache.LocalCache$Segment.getAndRecordStats(LocalCache.java:2346)
        at com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2318)
        at com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2280)
        at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2195)
        at com.google.common.cache.LocalCache.get(LocalCache.java:3934)
        at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3938)
        at com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4821)
        at com.google.gerrit.server.cache.h2.H2CacheImpl.get(H2CacheImpl.java:113)
        at com.google.gerrit.server.patch.PatchListCacheImpl.get(PatchListCacheImpl.java:81)
        at com.google.gerrit.server.patch.PatchListCacheImpl.get(PatchListCacheImpl.java:99)
        at com.google.gerrit.server.query.change.ChangeData.changedLines(ChangeData.java:344)
        at com.google.gerrit.server.change.ChangeJson.toChangeInfo(ChangeJson.java:271)
        at com.google.gerrit.server.change.ChangeJson.toChangeInfo(ChangeJson.java:248)
        at com.google.gerrit.server.change.ChangeJson.formatList2(ChangeJson.java:231)
        at com.google.gerrit.server.query.change.QueryChanges.query0(QueryChanges.java:172)
        at com.google.gerrit.server.query.change.QueryChanges.query(QueryChanges.java:146)
        at com.google.gerrit.server.query.change.QueryChanges.apply(QueryChanges.java:113)
        at com.google.gerrit.server.query.change.QueryChanges.apply(QueryChanges.java:41)
        at com.google.gerrit.httpd.restapi.RestApiServlet.service(RestApiServlet.java:306)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:725)
        at com.google.inject.servlet.ServletDefinition.doServiceImpl(ServletDefinition.java:279)
        at com.google.inject.servlet.ServletDefinition.doService(ServletDefinition.java:269)
        at com.google.inject.servlet.ServletDefinition.service(ServletDefinition.java:180)
        at com.google.inject.servlet.ManagedServletPipeline.service(ManagedServletPipeline.java:91)
        at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:85)
        at com.google.gerrit.pgm.http.jetty.GetUserFilter.doFilter(GetUserFilter.java:76)
        at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:82)
        at com.google.gwtexpui.server.CacheControlFilter.doFilter(CacheControlFilter.java:70)
        at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:82)
        at com.google.gerrit.httpd.RunAsFilter.doFilter(RunAsFilter.java:113)
        at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:82)
        at com.google.gerrit.httpd.AllRequestFilter$FilterProxy$1.doFilter(AllRequestFilter.java:64)
        at com.google.gerrit.httpd.AllRequestFilter$FilterProxy.doFilter(AllRequestFilter.java:57)
        at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:82)
        at com.google.gerrit.httpd.RequestContextFilter.doFilter(RequestContextFilter.java:75)
        at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:82)
        at com.google.inject.servlet.ManagedFilterPipeline.dispatch(ManagedFilterPipeline.java:119)
        at com.google.inject.servlet.GuiceFilter$1.call(GuiceFilter.java:133)
        at com.google.inject.servlet.GuiceFilter$1.call(GuiceFilter.java:130)
        at com.google.inject.servlet.GuiceFilter$Context.call(GuiceFilter.java:203)
        at com.google.inject.servlet.GuiceFilter.doFilter(GuiceFilter.java:130)
        at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1636)
        at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:564)
        at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:219)
        at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1111)
        at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:498)
        at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:183)
        at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1045)
        at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
        at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:98)
        at org.eclipse.jetty.server.handler.RequestLogHandler.handle(RequestLogHandler.java:92)
        at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:98)
        at org.eclipse.jetty.server.Server.handle(Server.java:461)
        at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:284)
        at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:244)
        at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:534)
        at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:607)
        at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:536)
        at java.lang.Thread.run(Thread.java:745)
Caused by: org.eclipse.jgit.errors.MissingObjectException: Missing unknown 2134104348cb456dd9c5e3fe15149ccf2ed72ddd
        at org.eclipse.jgit.internal.storage.file.WindowCursor.open(WindowCursor.java:148)
        at org.eclipse.jgit.lib.ObjectReader.open(ObjectReader.java:229)
        at org.eclipse.jgit.revwalk.RevWalk.parseAny(RevWalk.java:865)
        at org.eclipse.jgit.revwalk.RevWalk.parseCommit(RevWalk.java:778)
        at com.google.gerrit.server.patch.PatchListLoader.readPatchList(PatchListLoader.java:140)
        at com.google.gerrit.server.patch.PatchListLoader.load(PatchListLoader.java:111)
        at com.google.gerrit.server.patch.PatchListLoader.load(PatchListLoader.java:81)
        at com.google.gerrit.server.cache.h2.H2CacheImpl$Loader.load(H2CacheImpl.java:229)
        at com.google.gerrit.server.cache.h2.H2CacheImpl$Loader.load(H2CacheImpl.java:209)
        at com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3524)
        at com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2317)
        ... 57 more




Matthias Sohn

unread,
Jun 7, 2015, 5:17:05 PM6/7/15
to SamT, Repo and Gerrit Discussion
On Sat, Jun 6, 2015 at 2:21 AM, SamT <sam...@gmail.com> wrote:
One of our developers is attempting to push to gerrit. I am still trying to get all the details of this particular commit.
But gerrit version 2.10.3.1 running on Centos 5.7  with git version 1.8.2.1 is throwing an error message and does not accept the commit for review.

gerrit doesn't use git but JGit so the git version on the server side is irrelevant.
Which git (or JGit) version is used on the client side to push to gerrit ?
-Matthias 

SamT

unread,
Jun 8, 2015, 3:17:26 PM6/8/15
to repo-d...@googlegroups.com, sam...@gmail.com
Hello,

Unfortunately the person who is encountering this issue is out of office this week. 
I know that for sure he is using git on the client side. What version? My guess is that he is using git version 1.7.8.msysgit.0

Is this issue related to the client side git instead of the server side (gerrit)?

    Regards,
    Sam

Matthias Sohn

unread,
Jun 8, 2015, 3:25:18 PM6/8/15
to SamT, Repo and Gerrit Discussion
On Mon, Jun 8, 2015 at 9:17 PM, SamT <sam...@gmail.com> wrote:
Hello,

Unfortunately the person who is encountering this issue is out of office this week. 
I know that for sure he is using git on the client side. What version? My guess is that he is using git version 1.7.8.msysgit.0

Is this issue related to the client side git instead of the server side (gerrit)?
 
we saw such problems which were caused by old JGit versions on client and/or server side 
and also by old git version on client side. So I'd recommend to retry with a current git version
on client side.

-Matthias
Reply all
Reply to author
Forward
0 new messages