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

Scanning MultiBranchProject fails and logs NoSuchMethodError

    XMLWordPrintable

Details

    Description

      Initial scan of branches in a multi-branch-project fails with an NoSuchMethodError in the log file.

      Steps to duplicate the problem:

      1. Clone, build, and run the docker instance
          $ git clone https://github.com/MarkEWaite/docker JENKINS-41948
          $ cd JENKINS-41948
          $ git checkout -b lts-with-plugins 4dc4b070e072c452fbb6b42b28dae3445a9e20da
          $ docker build -t jenkins:JENKINS-41948 .
          $ docker run -i --rm --publish 8080:8080 jenkins:JENKINS-41948
        
      2. Connect a web browser to that docker instance (http://localhost:8080)
      3. Open the "Git Client Plugin Folder"
      4. Open the "Git Client Branches - Maven" multi-branch job
      5. Click the "Scan Project" link and then the "Run Now" link to start branch indexing
      6. Scan will complete, but no projects will be created. Console log will report an error

      Log information is:

      Feb 10, 2017 5:48:26 PM hudson.model.Executor finish1
      SEVERE: Executor threw an exception
      java.lang.NoSuchMethodError: jenkins.branch.MultiBranchProject.getRootDirFor(Lhudson/model/Job;)Ljava/io/File;
              at com.github.mjdetullio.jenkins.plugins.multibranch.TemplateDrivenMultiBranchProject.getRootDirFor(TemplateDrivenMultiBranchProject.java:306)
              at com.github.mjdetullio.jenkins.plugins.multibranch.TemplateDrivenMultiBranchProject.getRootDirFor(TemplateDrivenMultiBranchProject.java:89)
              at hudson.model.AbstractItem.getRootDir(AbstractItem.java:177)
              at hudson.model.Items.getConfigFile(Items.java:350)
              at hudson.model.AbstractItem.getConfigFile(AbstractItem.java:506)
              at hudson.model.AbstractItem.save(AbstractItem.java:501)
              at hudson.model.Job.save(Job.java:186)
              at hudson.model.AbstractProject.save(AbstractProject.java:306)
              at hudson.BulkChange.commit(BulkChange.java:98)
              at com.github.mjdetullio.jenkins.plugins.multibranch.TemplateDrivenBranchProjectFactory.setBranch(TemplateDrivenBranchProjectFactory.java:104)
              at com.github.mjdetullio.jenkins.plugins.multibranch.FreeStyleBranchProjectFactory.newInstance(FreeStyleBranchProjectFactory.java:55)
              at com.github.mjdetullio.jenkins.plugins.multibranch.FreeStyleBranchProjectFactory.newInstance(FreeStyleBranchProjectFactory.java:38)
              at jenkins.branch.MultiBranchProject$SCMHeadObserverImpl.observe(MultiBranchProject.java:1972)
              at jenkins.plugins.git.AbstractGitSCMSource$2.run(AbstractGitSCMSource.java:315)
              at jenkins.plugins.git.AbstractGitSCMSource$2.run(AbstractGitSCMSource.java:239)
              at jenkins.plugins.git.AbstractGitSCMSource.doRetrieve(AbstractGitSCMSource.java:209)
              at jenkins.plugins.git.AbstractGitSCMSource.retrieve(AbstractGitSCMSource.java:239)
              at jenkins.scm.api.SCMSource._retrieve(SCMSource.java:300)
              at jenkins.scm.api.SCMSource.fetch(SCMSource.java:210)
              at jenkins.branch.MultiBranchProject.computeChildren(MultiBranchProject.java:634)
              at com.cloudbees.hudson.plugins.folder.computed.ComputedFolder.updateChildren(ComputedFolder.java:219)
              at com.cloudbees.hudson.plugins.folder.computed.FolderComputation.run(FolderComputation.java:141)
              at jenkins.branch.MultiBranchProject$BranchIndexing.run(MultiBranchProject.java:965)
              at hudson.model.ResourceController.execute(ResourceController.java:98)
              at hudson.model.Executor.run(Executor.java:404)
      

      Attachments

        Issue Links

          Activity

            Specifically this test should be confirming that this issue is solved

            stephenconnolly Stephen Connolly added a comment - Specifically this test should be confirming that this issue is solved
            jglick Jesse Glick added a comment -

            the method is still inherited from the parent, but because the generic type is wider on the parent, the effective method signature changes

            Then it is prudent to readd the original overload for compatibility.

            jglick Jesse Glick added a comment - the method is still inherited from the parent, but because the generic type is wider on the parent, the effective method signature changes Then it is prudent to readd the original overload for compatibility.

            Code changed in jenkins
            User: Stephen Connolly
            Path:
            src/main/java/jenkins/branch/MultiBranchProject.java
            http://jenkins-ci.org/commit/branch-api-plugin/87241112fec7d3a436790455b56d44dfb848778d
            Log:
            JENKINS-41948 Add bridge method

            scm_issue_link SCM/JIRA link daemon added a comment - Code changed in jenkins User: Stephen Connolly Path: src/main/java/jenkins/branch/MultiBranchProject.java http://jenkins-ci.org/commit/branch-api-plugin/87241112fec7d3a436790455b56d44dfb848778d Log: JENKINS-41948 Add bridge method

            (Note even with the bridge method added in branch api 2.0.5 you will still need to upgrade the multi-branch-project-plugin. There is a -SNAPSHOT in JENKINS-41867 that has the required fixes integrated)

            stephenconnolly Stephen Connolly added a comment - (Note even with the bridge method added in branch api 2.0.5 you will still need to upgrade the multi-branch-project-plugin. There is a -SNAPSHOT in JENKINS-41867 that has the required fixes integrated)

            Fixed in version 0.6

            mjdetullio Matthew DeTullio added a comment - Fixed in version 0.6

            People

              mjdetullio Matthew DeTullio
              markewaite Mark Waite
              Votes:
              4 Vote for this issue
              Watchers:
              10 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: