My favorites | Sign in
Project Home Downloads Wiki Issues Source
New issue   Search
for
  Advanced search   Search tips   Subscriptions
Issue 1724: Missing object prevents merge?
4 people starred this issue and may be notified of changes. Back to list
Status:  New
Owner:  ----


Sign in to add a comment
 
Project Member Reported by choro...@wikimedia.org, Dec 13, 2012
Affected Version: 2.4.2

What steps will reproduce the problem?
1. Review change
2. Try to submit change
3. Nothing happens in the UI

What is the expected output? What do you see instead?
You expect the change to be merged (no conflicts are reported, etc). But it doesn't merge. You get a silent failure.

Please provide any additional information below.
The following stacktrace was given:
[2012-12-13 20:54:05,961] ERROR com.google.gerrit.server.git.ChangeMergeQueue : Merge attempt for mediawiki/extensions/RevisionCommentSupplement,refs/heads/master failed
com.google.gerrit.server.git.MergeException: Branch head sorting failed
	at com.google.gerrit.server.git.MergeOp.reduceToMinimalMerge(MergeOp.java:456)
	at com.google.gerrit.server.git.MergeOp.preMerge(MergeOp.java:308)
	at com.google.gerrit.server.git.MergeOp.merge(MergeOp.java:277)
	at com.google.gerrit.server.git.ChangeMergeQueue.mergeImpl(ChangeMergeQueue.java:181)
	at com.google.gerrit.server.git.ChangeMergeQueue.merge(ChangeMergeQueue.java:101)
	at com.google.gerrit.server.changedetail.Submit.call(Submit.java:184)
	at com.google.gerrit.httpd.rpc.changedetail.SubmitAction.call(SubmitAction.java:54)
	at com.google.gerrit.httpd.rpc.changedetail.SubmitAction.call(SubmitAction.java:30)
	at com.google.gerrit.httpd.rpc.Handler.to(Handler.java:65)
	at com.google.gerrit.httpd.rpc.changedetail.ChangeManageServiceImpl.submit(ChangeManageServiceImpl.java:52)
	at sun.reflect.GeneratedMethodAccessor89.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:616)
	at com.google.gwtjsonrpc.server.MethodHandle.invoke(MethodHandle.java:91)
	at com.google.gwtjsonrpc.server.JsonServlet.doService(JsonServlet.java:379)
	at com.google.gwtjsonrpc.server.JsonServlet.service(JsonServlet.java:265)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
	at com.google.inject.servlet.ServletDefinition.doService(ServletDefinition.java:263)
	at com.google.inject.servlet.ServletDefinition.service(ServletDefinition.java:178)
	at com.google.inject.servlet.ManagedServletPipeline.service(ManagedServletPipeline.java:91)
	at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:62)
	at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:168)
	at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58)
	at com.google.gwtexpui.server.CacheControlFilter.doFilter(CacheControlFilter.java:76)
	at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:163)
	at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58)
	at com.google.gerrit.httpd.RequireSslFilter.doFilter(RequireSslFilter.java:68)
	at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:163)
	at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58)
	at com.google.gerrit.httpd.RequestCleanupFilter.doFilter(RequestCleanupFilter.java:54)
	at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:163)
	at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58)
	at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:168)
	at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58)
	at com.google.inject.servlet.ManagedFilterPipeline.dispatch(ManagedFilterPipeline.java:118)
	at com.google.inject.servlet.GuiceFilter.doFilter(GuiceFilter.java:113)
	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1322)
	at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:473)
	at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:921)
	at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:403)
	at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:856)
	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:117)
	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:114)
	at org.eclipse.jetty.server.Server.handle(Server.java:352)
	at org.eclipse.jetty.server.HttpConnection.handleRequest(HttpConnection.java:596)
	at org.eclipse.jetty.server.HttpConnection$RequestHandler.content(HttpConnection.java:1069)
	at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:805)
	at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:218)
	at org.eclipse.jetty.server.HttpConnection.handle(HttpConnection.java:426)
	at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:510)
	at org.eclipse.jetty.io.nio.SelectChannelEndPoint.access$000(SelectChannelEndPoint.java:34)
	at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:40)
	at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:450)
	at java.lang.Thread.run(Thread.java:679)
Caused by: org.eclipse.jgit.errors.MissingObjectException: Missing commit 31ede36b1858065b6abc08446db1fd6cf1233ce3
	at org.eclipse.jgit.storage.file.WindowCursor.open(WindowCursor.java:126)
	at org.eclipse.jgit.revwalk.RevWalk.getCachedBytes(RevWalk.java:855)
	at org.eclipse.jgit.revwalk.RevCommit.parseHeaders(RevCommit.java:136)
	at org.eclipse.jgit.revwalk.PendingGenerator.next(PendingGenerator.java:148)
	at org.eclipse.jgit.revwalk.TopoSortGenerator.<init>(TopoSortGenerator.java:78)
	at org.eclipse.jgit.revwalk.StartGenerator.next(StartGenerator.java:163)
	at org.eclipse.jgit.revwalk.RevWalk.next(RevWalk.java:420)
	at com.google.gerrit.server.git.MergeSorter.sort(MergeSorter.java:56)
	at com.google.gerrit.server.git.MergeOp.reduceToMinimalMerge(MergeOp.java:454)
	... 53 more

Dec 14, 2012
#1 florent....@intersec.com
I've observed the same issue (or very similar) with gerrit 2.5. This seems to happen when a conflict happen on a submodule update:
1 - push for review a patch P1 that references a submodule at revision R1
2 - push directly a patch P1 that references the same submodule at revision R2
3 - submit P1

In that case, P1 is blocked in state "Submitted, Merge pending" with no error message on the web UI, but in the log I get the following error:
  Caused by: org.eclipse.jgit.errors.MissingObjectException: Missing blob R1

where the R1 reported missing is the reference of the submodule in the P1.
Sign in to add a comment

Powered by Google Project Hosting