Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-60393

cloudbees-folder circular dependency

    Details

    • Type: Bug
    • Status: Resolved (View Workflow)
    • Priority: Minor
    • Resolution: Fixed
    • Labels:
      None
    • Environment:
      jenkins 2.190.3
      cloudbees-folder-plugin 6.10
    • Similar Issues:
    • Released As:
      cloudbees-folder-6.10.1

      Description

      Seeing the following in my Jenkins log as a stacktrace :

      2019-12-06 19:26:29.676+0000 [id=29] WARNING h.ExtensionFinder$GuiceFinder$FaultTolerantScope$1#error: Failed to instantiate Key[type=com.cloudbees.hudson.plugins.folder.config.AbstractFolderConfiguration, annotation=[none]]; skipping this component
      com.google.inject.ProvisionException: Unable to provision, see the following errors:
      
      1) Tried proxying com.cloudbees.hudson.plugins.folder.config.AbstractFolderConfiguration to support a circular dependency, but it is not an interface.
      
      1 error
       at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:52)
       at com.google.inject.internal.SingletonScope$1.get(SingletonScope.java:145)
       at hudson.ExtensionFinder$GuiceFinder$FaultTolerantScope$1.get(ExtensionFinder.java:439)
       at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:41)
       at com.google.inject.internal.InjectorImpl$2$1.call(InjectorImpl.java:1016)
       at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1103)
       at com.google.inject.internal.InjectorImpl$2.get(InjectorImpl.java:1012)
       at hudson.ExtensionFinder$GuiceFinder._find(ExtensionFinder.java:401)
       at hudson.ExtensionFinder$GuiceFinder.find(ExtensionFinder.java:392)
       at hudson.ClassicPluginStrategy.findComponents(ClassicPluginStrategy.java:344)
       at hudson.ExtensionList.load(ExtensionList.java:381)
       at hudson.ExtensionList.ensureLoaded(ExtensionList.java:317)
       at hudson.ExtensionList.getComponents(ExtensionList.java:183)
       at hudson.DescriptorExtensionList.load(DescriptorExtensionList.java:193)
       at hudson.ExtensionList.ensureLoaded(ExtensionList.java:317)
       at hudson.ExtensionList.iterator(ExtensionList.java:172)
       at com.cloudbees.hudson.plugins.folder.config.AbstractFolderConfiguration.<init>(AbstractFolderConfiguration.java:36)
       at com.cloudbees.hudson.plugins.folder.config.AbstractFolderConfiguration$$FastClassByGuice$$2295d22e.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:105)
       at com.google.inject.internal.ConstructorInjector.access$000(ConstructorInjector.java:32)
       at com.google.inject.internal.ConstructorInjector$1.call(ConstructorInjector.java:89)
       at com.google.inject.internal.ProvisionListenerStackCallback$Provision.provision(ProvisionListenerStackCallback.java:115)
       at hudson.ExtensionFinder$GuiceFinder$SezpozModule.onProvision(ExtensionFinder.java:567)
       at com.google.inject.internal.ProvisionListenerStackCallback$Provision.provision(ProvisionListenerStackCallback.java:126)
       at com.google.inject.internal.ProvisionListenerStackCallback.provision(ProvisionListenerStackCallback.java:68)
       at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:87)
       at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:267)
       at com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46)
       at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1103)
       at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)
       at com.google.inject.internal.SingletonScope$1.get(SingletonScope.java:145)
       at hudson.ExtensionFinder$GuiceFinder$FaultTolerantScope$1.get(ExtensionFinder.java:439)
       at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:41)
       at com.google.inject.internal.InjectorImpl$2$1.call(InjectorImpl.java:1016)
       at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1092)
       at com.google.inject.internal.InjectorImpl$2.get(InjectorImpl.java:1012)
       at hudson.ExtensionFinder$GuiceFinder._find(ExtensionFinder.java:401)
       at hudson.ExtensionFinder$GuiceFinder.find(ExtensionFinder.java:392)
       at hudson.ClassicPluginStrategy.findComponents(ClassicPluginStrategy.java:344)
       at hudson.ExtensionList.load(ExtensionList.java:381)
       at hudson.ExtensionList.ensureLoaded(ExtensionList.java:317)
       at hudson.ExtensionList.getComponents(ExtensionList.java:183)
       at hudson.DescriptorExtensionList.load(DescriptorExtensionList.java:193)
       at hudson.ExtensionList.ensureLoaded(ExtensionList.java:317)
       at hudson.ExtensionList.iterator(ExtensionList.java:172)
       at java.util.Spliterators$IteratorSpliterator.estimateSize(Spliterators.java:1821)
       at java.util.Spliterator.getExactSizeIfKnown(Spliterator.java:408)
       at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:480)
       at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)
       at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:151)
       at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:174)
       at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
       at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:418)
       at io.jenkins.plugins.coverage.CoverageElementInitializer.registerAllCoverageElement(CoverageElementInitializer.java:21)
       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
       at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
       at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
       at java.lang.reflect.Method.invoke(Method.java:498)
       at hudson.init.TaskMethodFinder.invoke(TaskMethodFinder.java:104)
       at hudson.init.TaskMethodFinder$TaskImpl.run(TaskMethodFinder.java:175)
       at org.jvnet.hudson.reactor.Reactor.runTask(Reactor.java:296)
       at jenkins.model.Jenkins$5.runTask(Jenkins.java:1119)
       at org.jvnet.hudson.reactor.Reactor$2.run(Reactor.java:214)
       at org.jvnet.hudson.reactor.Reactor$Node.run(Reactor.java:117)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
       at java.lang.Thread.run(Thread.java:748)
      

      When I downgrade to 6.9, this issue goes away.

        Attachments

          Issue Links

            Activity

            Hide
            markewaite Mark Waite added a comment -

            My startup is not blocked, but I can definitely see the error in the log consistently with the cloudbees folder plugin 6.10.0 as represented in the 291e29a264 commit on the lts-plugins branch of my docker-lfs repository.

            Steps to duplicate the problem using that repository:

            1. Clone the docker image repository with the commands:
              $ git clone -o public -b lts-with-plugins https://github.com/MarkEWaite/docker-lfs.git
              $ cd docker-lfs
              $ git remote add upstream https://github.com/jenkinsci/docker.git
              $ git pull --all
              $ git checkout -b lts -t public/lts
              $ git checkout lts-with-plugins
              $ ./docker_build.py
              $ ./docker_run.py --clean --quiet
              
            2. Connect to the URL of that server (port 8080 on current host)
            3. Install CloudBees Folder plugin 6.10.0
            4. Restart Jenkins, watch for the stack trace message
            Show
            markewaite Mark Waite added a comment - My startup is not blocked, but I can definitely see the error in the log consistently with the cloudbees folder plugin 6.10.0 as represented in the 291e29a264 commit on the lts-plugins branch of my docker-lfs repository . Steps to duplicate the problem using that repository: Clone the docker image repository with the commands: $ git clone -o public -b lts-with-plugins https://github.com/MarkEWaite/docker-lfs.git $ cd docker-lfs $ git remote add upstream https://github.com/jenkinsci/docker.git $ git pull --all $ git checkout -b lts -t public/lts $ git checkout lts-with-plugins $ ./docker_build.py $ ./docker_run.py --clean --quiet Connect to the URL of that server (port 8080 on current host) Install CloudBees Folder plugin 6.10.0 Restart Jenkins, watch for the stack trace message
            Hide
            fcojfernandez Francisco Fernández added a comment -

            cloudbees-folder-6.10.1 is out and it should fix the issue. Could you please check?

            Show
            fcojfernandez Francisco Fernández added a comment - cloudbees-folder-6.10.1 is out and it should fix the issue. Could you please check?
            Hide
            markewaite Mark Waite added a comment -

            Francisco Fernández I installed 6.10.1 on my instance and do not see any messages about circular dependencies. Fixed. Thanks!

            Show
            markewaite Mark Waite added a comment - Francisco Fernández I installed 6.10.1 on my instance and do not see any messages about circular dependencies. Fixed. Thanks!
            Hide
            renescheibe René Scheibe added a comment -
            Show
            renescheibe René Scheibe added a comment - Francisco Fernández LGTM.
            Hide
            fcojfernandez Francisco Fernández added a comment -

            Glad to hear it's fixed. Thanks Allan BURDAJEWICZ!

            Show
            fcojfernandez Francisco Fernández added a comment - Glad to hear it's fixed. Thanks Allan BURDAJEWICZ !

              People

              • Assignee:
                allan_burdajewicz Allan BURDAJEWICZ
                Reporter:
                mhall4 Matthew Hall
              • Votes:
                5 Vote for this issue
                Watchers:
                11 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: