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

Find out what's wrong with Copy Artifact failing to load in 2.0

    XMLWordPrintable

    Details

    • Similar Issues:

      Description

      Steps to reproduce:
      1. Install 2.0 beta
      2. Select all plugins in setup wizard
      3. See Copy Artifact fail

      INFO: Downloading Copy Artifact Plugin
      Mrz 24, 2016 5:07:19 AM hudson.PluginManager dynamicLoad
      INFO: Attempting to dynamic load /…/plugins/copyartifact.jpi
      Mrz 24, 2016 5:07:20 AM hudson.ExtensionFinder$GuiceFinder refresh
      SEVERE: Failed to create Guice container from newly added plugins
      com.google.inject.CreationException: Guice creation errors:
      
      1) A binding to hudson.model.Descriptor annotated with @com.google.inject.name.Named(value=2) was already configured at hudson.ExtensionFinder$GuiceFinder$SezpozModule.configure(ExtensionFinder.java:530).
        at hudson.ExtensionFinder$GuiceFinder$SezpozModule.configure(ExtensionFinder.java:530)
      
      1 error
      	at com.google.inject.internal.Errors.throwCreationExceptionIfErrorsExist(Errors.java:448)
      	at com.google.inject.internal.InternalInjectorCreator.initializeStatically(InternalInjectorCreator.java:155)
      	at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:107)
      	at com.google.inject.internal.InjectorImpl.createChildInjector(InjectorImpl.java:230)
      	at hudson.ExtensionFinder$GuiceFinder.refresh(ExtensionFinder.java:334)
      	at jenkins.model.Jenkins.refreshExtensions(Jenkins.java:2378)
      	at hudson.PluginManager.dynamicLoad(PluginManager.java:691)
      	at hudson.model.UpdateCenter$InstallationJob._run(UpdateCenter.java:1671)
      	at hudson.model.UpdateCenter$DownloadJob.run(UpdateCenter.java:1453)
      	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
      	at java.util.concurrent.FutureTask.run(FutureTask.java:262)
      	at hudson.remoting.AtmostOneThreadExecutor$Worker.run(AtmostOneThreadExecutor.java:110)
      	at java.lang.Thread.run(Thread.java:744)
      
      Mrz 24, 2016 5:07:20 AM hudson.model.UpdateCenter$DownloadJob run
      SEVERE: Failed to install Copy Artifact Plugin
      java.io.IOException: Failed to dynamically deploy this plugin
      	at hudson.model.UpdateCenter$InstallationJob._run(UpdateCenter.java:1675)
      	at hudson.model.UpdateCenter$DownloadJob.run(UpdateCenter.java:1453)
      	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
      	at java.util.concurrent.FutureTask.run(FutureTask.java:262)
      	at hudson.remoting.AtmostOneThreadExecutor$Worker.run(AtmostOneThreadExecutor.java:110)
      	at java.lang.Thread.run(Thread.java:744)
      Caused by: java.io.IOException: Failed to install copyartifact plugin
      	at hudson.PluginManager.dynamicLoad(PluginManager.java:698)
      	at hudson.model.UpdateCenter$InstallationJob._run(UpdateCenter.java:1671)
      	... 5 more
      Caused by: jenkins.ExtensionRefreshException: com.google.inject.CreationException: Guice creation errors:
      
      1) A binding to hudson.model.Descriptor annotated with @com.google.inject.name.Named(value=2) was already configured at hudson.ExtensionFinder$GuiceFinder$SezpozModule.configure(ExtensionFinder.java:530).
        at hudson.ExtensionFinder$GuiceFinder$SezpozModule.configure(ExtensionFinder.java:530)
      
      1 error
      	at hudson.ExtensionFinder$GuiceFinder.refresh(ExtensionFinder.java:347)
      	at jenkins.model.Jenkins.refreshExtensions(Jenkins.java:2378)
      	at hudson.PluginManager.dynamicLoad(PluginManager.java:691)
      	... 6 more
      Caused by: com.google.inject.CreationException: Guice creation errors:
      
      1) A binding to hudson.model.Descriptor annotated with @com.google.inject.name.Named(value=2) was already configured at hudson.ExtensionFinder$GuiceFinder$SezpozModule.configure(ExtensionFinder.java:530).
        at hudson.ExtensionFinder$GuiceFinder$SezpozModule.configure(ExtensionFinder.java:530)
      
      1 error
      	at com.google.inject.internal.Errors.throwCreationExceptionIfErrorsExist(Errors.java:448)
      	at com.google.inject.internal.InternalInjectorCreator.initializeStatically(InternalInjectorCreator.java:155)
      	at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:107)
      	at com.google.inject.internal.InjectorImpl.createChildInjector(InjectorImpl.java:230)
      	at hudson.ExtensionFinder$GuiceFinder.refresh(ExtensionFinder.java:334)
      	... 8 more
      
      

        Attachments

          Issue Links

            Activity

            danielbeck Daniel Beck created issue -
            Hide
            danielbeck Daniel Beck added a comment -

            Responsible plugin appears to be Matrix Auth. Minimal Plugin set:

            Deselect all, then select Matrix Auth, Copy Artifact (in that order) in wizard.

            It's unrelated to the Matrix Auth dependency bug to Folders; None, Folders, Matrix Auth, Copy Artifact does not have the warning, but still fails to load Copy Artifact.

            Wild guess: Maybe related the anon class that's a subclass of another registered Descriptor?

            Show
            danielbeck Daniel Beck added a comment - Responsible plugin appears to be Matrix Auth. Minimal Plugin set: Deselect all, then select Matrix Auth, Copy Artifact (in that order) in wizard. It's unrelated to the Matrix Auth dependency bug to Folders; None, Folders, Matrix Auth, Copy Artifact does not have the warning, but still fails to load Copy Artifact. Wild guess: Maybe related the anon class that's a subclass of another registered Descriptor?
            danielbeck Daniel Beck made changes -
            Field Original Value New Value
            Component/s matrix-auth-plugin [ 18131 ]
            Hide
            danielbeck Daniel Beck added a comment -

            Jesse Glick Are you maintaining Matrix Auth?

            Show
            danielbeck Daniel Beck added a comment - Jesse Glick Are you maintaining Matrix Auth?
            danielbeck Daniel Beck made changes -
            Description Steps to reproduce:
            1. Install 2.0 beta
            2. Select all plugins in setup wizard
            3. See Copy Artifact fail
            Steps to reproduce:
            1. Install 2.0 beta
            2. Select all plugins in setup wizard
            3. See Copy Artifact fail

            {noformat}INFO: Downloading Copy Artifact Plugin
            Mrz 24, 2016 5:07:19 AM hudson.PluginManager dynamicLoad
            INFO: Attempting to dynamic load /…/plugins/copyartifact.jpi
            Mrz 24, 2016 5:07:20 AM hudson.ExtensionFinder$GuiceFinder refresh
            SEVERE: Failed to create Guice container from newly added plugins
            com.google.inject.CreationException: Guice creation errors:

            1) A binding to hudson.model.Descriptor annotated with @com.google.inject.name.Named(value=2) was already configured at hudson.ExtensionFinder$GuiceFinder$SezpozModule.configure(ExtensionFinder.java:530).
              at hudson.ExtensionFinder$GuiceFinder$SezpozModule.configure(ExtensionFinder.java:530)

            1 error
            at com.google.inject.internal.Errors.throwCreationExceptionIfErrorsExist(Errors.java:448)
            at com.google.inject.internal.InternalInjectorCreator.initializeStatically(InternalInjectorCreator.java:155)
            at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:107)
            at com.google.inject.internal.InjectorImpl.createChildInjector(InjectorImpl.java:230)
            at hudson.ExtensionFinder$GuiceFinder.refresh(ExtensionFinder.java:334)
            at jenkins.model.Jenkins.refreshExtensions(Jenkins.java:2378)
            at hudson.PluginManager.dynamicLoad(PluginManager.java:691)
            at hudson.model.UpdateCenter$InstallationJob._run(UpdateCenter.java:1671)
            at hudson.model.UpdateCenter$DownloadJob.run(UpdateCenter.java:1453)
            at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
            at java.util.concurrent.FutureTask.run(FutureTask.java:262)
            at hudson.remoting.AtmostOneThreadExecutor$Worker.run(AtmostOneThreadExecutor.java:110)
            at java.lang.Thread.run(Thread.java:744)

            Mrz 24, 2016 5:07:20 AM hudson.model.UpdateCenter$DownloadJob run
            SEVERE: Failed to install Copy Artifact Plugin
            java.io.IOException: Failed to dynamically deploy this plugin
            at hudson.model.UpdateCenter$InstallationJob._run(UpdateCenter.java:1675)
            at hudson.model.UpdateCenter$DownloadJob.run(UpdateCenter.java:1453)
            at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
            at java.util.concurrent.FutureTask.run(FutureTask.java:262)
            at hudson.remoting.AtmostOneThreadExecutor$Worker.run(AtmostOneThreadExecutor.java:110)
            at java.lang.Thread.run(Thread.java:744)
            Caused by: java.io.IOException: Failed to install copyartifact plugin
            at hudson.PluginManager.dynamicLoad(PluginManager.java:698)
            at hudson.model.UpdateCenter$InstallationJob._run(UpdateCenter.java:1671)
            ... 5 more
            Caused by: jenkins.ExtensionRefreshException: com.google.inject.CreationException: Guice creation errors:

            1) A binding to hudson.model.Descriptor annotated with @com.google.inject.name.Named(value=2) was already configured at hudson.ExtensionFinder$GuiceFinder$SezpozModule.configure(ExtensionFinder.java:530).
              at hudson.ExtensionFinder$GuiceFinder$SezpozModule.configure(ExtensionFinder.java:530)

            1 error
            at hudson.ExtensionFinder$GuiceFinder.refresh(ExtensionFinder.java:347)
            at jenkins.model.Jenkins.refreshExtensions(Jenkins.java:2378)
            at hudson.PluginManager.dynamicLoad(PluginManager.java:691)
            ... 6 more
            Caused by: com.google.inject.CreationException: Guice creation errors:

            1) A binding to hudson.model.Descriptor annotated with @com.google.inject.name.Named(value=2) was already configured at hudson.ExtensionFinder$GuiceFinder$SezpozModule.configure(ExtensionFinder.java:530).
              at hudson.ExtensionFinder$GuiceFinder$SezpozModule.configure(ExtensionFinder.java:530)

            1 error
            at com.google.inject.internal.Errors.throwCreationExceptionIfErrorsExist(Errors.java:448)
            at com.google.inject.internal.InternalInjectorCreator.initializeStatically(InternalInjectorCreator.java:155)
            at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:107)
            at com.google.inject.internal.InjectorImpl.createChildInjector(InjectorImpl.java:230)
            at hudson.ExtensionFinder$GuiceFinder.refresh(ExtensionFinder.java:334)
            ... 8 more

            {noformat}
            danielbeck Daniel Beck made changes -
            Priority Major [ 3 ] Critical [ 2 ]
            danielbeck Daniel Beck made changes -
            Summary Find out what's wrong with Copy Artifact failing to install in 2.0 Find out what's wrong with Copy Artifact failing to load in 2.0
            Hide
            danielbeck Daniel Beck added a comment -

            Not sure about epic inclusion here, but may reveal a core issue?

            Show
            danielbeck Daniel Beck added a comment - Not sure about epic inclusion here, but may reveal a core issue?
            danielbeck Daniel Beck made changes -
            Epic Link JENKINS-33810 [ 169285 ]
            danielbeck Daniel Beck made changes -
            Rank Ranked higher
            Hide
            swashbuck1r Spike Washburn added a comment -

            From Daniel: This is a new behavior in Jenkins 2 because before Jenkins 2, Matrix auth was already bundled, so it was already installed, so users would not hit this. Now they will hit it if they don't install MatrixAuth before CopyArtifact.

            Show
            swashbuck1r Spike Washburn added a comment - From Daniel: This is a new behavior in Jenkins 2 because before Jenkins 2, Matrix auth was already bundled, so it was already installed, so users would not hit this. Now they will hit it if they don't install MatrixAuth before CopyArtifact.
            swashbuck1r Spike Washburn made changes -
            Assignee Antonio Muñiz [ amuniz ]
            Hide
            danielbeck Daniel Beck added a comment -

            Correction to what Spike Washburn wrote:

            Now they will hit it if they don't install MatrixAuth before CopyArtifact.

            They will hit it IFF Matrix Auth gets installed before Copy Artifact. Which is e.g. the case when selecting "Install All" in the customize dialog.

            Show
            danielbeck Daniel Beck added a comment - Correction to what Spike Washburn wrote: Now they will hit it if they don't install MatrixAuth before CopyArtifact. They will hit it IFF Matrix Auth gets installed before Copy Artifact. Which is e.g. the case when selecting "Install All" in the customize dialog.
            jglick Jesse Glick made changes -
            Assignee Antonio Muñiz [ amuniz ] Jesse Glick [ jglick ]
            danielbeck Daniel Beck made changes -
            Labels 2.0 2.0-beta 2.0 2.0-beta 2.0-planned
            jglick Jesse Glick made changes -
            Status Open [ 1 ] In Progress [ 3 ]
            Hide
            jglick Jesse Glick added a comment -

            Reproduced. I think this is because GlobalMatrixAuthorizationStrategy.DESCRIPTOR and some extensions in copyartifact such as LastCompletedBuildSelector.DESCRIPTOR both put @Extension on a field/method rather than a class, which is unusual, and this code is using an id which is not globally unique.

            Show
            jglick Jesse Glick added a comment - Reproduced. I think this is because GlobalMatrixAuthorizationStrategy.DESCRIPTOR and some extensions in copyartifact such as LastCompletedBuildSelector.DESCRIPTOR both put @Extension on a field/method rather than a class, which is unusual, and this code is using an id which is not globally unique.
            jglick Jesse Glick made changes -
            Remote Link This issue links to "PR 2183 (Web Link)" [ 14125 ]
            Hide
            scm_issue_link SCM/JIRA link daemon added a comment -

            Code changed in jenkins
            User: Jesse Glick
            Path:
            core/src/main/java/hudson/ExtensionFinder.java
            http://jenkins-ci.org/commit/jenkins/1a28593f0922f0a662e475f816f9a194d563c521
            Log:
            [FIXED JENKINS-33772] ID was not sufficiently unique for SezpozModule; use an ID based on the actual annotated element.

            Show
            scm_issue_link SCM/JIRA link daemon added a comment - Code changed in jenkins User: Jesse Glick Path: core/src/main/java/hudson/ExtensionFinder.java http://jenkins-ci.org/commit/jenkins/1a28593f0922f0a662e475f816f9a194d563c521 Log: [FIXED JENKINS-33772] ID was not sufficiently unique for SezpozModule; use an ID based on the actual annotated element.
            scm_issue_link SCM/JIRA link daemon made changes -
            Status In Progress [ 3 ] Resolved [ 5 ]
            Resolution Fixed [ 1 ]
            Hide
            scm_issue_link SCM/JIRA link daemon added a comment -

            Code changed in jenkins
            User: Jesse Glick
            Path:
            core/src/main/java/hudson/ExtensionFinder.java
            http://jenkins-ci.org/commit/jenkins/52bb33242532c612c907bd4c2b3e52fa66baa471
            Log:
            Merge pull request #2183 from jglick/SezpozModule-unique-ID-JENKINS-33772

            JENKINS-33772 ID was not sufficiently unique for SezpozModule

            Compare: https://github.com/jenkinsci/jenkins/compare/62d0e0c268ea...52bb33242532

            Show
            scm_issue_link SCM/JIRA link daemon added a comment - Code changed in jenkins User: Jesse Glick Path: core/src/main/java/hudson/ExtensionFinder.java http://jenkins-ci.org/commit/jenkins/52bb33242532c612c907bd4c2b3e52fa66baa471 Log: Merge pull request #2183 from jglick/SezpozModule-unique-ID- JENKINS-33772 JENKINS-33772 ID was not sufficiently unique for SezpozModule Compare: https://github.com/jenkinsci/jenkins/compare/62d0e0c268ea...52bb33242532
            rtyler R. Tyler Croy made changes -
            Workflow JNJira [ 169757 ] JNJira + In-Review [ 198673 ]

              People

              • Assignee:
                jglick Jesse Glick
                Reporter:
                danielbeck Daniel Beck
              • Votes:
                0 Vote for this issue
                Watchers:
                4 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: