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

Git plugin erase Global Pipeline Libraries

    Details

    • Similar Issues:

      Description

      Hello,

      I'm using jenkins + pipeline + groovy shared library (to auto. load a set of functions in my pipeline jobs).

      When i update git plugin to version 3.4 or the latest (3.5.1), the "global pipelines libraries" in the "JENKINS_URL/configure" screen disappear and all my jobs are broken because of this.

      I have Jenkins v2.60.2 / git plugin v3.1.0 / Shared groovy libraries v2.8

       

      Thanks,

        Attachments

          Issue Links

            Activity

            Hide
            markewaite Mark Waite added a comment - - edited

            Can you provide more details to describe how to duplicate the upgrade problem you're seeing?

            I think you're saying that you start with:

            Your system is configured with a shared groovy library (don't recognize that term, but I assume that is a pipeline shared library?) in the root configuration.

            When you upgrade to:

            then the configuration of your shared groovy library is lost.

            Have I described it accurately?

            Are there other settings related to shared global libraries which aren't mentioned in your bug report?

            I'll likely need help from Stephen Connolly to diagnose the upgrade failure.

            Show
            markewaite Mark Waite added a comment - - edited Can you provide more details to describe how to duplicate the upgrade problem you're seeing? I think you're saying that you start with: Jenkins 2.60.2 Git plugin 3.1.0 Shared groovy libraries 2.8 Your system is configured with a shared groovy library (don't recognize that term, but I assume that is a pipeline shared library?) in the root configuration. When you upgrade to: Jenkins 2.60.2 (no change) Git plugin 3.4.0 or 3.5.1 Shared groovy libraries 2.8 then the configuration of your shared groovy library is lost. Have I described it accurately? Are there other settings related to shared global libraries which aren't mentioned in your bug report? I'll likely need help from Stephen Connolly to diagnose the upgrade failure.
            Hide
            johannb Johann BICH added a comment - - edited

            Hello,

            Yes, your description is accurate. The "start" from and "upgrade to" statements are right. And yes, it's indeed the "pipeline shared library" plugin that i use.

            After upgrading, when i go in "configure jenkins" > "global configuration" (/configure) > "Global Pipeline Libraries" doesn't exist anymore for some reason =/

             

            Show
            johannb Johann BICH added a comment - - edited Hello, Yes, your description is accurate. The "start" from and "upgrade to" statements are right. And yes, it's indeed the "pipeline shared library" plugin that i use. After upgrading, when i go in "configure jenkins" > "global configuration" (/configure) > "Global Pipeline Libraries" doesn't exist anymore for some reason =/  
            Hide
            johannb Johann BICH added a comment -

            Update: Tested with git plugin 3.3.2. The "global pipeline libraries" element in the "global configuration" is still here, which is good. I still haven't the correct version:

            "GitHub plugin v1.28.0

            • Jenkins Git plugin v3.3.2 is older than required. To fix, install v3.4.0 or later."

             

            Show
            johannb Johann BICH added a comment - Update: Tested with git plugin 3.3.2. The "global pipeline libraries" element in the "global configuration" is still here, which is good. I still haven't the correct version: "GitHub plugin v1.28.0 Jenkins Git plugin v3.3.2 is older than required. To fix, install v3.4.0 or later."  
            Hide
            johannb Johann BICH added a comment -

            Update: Here's the stack trace i get:

            Aug 16, 2017 9:25:31 AM hudson.ExtensionFinder$GuiceFinder$FaultTolerantScope$1 error
            WARNING: Failed to instantiate Key[type=org.jenkinsci.plugins.workflow.libs.GlobalLibraries, annotation=[none]]; skipping this component
            com.google.inject.ProvisionException: Unable to provision, see the following errors:
            1) Tried proxying org.jenkinsci.plugins.workflow.libs.GlobalLibraries 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:477)
            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 jenkins.plugins.git.GitSCMSource.readResolve(GitSCMSource.java:212)
            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 com.thoughtworks.xstream.converters.reflection.SerializationMethodInvoker.callReadResolve(SerializationMethodInvoker.java:66)
            at hudson.util.RobustReflectionConverter.unmarshal(RobustReflectionConverter.java:271)
            at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:72)
            at com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(AbstractReferenceUnmarshaller.java:65)
            at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:66)
            at hudson.util.RobustReflectionConverter.unmarshalField(RobustReflectionConverter.java:393)
            at hudson.util.RobustReflectionConverter.doUnmarshal(RobustReflectionConverter.java:331)
            at hudson.util.RobustReflectionConverter.unmarshal(RobustReflectionConverter.java:270)
            at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:72)
            at com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(AbstractReferenceUnmarshaller.java:65)
            at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:66)
            at hudson.util.RobustReflectionConverter.unmarshalField(RobustReflectionConverter.java:393)
            at hudson.util.RobustReflectionConverter.doUnmarshal(RobustReflectionConverter.java:331)
            at hudson.util.RobustReflectionConverter.unmarshal(RobustReflectionConverter.java:270)
            at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:72)
            at com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(AbstractReferenceUnmarshaller.java:65)
            at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:66)
            at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:50)
            at com.thoughtworks.xstream.converters.collections.AbstractCollectionConverter.readItem(AbstractCollectionConverter.java:71)
            at hudson.util.RobustCollectionConverter.populateCollection(RobustCollectionConverter.java:85)
            at com.thoughtworks.xstream.converters.collections.CollectionConverter.unmarshal(CollectionConverter.java:80)
            at hudson.util.RobustCollectionConverter.unmarshal(RobustCollectionConverter.java:76)
            at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:72)
            at com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(AbstractReferenceUnmarshaller.java:65)
            at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:66)
            at hudson.util.RobustReflectionConverter.unmarshalField(RobustReflectionConverter.java:393)
            at hudson.util.RobustReflectionConverter.doUnmarshal(RobustReflectionConverter.java:331)
            at hudson.util.RobustReflectionConverter.unmarshal(RobustReflectionConverter.java:270)
            at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:72)
            at com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(AbstractReferenceUnmarshaller.java:65)
            at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:66)
            at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:50)
            at com.thoughtworks.xstream.core.TreeUnmarshaller.start(TreeUnmarshaller.java:134)
            at com.thoughtworks.xstream.core.AbstractTreeMarshallingStrategy.unmarshal(AbstractTreeMarshallingStrategy.java:32)
            at com.thoughtworks.xstream.XStream.unmarshal(XStream.java:1189)
            at hudson.util.XStream2.unmarshal(XStream2.java:114)
            at com.thoughtworks.xstream.XStream.unmarshal(XStream.java:1173)
            at hudson.XmlFile.unmarshal(XmlFile.java:160)
            at hudson.model.Descriptor.load(Descriptor.java:893)
            at org.jenkinsci.plugins.workflow.libs.GlobalLibraries.<init>(GlobalLibraries.java:57)
            at org.jenkinsci.plugins.workflow.libs.GlobalLibraries$$FastClassByGuice$$602b3fdb.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:477)
            at hudson.ExtensionList.load(ExtensionList.java:365)
            at hudson.ExtensionList.ensureLoaded(ExtensionList.java:303)
            at hudson.ExtensionList.iterator(ExtensionList.java:157)
            at hudson.ExtensionList.get(ExtensionList.java:148)
            at hudson.plugins.sonar.SonarPlugin.postInitialize(SonarPlugin.java:47)
            at hudson.PluginManager$2$1$2.run(PluginManager.java:542)
            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:1090)
            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:1149)
            at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
            at java.lang.Thread.run(Thread.java:748)
            
            Show
            johannb Johann BICH added a comment - Update: Here's the stack trace i get: Aug 16, 2017 9:25:31 AM hudson.ExtensionFinder$GuiceFinder$FaultTolerantScope$1 error WARNING: Failed to instantiate Key[type=org.jenkinsci.plugins.workflow.libs.GlobalLibraries, annotation=[none]]; skipping this component com.google.inject.ProvisionException: Unable to provision, see the following errors: 1) Tried proxying org.jenkinsci.plugins.workflow.libs.GlobalLibraries 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:477) 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 jenkins.plugins.git.GitSCMSource.readResolve(GitSCMSource.java:212) 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 com.thoughtworks.xstream.converters.reflection.SerializationMethodInvoker.callReadResolve(SerializationMethodInvoker.java:66) at hudson.util.RobustReflectionConverter.unmarshal(RobustReflectionConverter.java:271) at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:72) at com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(AbstractReferenceUnmarshaller.java:65) at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:66) at hudson.util.RobustReflectionConverter.unmarshalField(RobustReflectionConverter.java:393) at hudson.util.RobustReflectionConverter.doUnmarshal(RobustReflectionConverter.java:331) at hudson.util.RobustReflectionConverter.unmarshal(RobustReflectionConverter.java:270) at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:72) at com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(AbstractReferenceUnmarshaller.java:65) at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:66) at hudson.util.RobustReflectionConverter.unmarshalField(RobustReflectionConverter.java:393) at hudson.util.RobustReflectionConverter.doUnmarshal(RobustReflectionConverter.java:331) at hudson.util.RobustReflectionConverter.unmarshal(RobustReflectionConverter.java:270) at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:72) at com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(AbstractReferenceUnmarshaller.java:65) at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:66) at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:50) at com.thoughtworks.xstream.converters.collections.AbstractCollectionConverter.readItem(AbstractCollectionConverter.java:71) at hudson.util.RobustCollectionConverter.populateCollection(RobustCollectionConverter.java:85) at com.thoughtworks.xstream.converters.collections.CollectionConverter.unmarshal(CollectionConverter.java:80) at hudson.util.RobustCollectionConverter.unmarshal(RobustCollectionConverter.java:76) at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:72) at com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(AbstractReferenceUnmarshaller.java:65) at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:66) at hudson.util.RobustReflectionConverter.unmarshalField(RobustReflectionConverter.java:393) at hudson.util.RobustReflectionConverter.doUnmarshal(RobustReflectionConverter.java:331) at hudson.util.RobustReflectionConverter.unmarshal(RobustReflectionConverter.java:270) at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:72) at com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(AbstractReferenceUnmarshaller.java:65) at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:66) at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:50) at com.thoughtworks.xstream.core.TreeUnmarshaller.start(TreeUnmarshaller.java:134) at com.thoughtworks.xstream.core.AbstractTreeMarshallingStrategy.unmarshal(AbstractTreeMarshallingStrategy.java:32) at com.thoughtworks.xstream.XStream.unmarshal(XStream.java:1189) at hudson.util.XStream2.unmarshal(XStream2.java:114) at com.thoughtworks.xstream.XStream.unmarshal(XStream.java:1173) at hudson.XmlFile.unmarshal(XmlFile.java:160) at hudson.model.Descriptor.load(Descriptor.java:893) at org.jenkinsci.plugins.workflow.libs.GlobalLibraries.<init>(GlobalLibraries.java:57) at org.jenkinsci.plugins.workflow.libs.GlobalLibraries$$FastClassByGuice$$602b3fdb.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:477) at hudson.ExtensionList.load(ExtensionList.java:365) at hudson.ExtensionList.ensureLoaded(ExtensionList.java:303) at hudson.ExtensionList.iterator(ExtensionList.java:157) at hudson.ExtensionList.get(ExtensionList.java:148) at hudson.plugins.sonar.SonarPlugin.postInitialize(SonarPlugin.java:47) at hudson.PluginManager$2$1$2.run(PluginManager.java:542) 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:1090) 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:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang. Thread .run( Thread .java:748)
            Show
            johannb Johann BICH added a comment - Update: Using the fix provided by this comment https://issues.jenkins-ci.org/browse/JENKINS-45747?focusedCommentId=310313&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#comment-310313  , i got it to work.
            Hide
            markewaite Mark Waite added a comment -

            Thanks for detecting that this is the same problem case as is described in JENKINS-45747, and thanks especially for confirming that the work-around described in that bug resolved it for your case as well.

            Show
            markewaite Mark Waite added a comment - Thanks for detecting that this is the same problem case as is described in JENKINS-45747 , and thanks especially for confirming that the work-around described in that bug resolved it for your case as well.

              People

              • Assignee:
                Unassigned
                Reporter:
                johannb Johann BICH
              • Votes:
                0 Vote for this issue
                Watchers:
                3 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: