| Issue 2665: | Commits merge successfully but are stuck at Submitted, Merge Pending | |
| 3 people starred this issue and may be notified of changes. | Back to list |
Affected Version: 2.9-rc1
What steps will reproduce the problem?
1. Push a change to gerrit for review
2. +2 Code Review, +1 Verified
3. Press merge button
What is the expected output? What do you see instead?
Expect status to change to merged.
Status is stuck at Submitted, Merge Pending.
Please provide any additional information below.
1. We see the following in the error message in the error_log:
[2014-05-16 13:38:53,618] ERROR com.google.gerrit.server.git.ChangeMergeQueue : Merge attempt for device/kernel/device,refs/heads/master failed
com.google.inject.ProvisionException: Guice provision errors:
1) Error in custom provider, com.google.inject.OutOfScopeException: No user on merge thread
at com.google.gerrit.server.util.ThreadLocalRequestContext$1.provideCurrentUser(ThreadLocalRequestContext.java:56)
while locating com.google.gerrit.server.CurrentUser
at com.google.gerrit.server.plugins.PluginGuiceEnvironment$2.configure(PluginGuiceEnvironment.java:495)
while locating com.google.gerrit.server.CurrentUser
1 error
at com.google.inject.internal.InjectorImpl$3.get(InjectorImpl.java:1014)
at com.googlesource.gerrit.plugins.hooks.its.ItsConfig.match(ItsConfig.java:119)
at com.googlesource.gerrit.plugins.hooks.its.ItsConfig.isEnabledForBranch(ItsConfig.java:111)
at com.googlesource.gerrit.plugins.hooks.its.ItsConfig.isEnabled(ItsConfig.java:98)
at com.googlesource.gerrit.plugins.hooks.its.ItsConfig.isEnabled(ItsConfig.java:65)
at com.googlesource.gerrit.plugins.hooks.workflow.GerritHookFilter.onChangeEvent(GerritHookFilter.java:73)
at com.google.gerrit.common.ChangeHookRunner.fireEventForUnrestrictedListeners(ChangeHookRunner.java:619)
at com.google.gerrit.common.ChangeHookRunner.fireEvent(ChangeHookRunner.java:630)
at com.google.gerrit.common.ChangeHookRunner.doChangeMergedHook(ChangeHookRunner.java:443)
at com.google.gerrit.server.git.MergeOp.setMerged(MergeOp.java:844)
at com.google.gerrit.server.git.MergeOp.updateChangeStatus(MergeOp.java:676)
at com.google.gerrit.server.git.MergeOp.merge(MergeOp.java:255)
at com.google.gerrit.server.git.ChangeMergeQueue$2.call(ChangeMergeQueue.java:208)
at com.google.gerrit.server.git.ChangeMergeQueue$2.call(ChangeMergeQueue.java:205)
at com.google.gerrit.server.util.RequestScopePropagator$5.call(RequestScopePropagator.java:222)
at com.google.gerrit.server.util.RequestScopePropagator$4.call(RequestScopePropagator.java:201)
at com.google.gerrit.server.git.PerThreadRequestScope$Propagator$1.call(PerThreadRequestScope.java:75)
at com.google.gerrit.server.git.ChangeMergeQueue.mergeImpl(ChangeMergeQueue.java:205)
at com.google.gerrit.server.git.ChangeMergeQueue.merge(ChangeMergeQueue.java:125)
at com.google.gerrit.server.change.Submit.apply(Submit.java:159)
at com.google.gerrit.server.change.Submit.apply(Submit.java:72)
at com.google.gerrit.httpd.restapi.RestApiServlet.service(RestApiServlet.java:303)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
at com.google.inject.servlet.ServletDefinition.doServiceImpl(ServletDefinition.java:278)
at com.google.inject.servlet.ServletDefinition.doService(ServletDefinition.java:268)
at com.google.inject.servlet.ServletDefinition.service(ServletDefinition.java:180)
at com.google.inject.servlet.ManagedServletPipeline.service(ManagedServletPipeline.java:93)
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:120)
at com.google.inject.servlet.GuiceFilter$1.call(GuiceFilter.java:132)
at com.google.inject.servlet.GuiceFilter$1.call(GuiceFilter.java:129)
at com.google.inject.servlet.GuiceFilter$Context.call(GuiceFilter.java:206)
at com.google.inject.servlet.GuiceFilter.doFilter(GuiceFilter.java:129)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1539)
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:524)
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:219)
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1110)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:453)
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:183)
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1044)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97)
at org.eclipse.jetty.server.handler.RequestLogHandler.handle(RequestLogHandler.java:92)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97)
at org.eclipse.jetty.server.Server.handle(Server.java:459)
at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:280)
at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:229)
at org.eclipse.jetty.io.AbstractConnection$1.run(AbstractConnection.java:505)
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:744)
Caused by: com.google.inject.OutOfScopeException: No user on merge thread
at com.google.gerrit.server.git.ChangeMergeQueue$1$3.getCurrentUser(ChangeMergeQueue.java:102)
at com.google.gerrit.server.util.RequestScopePropagator$4$1.getCurrentUser(RequestScopePropagator.java:192)
at com.google.gerrit.server.util.ThreadLocalRequestContext$1.provideCurrentUser(ThreadLocalRequestContext.java:56)
at sun.reflect.GeneratedMethodAccessor11.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at com.google.inject.internal.ProviderMethod.get(ProviderMethod.java:105)
at com.google.inject.internal.ProviderInternalFactory.provision(ProviderInternalFactory.java:86)
at com.google.inject.internal.InternalFactoryToInitializableAdapter.provision(InternalFactoryToInitializableAdapter.java:55)
at com.google.inject.internal.ProviderInternalFactory.circularGet(ProviderInternalFactory.java:66)
at com.google.inject.internal.InternalFactoryToInitializableAdapter.get(InternalFactoryToInitializableAdapter.java:47)
at com.google.inject.internal.InjectorImpl$3$1.call(InjectorImpl.java:1005)
at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1051)
at com.google.inject.internal.InjectorImpl$3.get(InjectorImpl.java:1001)
at com.google.inject.internal.ProviderInternalFactory.provision(ProviderInternalFactory.java:86)
at com.google.inject.internal.InternalFactoryToInitializableAdapter.provision(InternalFactoryToInitializableAdapter.java:55)
at com.google.inject.internal.ProviderInternalFactory.circularGet(ProviderInternalFactory.java:66)
at com.google.inject.internal.InternalFactoryToInitializableAdapter.get(InternalFactoryToInitializableAdapter.java:47)
at com.google.inject.internal.InjectorImpl$3$1.call(InjectorImpl.java:1005)
at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1051)
at com.google.inject.internal.InjectorImpl$3.get(InjectorImpl.java:1001)
... 61 more
2. Attempts to clear the error by restarting gerrit and flushing the caches both failed.
3. Running 'java -jar ./bin/gerrit.war reindex' on the server cleared up the error state and caused it to correctly show up as merged.
May 16, 2014
#1
spor...@gmail.com
May 16, 2014
This is a bug in the ITS plugin that you are using. I believe it is fixed by https://gerrit-review.googlesource.com/57218
Status:
ChangeUnderReview
May 26, 2014
(No comment was entered for this change.)
Status:
Submitted
Jul 14, 2014
Has the fix mentioned here https://gerrit-review.googlesource.com/57218 been built into a version of plugin that can be installed with gerrit 2.9-rc2. I am testing that version and every review I create when it merges it stuck in Submitted, Merge Pending. I am simply trying to get a working version again that I can test. I have tried the latest gerrit build but can't seem to find a recent build of its-base and its-jira.
Jul 21, 2014
change seems to be build in http://ci.gerritforge.com/view/Plugins-master/job/Plugin_its-base_master/6/, but I get the same error with this version.
Jul 21, 2014
more detailed:
We have installed gerrit 2.9-1-g90f8a46 and the plugins
its-base-2.9-SNAPSHOT from build 6 on 20.5.2014 (same with build 7 from 7.6.14)
its-jira 2.9-SNAPSHOT from 22.4.2014.
every time when we submit a change to merge we get the following error stacktrace and
the change stays in status "submitted, merge pending" until we recreate the index.
[2014-07-21 21:00:33,979] ERROR com.google.gerrit.server.git.ChangeMergeQueue : Merge attempt for Test,refs/heads/master failed
com.google.inject.ProvisionException: Guice provision errors:
1) Error in custom provider, com.google.inject.OutOfScopeException: No user on merge thread
at com.google.gerrit.server.util.ThreadLocalRequestContext$1.provideCurrentUser(ThreadLocalRequestContext.java:56)
while locating com.google.gerrit.server.CurrentUser
at com.google.gerrit.server.plugins.PluginGuiceEnvironment$2.configure(PluginGuiceEnvironment.java:495)
while locating com.google.gerrit.server.CurrentUser
1 error
at com.google.inject.internal.InjectorImpl$3.get(InjectorImpl.java:1014)
at com.googlesource.gerrit.plugins.hooks.its.ItsConfig.match(ItsConfig.java:119)
at com.googlesource.gerrit.plugins.hooks.its.ItsConfig.isEnabledForBranch(ItsConfig.java:111)
at com.googlesource.gerrit.plugins.hooks.its.ItsConfig.isEnabled(ItsConfig.java:98)
at com.googlesource.gerrit.plugins.hooks.its.ItsConfig.isEnabled(ItsConfig.java:65)
at com.googlesource.gerrit.plugins.hooks.workflow.GerritHookFilter.onChangeEvent(GerritHookFilter.java:73)
at com.google.gerrit.common.ChangeHookRunner.fireEventForUnrestrictedListeners(ChangeHookRunner.java:619)
at com.google.gerrit.common.ChangeHookRunner.fireEvent(ChangeHookRunner.java:630)
at com.google.gerrit.common.ChangeHookRunner.doChangeMergedHook(ChangeHookRunner.java:443)
at com.google.gerrit.server.git.MergeOp.setMerged(MergeOp.java:845)
at com.google.gerrit.server.git.MergeOp.updateChangeStatus(MergeOp.java:677)
at com.google.gerrit.server.git.MergeOp.merge(MergeOp.java:255)
at com.google.gerrit.server.git.ChangeMergeQueue$2.call(ChangeMergeQueue.java:210)
at com.google.gerrit.server.git.ChangeMergeQueue$2.call(ChangeMergeQueue.java:207)
at com.google.gerrit.server.util.RequestScopePropagator$5.call(RequestScopePropagator.java:222)
at com.google.gerrit.server.util.RequestScopePropagator$4.call(RequestScopePropagator.java:201)
at com.google.gerrit.server.git.PerThreadRequestScope$Propagator$1.call(PerThreadRequestScope.java:75)
at com.google.gerrit.server.git.ChangeMergeQueue.mergeImpl(ChangeMergeQueue.java:207)
at com.google.gerrit.server.git.ChangeMergeQueue.merge(ChangeMergeQueue.java:125)
at com.google.gerrit.server.change.Submit.apply(Submit.java:159)
at com.google.gerrit.server.change.Submit.apply(Submit.java:72)
at com.google.gerrit.httpd.restapi.RestApiServlet.service(RestApiServlet.java:303)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
at com.google.inject.servlet.ServletDefinition.doServiceImpl(ServletDefinition.java:278)
at com.google.inject.servlet.ServletDefinition.doService(ServletDefinition.java:268)
at com.google.inject.servlet.ServletDefinition.service(ServletDefinition.java:180)
at com.google.inject.servlet.ManagedServletPipeline.service(ManagedServletPipeline.java:93)
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.RequireSslFilter.doFilter(RequireSslFilter.java:68)
at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:82)
at com.google.gerrit.httpd.AllRequestFilter$FilterProxy$1.doFilter(AllRequestFilter.java:64)
at net.bull.javamelody.MonitoringFilter.doFilter(MonitoringFilter.java:203)
at net.bull.javamelody.MonitoringFilter.doFilter(MonitoringFilter.java:181)
at com.googlesource.gerrit.plugins.javamelody.GerritMonitoringFilter.doFilter(GerritMonitoringFilter.java:65)
at com.google.gerrit.httpd.AllRequestFilter$FilterProxy$1.doFilter(AllRequestFilter.java:62)
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:120)
at com.google.inject.servlet.GuiceFilter$1.call(GuiceFilter.java:132)
at com.google.inject.servlet.GuiceFilter$1.call(GuiceFilter.java:129)
at com.google.inject.servlet.GuiceFilter$Context.call(GuiceFilter.java:206)
at com.google.inject.servlet.GuiceFilter.doFilter(GuiceFilter.java:129)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1539)
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:524)
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:219)
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1110)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:453)
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:183)
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1044)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97)
at org.eclipse.jetty.server.handler.RequestLogHandler.handle(RequestLogHandler.java:92)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97)
at org.eclipse.jetty.server.Server.handle(Server.java:459)
at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:280)
at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:229)
at org.eclipse.jetty.io.AbstractConnection$1.run(AbstractConnection.java:505)
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:744)
Caused by: com.google.inject.OutOfScopeException: No user on merge thread
at com.google.gerrit.server.git.ChangeMergeQueue$1$3.getCurrentUser(ChangeMergeQueue.java:102)
at com.google.gerrit.server.util.RequestScopePropagator$4$1.getCurrentUser(RequestScopePropagator.java:192)
at com.google.gerrit.server.util.ThreadLocalRequestContext$1.provideCurrentUser(ThreadLocalRequestContext.java:56)
at sun.reflect.GeneratedMethodAccessor15.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at com.google.inject.internal.ProviderMethod.get(ProviderMethod.java:105)
at com.google.inject.internal.ProviderInternalFactory.provision(ProviderInternalFactory.java:86)
at com.google.inject.internal.InternalFactoryToInitializableAdapter.provision(InternalFactoryToInitializableAdapter.java:55)
at com.google.inject.internal.ProviderInternalFactory.circularGet(ProviderInternalFactory.java:66)
at com.google.inject.internal.InternalFactoryToInitializableAdapter.get(InternalFactoryToInitializableAdapter.java:47)
at com.google.inject.internal.InjectorImpl$3$1.call(InjectorImpl.java:1005)
at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1051)
at com.google.inject.internal.InjectorImpl$3.get(InjectorImpl.java:1001)
at com.google.inject.internal.ProviderInternalFactory.provision(ProviderInternalFactory.java:86)
at com.google.inject.internal.InternalFactoryToInitializableAdapter.provision(InternalFactoryToInitializableAdapter.java:55)
at com.google.inject.internal.ProviderInternalFactory.circularGet(ProviderInternalFactory.java:66)
at com.google.inject.internal.InternalFactoryToInitializableAdapter.get(InternalFactoryToInitializableAdapter.java:47)
at com.google.inject.internal.InjectorImpl$3$1.call(InjectorImpl.java:1005)
at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1051)
at com.google.inject.internal.InjectorImpl$3.get(InjectorImpl.java:1001)
Sep 18, 2014
I am seeing similar errors, running gerrit 2.9.1 from https://gerrit-releases.storage.googleapis.com/gerrit-2.9.1.war its-base from http://ci.gerritforge.com/view/Plugins-master/job/Plugin_its-base_master/lastSuccessfulBuild/artifact/its-base/target/its-base-2.9-SNAPSHOT.jar its-jira from http://ci.gerritforge.com/job/Plugin_its-jira_master/lastSuccessfulBuild/artifact/target/its-jira-2.9-SNAPSHOT.jar I am using LDAP, mysql, and am behind a reverse proxy (SSL). The stack trace is: [2014-09-18 23:03:00,096] ERROR com.google.gerrit.server.git.ChangeMergeQueue : Merge attempt for Test,refs/heads/master failed com.google.inject.ProvisionException: Guice provision errors: 1) Error in custom provider, com.google.inject.OutOfScopeException: No user on merge thread at com.google.gerrit.server.util.ThreadLocalRequestContext$1.provideCurrentUser(ThreadLocalRequestContext.java:56) while locating com.google.gerrit.server.CurrentUser at com.google.gerrit.server.plugins.PluginGuiceEnvironment$2.configure(PluginGuiceEnvironment.java:495) while locating com.google.gerrit.server.CurrentUser 1 error at com.google.inject.internal.InjectorImpl$3.get(InjectorImpl.java:1014) at com.googlesource.gerrit.plugins.hooks.its.ItsConfig.match(ItsConfig.java:119) at com.googlesource.gerrit.plugins.hooks.its.ItsConfig.isEnabledForBranch(ItsConfig.java:111) at com.googlesource.gerrit.plugins.hooks.its.ItsConfig.isEnabled(ItsConfig.java:98) at com.googlesource.gerrit.plugins.hooks.its.ItsConfig.isEnabled(ItsConfig.java:65) at com.googlesource.gerrit.plugins.hooks.workflow.GerritHookFilter.onChangeEvent(GerritHookFilter.java:73) at com.google.gerrit.common.ChangeHookRunner.fireEventForUnrestrictedListeners(ChangeHookRunner.java:619) at com.google.gerrit.common.ChangeHookRunner.fireEvent(ChangeHookRunner.java:630) at com.google.gerrit.common.ChangeHookRunner.doChangeMergedHook(ChangeHookRunner.java:443) at com.google.gerrit.server.git.MergeOp.setMerged(MergeOp.java:850) at com.google.gerrit.server.git.MergeOp.updateChangeStatus(MergeOp.java:680) at com.google.gerrit.server.git.MergeOp.merge(MergeOp.java:255) at com.google.gerrit.server.git.ChangeMergeQueue$2.call(ChangeMergeQueue.java:210) at com.google.gerrit.server.git.ChangeMergeQueue$2.call(ChangeMergeQueue.java:207) at com.google.gerrit.server.util.RequestScopePropagator$5.call(RequestScopePropagator.java:222) |
|
| ► Sign in to add a comment |