To be expected if you don't have the Jenkins Enterprise RBAC plugin. I
think Jesse has made the exception less scary in more recent versions of
Jenkins.

In this specific case it is a historical artifact of the way the two
plugins were developed.

I developed the RBAC plugin while KK was working on the Folders plugin. I
got finished first and cut the initial release of the RBAC plugin. That was
finished testing and then we were doing tests on the Folders plugin when KK
had it ready. In order to add support for RBAC into folders, we put the
support in the Folders plugin (so as to avoid respinning the already tested
RBAC plugin - why I don't know as RBAC at the time had >98% test coverage
so it would have been safe to do so)... at that time the Folders and RBAC
plugins were both Enterprise only, so 99.99% of customers would have both
plugins installed and there would be no exception.

Then the decision was made to move Folders to free (as in tell me your name
and I'll give you this beer)... perhaps we should have moved the extension
and the dependency over to RBAC but for maintaining backwards compatibility
the decision was made to keep the RBAC support within Folders... and this
scary exception is the corresponding result.

TL;DR expected and perfectly normal don't worry about it


On 3 July 2013 11:54, Jerry <gpjerrymalo...@gmail.com> wrote:

> I was trying to track down a memory leak in Jenkins (or a plugin) and came
> across the following in the log. I don't think it's related to the memory
> leak, and I haven't seen any effects of the exception, just thought someone
> (e.g., Stephen Connelly) might be interested in this.
>
> -----
>
> Jul 02, 2013 3:55:10 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:
> nectar/plugins/rbac/groups/ProxyGroupContainer
>   at
> com.cloudbees.hudson.plugins.folder.properties.FolderProxyGroupContainer$DescriptorImpl.<init>(FolderProxyGroupContainer.java:178)
>
> 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.JellyClassTearOff.serveIndexJelly(JellyClassTearOff.java:112)
> at
> org.kohsuke.stapler.jelly.JellyFacet.handleIndexRequest(JellyFacet.java:127)
> at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:666)
> at org.kohsuke.stapler.Stapler.invoke(Stapler.java:770)
> at org.kohsuke.stapler.Stapler.invoke(Stapler.java:583)
> at org.kohsuke.stapler.Stapler.service(Stapler.java:214)
> 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:48)
> 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:471)
> at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
> at java.util.concurrent.FutureTask.run(FutureTask.java:166)
> at winstone.BoundedExecutorService$1.run(BoundedExecutorService.java:77)
> at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
> at java.lang.Thread.run(Thread.java:722)
> Caused by: java.lang.NoClassDefFoundError:
> nectar/plugins/rbac/groups/ProxyGroupContainer
> at java.lang.ClassLoader.defineClass1(Native Method)
> at java.lang.ClassLoader.defineClass(ClassLoader.java:791)
> at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
> at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
> at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
> at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
> at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
> at java.security.AccessController.doPrivileged(Native Method)
> at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
> at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
> at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
> at java.lang.Class.getDeclaringClass(Native Method)
> at java.lang.Class.getEnclosingClass(Class.java:1105)
> at hudson.model.Descriptor.<init>(Descriptor.java:251)
> at
> com.cloudbees.hudson.plugins.folder.FolderPropertyDescriptor.<init>(FolderPropertyDescriptor.java:19)
> at
> com.cloudbees.hudson.plugins.folder.properties.FolderProxyGroupContainer$DescriptorImpl.<init>(FolderProxyGroupContainer.java:178)
> at
> com.cloudbees.hudson.plugins.folder.properties.FolderProxyGroupContainer$DescriptorImpl$$FastClassByGuice$$8b70b158.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)
> ... 65 more
> Caused by: java.lang.ClassNotFoundException:
> nectar.plugins.rbac.groups.ProxyGroupContainer
> at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
> at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
> at java.security.AccessController.doPrivileged(Native Method)
> at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
> at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
> at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
> ... 90 more
>
>  --
> 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+unsubscr...@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+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to