Gerrit Trigger, Jenkins GIT Plugin, and GerritTriggerBuildChooser

64 views
Skip to first unread message

Bo Shi

unread,
Feb 18, 2013, 5:14:24 PM2/18/13
to jenkins...@googlegroups.com, sandell...@gmail.com, tomas.w...@sonymobile.com
Hi -

"Gerrit" is missing from the options in Choosing Strategy (Under Advanced section of Git plugin settings for a project) in the most recent deployments.  This appears to be a regression of JENKINS-10373.  Wondering if anyone has any workarounds.  Does anyone know of any workarounds?


Gerrit Trigger 2.7.0, Jenkins GIT plugin 1.1.28 (Jenkins 1.502)


Logs follow:

Feb 18, 2013 10:05:25 PM hudson.WebAppMain$2 run
INFO: Jenkins is fully up and running
Feb 18, 2013 10:05:25 PM hudson.TcpSlaveAgentListener <init>
INFO: JNLP slave agent listener started on TCP port 57108
Feb 18, 2013 10:05:25 PM jenkins.InitReactorRunner$1 onAttained
INFO: Completed initialization
Feb 18, 2013 10:05:24 PM jenkins.InitReactorRunner$1 onAttained
INFO: Loaded all jobs
Feb 18, 2013 10:05:23 PM hudson.ExtensionFinder$GuiceFinder$4$1 get
WARNING: Failed to instantiate. Skipping this component
com.google.inject.ProvisionException: Guice provision errors:

1) Error injecting constructor, java.lang.NoClassDefFoundError: hudson/plugins/git/IGitAPI
  at com.sonyericsson.hudson.plugins.gerrit.trigger.hudsontrigger.GerritTriggerBuildChooser$DescriptorImpl.<init>(GerritTriggerBuildChooser.java:151)

1 error
	at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:52)
	at com.google.inject.Scopes$1$1.get(Scopes.java:59)
	at hudson.ExtensionFinder$GuiceFinder$4$1.get(ExtensionFinder.java:422)
	at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:41)
	at com.google.inject.internal.InjectorImpl$3$1.call(InjectorImpl.java:965)
	at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1011)
	at com.google.inject.internal.InjectorImpl$3.get(InjectorImpl.java:961)
	at hudson.ExtensionFinder$GuiceFinder._find(ExtensionFinder.java:391)
	at hudson.ExtensionFinder$GuiceFinder.find(ExtensionFinder.java:382)
	at hudson.ExtensionFinder._find(ExtensionFinder.java:151)
	at hudson.ClassicPluginStrategy.findComponents(ClassicPluginStrategy.java:318)
	at hudson.ExtensionList.load(ExtensionList.java:295)
	at hudson.ExtensionList.ensureLoaded(ExtensionList.java:248)
	at hudson.ExtensionList.getComponents(ExtensionList.java:149)
	at hudson.DescriptorExtensionList.load(DescriptorExtensionList.java:182)
	at hudson.ExtensionList.ensureLoaded(ExtensionList.java:248)
	at hudson.ExtensionList.iterator(ExtensionList.java:138)
	at org.apache.commons.jelly.expression.ExpressionSupport.evaluateAsIterator(ExpressionSupport.java:101)
	at org.apache.commons.jelly.tags.core.ForEachTag.doTag(ForEachTag.java:89)
	at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:269)
	at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
	at org.apache.commons.jelly.tags.core.CoreTagLibrary$1.run(CoreTagLibrary.java:98)
	at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
	at org.apache.commons.jelly.tags.core.CoreTagLibrary$2.run(CoreTagLibrary.java:105)
	at org.kohsuke.stapler.jelly.CallTagLibScript.run(CallTagLibScript.java:119)
	at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
	at org.apache.commons.jelly.tags.core.CoreTagLibrary$2.run(CoreTagLibrary.java:105)
	at org.kohsuke.stapler.jelly.JellyViewScript.run(JellyViewScript.java:81)
	at org.kohsuke.stapler.jelly.DefaultScriptInvoker.invokeScript(DefaultScriptInvoker.java:63)
	at org.kohsuke.stapler.jelly.DefaultScriptInvoker.invokeScript(DefaultScriptInvoker.java:53)
	at org.kohsuke.stapler.jelly.JellyRequestDispatcher.forward(JellyRequestDispatcher.java:55)
	at hudson.util.HudsonIsLoading.doDynamic(HudsonIsLoading.java:45)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at org.kohsuke.stapler.Function$InstanceFunction.invoke(Function.java:288)
	at org.kohsuke.stapler.Function.bindAndInvoke(Function.java:151)
	at org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:90)
	at org.kohsuke.stapler.MetaClass$11.dispatch(MetaClass.java:363)
	at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:573)
	at org.kohsuke.stapler.Stapler.invoke(Stapler.java:658)
	at org.kohsuke.stapler.Stapler.invoke(Stapler.java:487)
	at org.kohsuke.stapler.Stapler.service(Stapler.java:164)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:45)
	at winstone.ServletConfiguration.execute(ServletConfiguration.java:248)
	at winstone.RequestDispatcher.forward(RequestDispatcher.java:333)
	at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:376)
	at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:95)
	at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:87)
	at winstone.FilterConfiguration.execute(FilterConfiguration.java:194)
	at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:366)
	at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:47)
	at winstone.FilterConfiguration.execute(FilterConfiguration.java:194)
	at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:366)
	at hudson.security.HudsonFilter.doFilter(HudsonFilter.java:162)
	at winstone.FilterConfiguration.execute(FilterConfiguration.java:194)
	at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:366)
	at org.kohsuke.stapler.compression.CompressionFilter.doFilter(CompressionFilter.java:50)
	at winstone.FilterConfiguration.execute(FilterConfiguration.java:194)
	at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:366)
	at hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:81)
	at winstone.FilterConfiguration.execute(FilterConfiguration.java:194)
	at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:366)
	at winstone.RequestDispatcher.forward(RequestDispatcher.java:331)
	at winstone.RequestHandlerThread.processRequest(RequestHandlerThread.java:227)
	at winstone.RequestHandlerThread.run(RequestHandlerThread.java:150)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:439)
	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
	at java.util.concurrent.FutureTask.run(FutureTask.java:138)
	at winstone.BoundedExecutorService$1.run(BoundedExecutorService.java:77)
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
	at java.lang.Thread.run(Thread.java:662)
Caused by: java.lang.NoClassDefFoundError: hudson/plugins/git/IGitAPI
	at java.lang.Class.getDeclaredMethods0(Native Method)
	at java.lang.Class.privateGetDeclaredMethods(Class.java:2436)
	at java.lang.Class.getMethod0(Class.java:2679)
	at java.lang.Class.getMethod(Class.java:1605)
	at hudson.model.Descriptor.<init>(Descriptor.java:268)
	at hudson.plugins.git.util.BuildChooserDescriptor.<init>(BuildChooserDescriptor.java:8)
	at com.sonyericsson.hudson.plugins.gerrit.trigger.hudsontrigger.GerritTriggerBuildChooser$DescriptorImpl.<init>(GerritTriggerBuildChooser.java:151)
	at com.sonyericsson.hudson.plugins.gerrit.trigger.hudsontrigger.GerritTriggerBuildChooser$DescriptorImpl$$FastClassByGuice$$c19959b6.newInstance(<generated>)
	at com.google.inject.internal.cglib.reflect.$FastConstructor.newInstance(FastConstructor.java:40)
	at com.google.inject.internal.DefaultConstructionProxyFactory$1.newInstance(DefaultConstructionProxyFactory.java:61)
	at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:108)
	at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:87)
	at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:259)
	at com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46)
	at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1018)
	at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)
	... 73 more
Caused by: java.lang.ClassNotFoundException: hudson.plugins.git.IGitAPI
	at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
	... 89 more
Feb 18, 2013 10:05:18 PM jenkins.InitReactorRunner$1 onAttained
INFO: Augmented all extensions
Feb 18, 2013 10:05:18 PM jenkins.InitReactorRunner$1 onAttained
INFO: Started all plugins
Feb 18, 2013 10:05:18 PM jenkins.InitReactorRunner$1 onAttained
INFO: Prepared all plugins
Feb 18, 2013 10:05:18 PM jenkins.InitReactorRunner$1 onAttained
INFO: Listed all plugins
Feb 18, 2013 10:05:18 PM jenkins.InitReactorRunner$1 onAttained
INFO: Started initialization

Mark Waite

unread,
Feb 18, 2013, 6:05:12 PM2/18/13
to jenkins...@googlegroups.com
I think that is an unexpected break from changes in the Git plugin 1.1.27 and 1.1.28.  If you install plugin version 1.1.26, I expect it will work again.

The plugin changed the location of the IGitAPI interface definition in the package hierarchy, probably without realizing that other plugins were using the API definition in the package hierarchy.

Can you submit a bug to JIRA?

Thanks,
Mark Waite



From: Bo Shi <bs1...@gmail.com>
To: jenkins...@googlegroups.com
Cc: sandell...@gmail.com; tomas.w...@sonymobile.com
Sent: Monday, February 18, 2013 3:14 PM
Subject: Gerrit Trigger, Jenkins GIT Plugin, and GerritTriggerBuildChooser

--
You received this message because you are subscribed to the Google Groups "Jenkins Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-use...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
 
 


Bo Shi

unread,
Feb 18, 2013, 7:07:50 PM2/18/13
to jenkins...@googlegroups.com
Hi Mark,

Looks like my initial search was incomplete; someone has already filed
the issue https://issues.jenkins-ci.org/browse/JENKINS-16851. It's
not obvious to me, from the web UI, how to downgrade my plugin to
1.1.26. Please advise.

Thanks,
Bo

Mark Waite

unread,
Feb 18, 2013, 9:38:03 PM2/18/13
to jenkins...@googlegroups.com
Sent: Monday, February 18, 2013 5:07 PM
Subject: Re: Gerrit Trigger, Jenkins GIT Plugin, and GerritTriggerBuildChooser
> email to jenkinsci-users+unsub...@googlegroups.com.

> For more options, visit https://groups.google.com/groups/opt_out.
>
>
>
>
> --
> You received this message because you are subscribed to the Google Groups
> "Jenkins Users" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to jenkinsci-users+unsub...@googlegroups.com.

> For more options, visit https://groups.google.com/groups/opt_out.
>
>

--
You received this message because you are subscribed to the Google Groups "Jenkins Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-users+unsub...@googlegroups.com.

Bo Shi

unread,
Feb 18, 2013, 11:16:09 PM2/18/13
to jenkins...@googlegroups.com
Thanks for digging that up. I'd been googling downgrading on
gerrit+jenkins and of course should have searched using broader terms.
>> email to jenkinsci-use...@googlegroups.com.
>> For more options, visit https://groups.google.com/groups/opt_out.
>>
>>
>>
>>
>> --
>> You received this message because you are subscribed to the Google Groups
>> "Jenkins Users" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to jenkinsci-use...@googlegroups.com.
>> For more options, visit https://groups.google.com/groups/opt_out.
>>
>>
>
> --
> You received this message because you are subscribed to the Google Groups
> "Jenkins Users" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to jenkinsci-use...@googlegroups.com.
> For more options, visit https://groups.google.com/groups/opt_out.
>
>
>
>
> --
> You received this message because you are subscribed to the Google Groups
> "Jenkins Users" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to jenkinsci-use...@googlegroups.com.

nicolas de loof

unread,
Feb 19, 2013, 1:57:09 AM2/19/13
to jenkins...@googlegroups.com
I'm working on a fix to avoid such regression but stil allow current refactoring in git plugin
stay tunned

2013/2/19 Bo Shi <bs1...@gmail.com>
Reply all
Reply to author
Forward
0 new messages