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

Multiple SCM + Mercurial + Git

    XMLWordPrintable

Details

    Description

      Jobs which uses 1 Mercurial + 3 Git repositories (via Use SCM from another project template plugin's option) often failing with below error. If I restart job without any changes it building ok. So error is not happening all the time, but still happens often enough. I don't see such errors in other jobs which using multiple Mercurial repos or multiple Git repos. We only recently created jobs which need mix of Mercurial and Git repos, I haven’t seen such error before. It happening on different linux and windows slaves.
      For Mercurial repository caching and sharing are enabled.
      It looks like it depends on slave load - when slave is not doing anything job is running ok, when there are other jobs running on slave, job is failing.

      Deleting project workspace... done

      FATAL: hudson.plugins.mercurial.MercurialTagAction cannot be cast to org.jenkinsci.plugins.multiplescms.MultiSCMRevisionState
      java.lang.ClassCastException: hudson.plugins.mercurial.MercurialTagAction cannot be cast to org.jenkinsci.plugins.multiplescms.MultiSCMRevisionState
      at org.jenkinsci.plugins.multiplescms.MultiSCM.checkout(MultiSCM.java:106)
      at hudson.scm.SCM.checkout(SCM.java:485)
      at hudson.plugins.templateproject.ProxySCM.checkout(ProxySCM.java:53)
      at hudson.model.AbstractProject.checkout(AbstractProject.java:1282)
      at hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:610)
      at jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:86)
      at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:532)
      at hudson.model.Run.execute(Run.java:1741)
      at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
      at hudson.model.ResourceController.execute(ResourceController.java:98)
      at hudson.model.Executor.run(Executor.java:381)
      Archiving artifacts

      Attachments

        Issue Links

          Activity

            igorkostenko Igor Kostenko added a comment -

            I've updated multiple-scms to 0.5, and now I'm getting below error a lot: have to restart build many times before it started properly.

            Deleting project workspace... done

            FATAL: null
            java.lang.NullPointerException
            at hudson.plugins.templateproject.ProxySCM.checkout(ProxySCM.java:53)
            at hudson.model.AbstractProject.checkout(AbstractProject.java:1282)
            at hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:610)
            at jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:86)
            at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:532)
            at hudson.model.Run.execute(Run.java:1741)
            at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
            at hudson.model.ResourceController.execute(ResourceController.java:98)
            at hudson.model.Executor.run(Executor.java:381)

            igorkostenko Igor Kostenko added a comment - I've updated multiple-scms to 0.5, and now I'm getting below error a lot: have to restart build many times before it started properly. Deleting project workspace... done FATAL: null java.lang.NullPointerException at hudson.plugins.templateproject.ProxySCM.checkout(ProxySCM.java:53) at hudson.model.AbstractProject.checkout(AbstractProject.java:1282) at hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:610) at jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:86) at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:532) at hudson.model.Run.execute(Run.java:1741) at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43) at hudson.model.ResourceController.execute(ResourceController.java:98) at hudson.model.Executor.run(Executor.java:381)
            igorkostenko Igor Kostenko added a comment -

            I had to get rid of git+mercurial mix, and for fixing below exception I have to always explicitly specify repository browser. In case multiple scm there is only one available choice: auto, so I'm manually modifying job xml.

            FATAL: org.jenkinsci.plugins.multiplescms.MultiSCMRevisionState cannot be cast to hudson.plugins.mercurial.MercurialTagAction
            java.lang.ClassCastException: org.jenkinsci.plugins.multiplescms.MultiSCMRevisionState cannot be cast to hudson.plugins.mercurial.MercurialTagAction
            at hudson.plugins.mercurial.MercurialSCM.determineChanges(MercurialSCM.java:612)
            at hudson.plugins.mercurial.MercurialSCM.checkout(MercurialSCM.java:561)
            at hudson.scm.SCM.checkout(SCM.java:485)
            at hudson.model.AbstractProject.checkout(AbstractProject.java:1282)
            at hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:610)
            at jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:86)
            at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:532)
            at hudson.model.Run.execute(Run.java:1741)
            at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
            at hudson.model.ResourceController.execute(ResourceController.java:98)
            at hudson.model.Executor.run(Executor.java:381)

            igorkostenko Igor Kostenko added a comment - I had to get rid of git+mercurial mix, and for fixing below exception I have to always explicitly specify repository browser. In case multiple scm there is only one available choice: auto, so I'm manually modifying job xml. FATAL: org.jenkinsci.plugins.multiplescms.MultiSCMRevisionState cannot be cast to hudson.plugins.mercurial.MercurialTagAction java.lang.ClassCastException: org.jenkinsci.plugins.multiplescms.MultiSCMRevisionState cannot be cast to hudson.plugins.mercurial.MercurialTagAction at hudson.plugins.mercurial.MercurialSCM.determineChanges(MercurialSCM.java:612) at hudson.plugins.mercurial.MercurialSCM.checkout(MercurialSCM.java:561) at hudson.scm.SCM.checkout(SCM.java:485) at hudson.model.AbstractProject.checkout(AbstractProject.java:1282) at hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:610) at jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:86) at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:532) at hudson.model.Run.execute(Run.java:1741) at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43) at hudson.model.ResourceController.execute(ResourceController.java:98) at hudson.model.Executor.run(Executor.java:381)
            jglick Jesse Glick added a comment -

            Sounds similar to JENKINS-27638, supposedly fixed in 0.5.

            In general, the Mercurial plugin does not claim to support Multiple SCMs and does not test with it. Your mileage may vary.

            jglick Jesse Glick added a comment - Sounds similar to JENKINS-27638 , supposedly fixed in 0.5. In general, the Mercurial plugin does not claim to support Multiple SCMs and does not test with it. Your mileage may vary.
            jglick Jesse Glick added a comment -

            (Multiple checkouts are supported from a Workflow build. Freestyle projects were never designed to support this, hence the hacks in Multiple SCMs.)

            jglick Jesse Glick added a comment - (Multiple checkouts are supported from a Workflow build. Freestyle projects were never designed to support this, hence the hacks in Multiple SCMs.)
            brantone Brantone added a comment -

            With JENKINS-27638 closed and new release of template-project, if still reproducible then as stated: "mileage may vary"

            brantone Brantone added a comment - With JENKINS-27638 closed and new release of template-project, if still reproducible then as stated: "mileage may vary"

            Suggest that you migrate to Pipeline plugin, which offers a supported way of checking out from multiple scms
            https://wiki.jenkins-ci.org/display/JENKINS/Pipeline+Plugin

            rodrigc Craig Rodrigues added a comment - Suggest that you migrate to Pipeline plugin, which offers a supported way of checking out from multiple scms https://wiki.jenkins-ci.org/display/JENKINS/Pipeline+Plugin

            People

              jglick Jesse Glick
              igorkostenko Igor Kostenko
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: