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

Tried proxying io.fabric8.jenkins.openshiftsync.GlobalPluginConfiguration to support a circular dependency, but it is not an interface.

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed (View Workflow)
    • Priority: Minor
    • Resolution: Fixed
    • Component/s: openshift-sync-plugin
    • Labels:
      None
    • Environment:
    • Similar Issues:

      Description

      Hello developers,

      we can see in our logfile at the startup of our Jenkins following warning:

      WARNING: Failed to instantiate Key[type=io.fabric8.jenkins.openshiftsync.GlobalPluginConfiguration, annotation=[none]]; skipping this component
      com.google.inject.ProvisionException: Unable to provision, see the following errors:
      
      1) Tried proxying io.fabric8.jenkins.openshiftsync.GlobalPluginConfiguration 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:424)
      	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:386)
      	at hudson.ExtensionFinder$GuiceFinder.find(ExtensionFinder.java:377)
      	at hudson.ClassicPluginStrategy.findComponents(ClassicPluginStrategy.java:472)
      	at hudson.ExtensionList.load(ExtensionList.java:365)
      	at hudson.ExtensionList.ensureLoaded(ExtensionList.java:303)
      	at hudson.ExtensionList.getComponents(ExtensionList.java:168)
      	at hudson.DescriptorExtensionList.load(DescriptorExtensionList.java:191)
      	at hudson.ExtensionList.ensureLoaded(ExtensionList.java:303)
      	at hudson.ExtensionList.iterator(ExtensionList.java:157)
      	at hudson.model.User.load(User.java:201)
      	at hudson.model.User.<init>(User.java:155)
      	at hudson.model.User.getOrCreate(User.java:463)
      	at hudson.model.User.getById(User.java:534)
      	at hudson.model.User.get(User.java:518)
      	at hudson.model.User.current(User.java:502)
      	at hudson.plugins.jobConfigHistory.PluginUtils.isUserExcluded(PluginUtils.java:136)
      	at hudson.plugins.jobConfigHistory.JobConfigHistorySaveableListener.onChange(JobConfigHistorySaveableListener.java:52)
      	at hudson.model.listeners.SaveableListener.fireOnChange(SaveableListener.java:81)
      	at hudson.model.Descriptor.save(Descriptor.java:872)
      	at io.fabric8.jenkins.openshiftsync.GlobalPluginConfiguration.<init>(GlobalPluginConfiguration.java:62)
      	at io.fabric8.jenkins.openshiftsync.GlobalPluginConfiguration$$FastClassByGuice$$7bc306ea.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.construct(ConstructorInjector.java:85)
      	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:424)
      	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:386)
      	at hudson.ExtensionFinder$GuiceFinder.find(ExtensionFinder.java:377)
      	at hudson.ClassicPluginStrategy.findComponents(ClassicPluginStrategy.java:472)
      	at hudson.ExtensionList.load(ExtensionList.java:365)
      	at hudson.ExtensionList.ensureLoaded(ExtensionList.java:303)
      	at hudson.ExtensionList.iterator(ExtensionList.java:157)
      	at jenkins.model.Jenkins.getDescriptorByType(Jenkins.java:1519)
      	at jenkins.plugins.nodejs.NodeJSPlugin.setInstallations(NodeJSPlugin.java:80)
      	at jenkins.plugins.nodejs.NodeJSPlugin.postInitialize(NodeJSPlugin.java:46)
      	at hudson.PluginManager$2$1$2.run(PluginManager.java:543)
      	at org.jvnet.hudson.reactor.TaskGraphBuilder$TaskImpl.run(TaskGraphBuilder.java:169)
      	at org.jvnet.hudson.reactor.Reactor.runTask(Reactor.java:282)
      	at jenkins.model.Jenkins$7.runTask(Jenkins.java:1064)
      	at org.jvnet.hudson.reactor.Reactor$2.run(Reactor.java:210)
      	at org.jvnet.hudson.reactor.Reactor$Node.run(Reactor.java:117)
      	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
      	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
      	at java.lang.Thread.run(Thread.java:745)
      

      How can wew avoid this ?

      Thank you for your help and support.

      Best regards
      Sascha

        Attachments

        1. jenkins-10.log
          44 kB
        2. jenkins-11.log
          47 kB
        3. jenkins-7-s62nq.log
          41 kB
        4. openshift-sync.hpi
          7.90 MB

          Issue Links

            Activity

            Hide
            sherl0cks Justin Holmes added a comment -

            Gabe can you confirm you are on the correct branch (jenkins-42276-latest)?

            Github shows a different latest commit
            https://github.com/sherl0cks/labs-ci-cd/commits/jenkins-42276-latest

            Show
            sherl0cks Justin Holmes added a comment - Gabe can you confirm you are on the correct branch (jenkins-42276-latest)? Github shows a different latest commit https://github.com/sherl0cks/labs-ci-cd/commits/jenkins-42276-latest
            Hide
            gmontero Gabe Montero added a comment -

            yep that was it ... had the recreate vs. latest branch .... have reproduced, about to test fix

            Show
            gmontero Gabe Montero added a comment - yep that was it ... had the recreate vs. latest branch .... have reproduced, about to test fix
            Hide
            gmontero Gabe Montero added a comment -

            I was able to successfully verify the fix using Justin Holmes 's repro env.

             

            My steps were, from my clone of https://github.com/sherl0cks/labs-ci-cd/tree/jenkins-42276-latest/s2i-config/jenkins-master

            1) remove openshfit-sync from the plugins.txt

            2) create a plugins dir off of the jenkins-master dir

            3) copy the updated plugin to plugins/

            4) ran s2i build . openshift/jenkins-2-centos7:latest jira-test:latest 

             

            I then docker ran jira-test:latest and all was good.

             

            That s2i command can extend the openshift jenkins rhel image as well.  But you have to name the file in the plugins directory

            as "openshift-sync.jpi" prior to running the s2i command.  There are old, gory details about how jenkins overrides plugins that apply

            here, along with differences in how the plugins get installed with the centos vs. rhel image.

             

            With all that, as I alluded to before, I'll resolve this bug once I cut a new version of openshift-sync up at the jenkins update center.  Should be this week.

            Show
            gmontero Gabe Montero added a comment - I was able to successfully verify the fix using Justin Holmes 's repro env.   My steps were, from my clone of https://github.com/sherl0cks/labs-ci-cd/tree/jenkins-42276-latest/s2i-config/jenkins-master 1) remove openshfit-sync from the plugins.txt 2) create a plugins dir off of the jenkins-master dir 3) copy the updated plugin to plugins/ 4) ran s2i build . openshift/jenkins-2-centos7:latest jira-test:latest    I then docker ran jira-test:latest and all was good.   That s2i command can extend the openshift jenkins rhel image as well.  But you have to name the file in the plugins directory as "openshift-sync.jpi" prior to running the s2i command.  There are old, gory details about how jenkins overrides plugins that apply here, along with differences in how the plugins get installed with the centos vs. rhel image.   With all that, as I alluded to before, I'll resolve this bug once I cut a new version of openshift-sync up at the jenkins update center.  Should be this week.
            Hide
            gmontero Gabe Montero added a comment -

            v0.9.1 of the sync plugin has the fix for this and is available at the jenkins update center

             

            the openshift jenkins centos image is also available on docker hub

             

            marking resolved

            Show
            gmontero Gabe Montero added a comment - v0.9.1 of the sync plugin has the fix for this and is available at the jenkins update center   the openshift jenkins centos image is also available on docker hub   marking resolved
            Hide
            bill_tang bill tang added a comment -

            i  build jenkins master image  and  jenkins slave image  like  follow  steps.  but when i start deploying the jenkins master ,  same error  occured.  can  u  give some advices? Thanks

            jenkins master  base image:   jenkins-2.32-rhel7

            jenkins slave base  image:  rhel7

            install on  master:  swarm plugin , gearman  plugin ,   zuul 

            install on slave :  swarm plugin,  maven 

            Show
            bill_tang bill tang added a comment - i  build jenkins master image  and  jenkins slave image  like  follow  steps.  but when i start deploying the jenkins master ,  same error  occured.  can  u  give some advices? Thanks jenkins master  base image:   jenkins-2.32-rhel7 jenkins slave base  image:  rhel7 install on  master:  swarm plugin , gearman  plugin ,   zuul  install on slave :  swarm plugin,  maven 

              People

              Assignee:
              gmontero Gabe Montero
              Reporter:
              georgestark Sascha Vujevic
              Votes:
              1 Vote for this issue
              Watchers:
              6 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved: