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

GoogleCodeSCM cannot be cast to SubversionSCM

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Critical
    • Resolution: Fixed
    • Component/s: googlecode-plugin
    • Labels:
      None
    • Environment:
      Platform: Sun, OS: SunOS

      Description

      When trying to perform a release, it is prevented due to this error:

      [INFO] Checking in modified POMs...
      [INFO] Executing: /bin/sh -c cd /home/hudson/jobs/ambrosia-release/workspace/.
      && svn --username hudson@eoti.org --password '*****' --non-interactive commit
      --file /var/tmp/maven-scm-1032009578.commit --targets
      /var/tmp/maven-scm-3081196879516990925-targets
      [INFO] Working directory: /home/hudson/jobs/ambrosia-release/workspace/.
      [HUDSON] Archiving /home/hudson/jobs/ambrosia-release/workspace/./pom.xml to
      /home/hudson/jobs/ambrosia-release/modules/org.eoti$ambrosia/builds/2009-07-30_01-15-19/archive/org.eoti/ambrosia/2.3-SNAPSHOT/pom.xml
      [INFO] ------------------------------------------------------------------------
      [ERROR] BUILD FAILURE
      [INFO] ------------------------------------------------------------------------
      [INFO] Unable to commit files
      Provider message:
      The svn command failed.
      Command output:
      svn: Commit failed (details follow):
      svn: MKACTIVITY of '/svn/!svn/act/e613b2eb-b48c-ebe0-afb2-c35754859c84':
      authorization failed: Could not authenticate to server: rejected Basic challenge
      (http://ambrosia.googlecode.com)

      [INFO] ------------------------------------------------------------------------
      [INFO] For more information, run Maven with the -e switch
      [INFO] ------------------------------------------------------------------------
      [INFO] Total time: 48 seconds
      [INFO] Finished at: Thu Jul 30 01:16:10 PDT 2009
      [INFO] Final Memory: 18M/217M
      [INFO] ------------------------------------------------------------------------
      ERROR: Processing failed due to a bug in the code. Please report this to
      users@hudson.dev.java.net
      java.lang.ClassCastException: hudson.plugins.googlecode.scm.GoogleCodeSCM cannot
      be cast to hudson.scm.SubversionSCM
      at
      hudson.scm.SubversionChangeLogSet$LogEntry.preparePath(SubversionChangeLogSet.java:175)
      at
      hudson.scm.SubversionChangeLogSet$LogEntry.access$200(SubversionChangeLogSet.java:118)
      at
      hudson.scm.SubversionChangeLogSet$LogEntry$1.get(SubversionChangeLogSet.java:166)
      at
      hudson.scm.SubversionChangeLogSet$LogEntry$1.get(SubversionChangeLogSet.java:164)
      at java.util.AbstractList$Itr.next(AbstractList.java:359)
      at hudson.maven.FilteredChangeLogSet.<init>(FilteredChangeLogSet.java:61)
      at hudson.maven.MavenBuild.getChangeSet(MavenBuild.java:163)
      at hudson.model.AbstractBuild.getCulprits(AbstractBuild.java:199)
      at hudson.tasks.MailSender.createEmptyMail(MailSender.java:313)
      at hudson.tasks.MailSender.createFailureMail(MailSender.java:192)
      at hudson.tasks.MailSender.getMail(MailSender.java:127)
      at hudson.tasks.MailSender.execute(MailSender.java:81)
      at hudson.maven.reporters.MavenMailer.end(MavenMailer.java:54)
      at hudson.maven.MavenModuleSetBuild$Builder.end(MavenModuleSetBuild.java:600)
      at hudson.maven.MavenModuleSetBuild$RunnerImpl.doRun(MavenModuleSetBuild.java:404)
      at hudson.model.AbstractBuild$AbstractRunner.run(AbstractBuild.java:271)
      at hudson.model.Run.run(Run.java:949)
      at hudson.maven.MavenModuleSetBuild.run(MavenModuleSetBuild.java:252)
      at hudson.model.ResourceController.execute(ResourceController.java:93)
      at hudson.model.Executor.run(Executor.java:116)
      project=hudson.maven.MavenModuleSet@1be696c[ambrosia-release]
      project.getModules()=[hudson.maven.MavenModule@ef2e7c[ambrosia-release/org.eoti:aegle],
      hudson.maven.MavenModule@d4ff95[ambrosia-release/org.eoti:ambrosia],
      hudson.maven.MavenModule@1d7a424[ambrosia-release/org.eoti:atropos],
      hudson.maven.MavenModule@595420[ambrosia-release/org.eoti:clotho],
      hudson.maven.MavenModule@a218a5[ambrosia-release/org.eoti:domovois],
      hudson.maven.MavenModule@2f54[ambrosia-release/org.eoti:gaea],
      hudson.maven.MavenModule@235085[ambrosia-release/org.eoti:homunculi],
      hudson.maven.MavenModule@7b5617[ambrosia-release/org.eoti:kallisti],
      hudson.maven.MavenModule@1510d96[ambrosia-release/org.eoti:lachesis],
      hudson.maven.MavenModule@52fecf[ambrosia-release/org.eoti:loki],
      hudson.maven.MavenModule@d6ee28[ambrosia-release/org.eoti:mimir],
      hudson.maven.MavenModule@ad8bb4[ambrosia-release/org.eoti:moirae],
      hudson.maven.MavenModule@1aef798[ambrosia-release/org.eoti:raijin],
      hudson.maven.MavenModule@796bb3[ambrosia-release/org.eoti:seshat],
      hudson.maven.MavenModule@13dd8[ambrosia-release/org.eoti:syrinx],
      hudson.maven.MavenModule@18353cf[ambrosia-release/org.eoti:thoth],
      hudson.maven.MavenModule@f37a62[ambrosia-release/org.eoti.maven.skins:ljod]]
      project.getRootModule()=hudson.maven.MavenModule@d4ff95[ambrosia-release/org.eoti:ambrosia]
      FATAL: hudson.plugins.googlecode.scm.GoogleCodeSCM cannot be cast to
      hudson.scm.SubversionSCM
      java.lang.ClassCastException: hudson.plugins.googlecode.scm.GoogleCodeSCM cannot
      be cast to hudson.scm.SubversionSCM
      at
      hudson.scm.SubversionChangeLogSet$LogEntry.preparePath(SubversionChangeLogSet.java:175)
      at
      hudson.scm.SubversionChangeLogSet$LogEntry.access$200(SubversionChangeLogSet.java:118)
      at
      hudson.scm.SubversionChangeLogSet$LogEntry$1.get(SubversionChangeLogSet.java:166)
      at
      hudson.scm.SubversionChangeLogSet$LogEntry$1.get(SubversionChangeLogSet.java:164)
      at java.util.AbstractList$Itr.next(AbstractList.java:359)
      at hudson.maven.FilteredChangeLogSet.<init>(FilteredChangeLogSet.java:61)
      at hudson.maven.MavenBuild.getChangeSet(MavenBuild.java:163)
      at hudson.model.AbstractBuild.getCulprits(AbstractBuild.java:199)
      at hudson.tasks.MailSender.createEmptyMail(MailSender.java:313)
      at hudson.tasks.MailSender.createFailureMail(MailSender.java:192)
      at hudson.tasks.MailSender.getMail(MailSender.java:127)
      at hudson.tasks.MailSender.execute(MailSender.java:81)
      at hudson.maven.reporters.MavenMailer.end(MavenMailer.java:54)
      at hudson.maven.MavenModuleSetBuild$Builder.end(MavenModuleSetBuild.java:600)
      at hudson.maven.MavenModuleSetBuild$RunnerImpl.doRun(MavenModuleSetBuild.java:404)
      at hudson.model.AbstractBuild$AbstractRunner.run(AbstractBuild.java:271)
      at hudson.model.Run.run(Run.java:949)
      at hudson.maven.MavenModuleSetBuild.run(MavenModuleSetBuild.java:252)
      at hudson.model.ResourceController.execute(ResourceController.java:93)
      at hudson.model.Executor.run(Executor.java:116)

      Hudson ver. 1.317 (private-07/24/2009 04:09-kohsuke)

        Activity

        Hide
        kohsuke Kohsuke Kawaguchi added a comment -

        If restriction of Java's constructor semantics gets in your way, you can
        override DescriptorImpl.newInstance() to create your instance.

        For example, you can first do databinding on a dummy Java bean (to avoid JSON
        hassle), then use its properties to do the computation you need, then create an
        instance of GoogleCodeSCM with fully massaged values.

        Show
        kohsuke Kohsuke Kawaguchi added a comment - If restriction of Java's constructor semantics gets in your way, you can override DescriptorImpl.newInstance() to create your instance. For example, you can first do databinding on a dummy Java bean (to avoid JSON hassle), then use its properties to do the computation you need, then create an instance of GoogleCodeSCM with fully massaged values.
        Hide
        scm_issue_link SCM/JIRA link daemon added a comment -

        Code changed in hudson
        User: : redsolo
        Path:
        trunk/hudson/plugins/googlecode/src/main/java/hudson/plugins/googlecode/GoogleCodeProjectProperty.java
        trunk/hudson/plugins/googlecode/src/main/java/hudson/plugins/googlecode/scm/GoogleCodeSCM.java
        trunk/hudson/plugins/googlecode/src/main/resources/hudson/plugins/googlecode/scm/GoogleCodeSCM/config.jelly
        trunk/hudson/plugins/googlecode/src/test/java/hudson/plugins/googlecode/ConfigurationTest.java
        trunk/hudson/plugins/googlecode/src/test/java/hudson/plugins/googlecode/GoogleCodeProjectPropertyTest.java
        trunk/hudson/plugins/googlecode/src/test/java/hudson/plugins/googlecode/scm/GoogleCodeSCMTest.java
        http://fisheye4.cenqua.com/changelog/hudson/?cs=20579
        Log:
        JENKINS-4136 - Now GoogleCodeSCM extends SubversionSCM, so this should fix the issue. Current solution requires that all projects using the GoogleCode SCM is re-configured.

        Show
        scm_issue_link SCM/JIRA link daemon added a comment - Code changed in hudson User: : redsolo Path: trunk/hudson/plugins/googlecode/src/main/java/hudson/plugins/googlecode/GoogleCodeProjectProperty.java trunk/hudson/plugins/googlecode/src/main/java/hudson/plugins/googlecode/scm/GoogleCodeSCM.java trunk/hudson/plugins/googlecode/src/main/resources/hudson/plugins/googlecode/scm/GoogleCodeSCM/config.jelly trunk/hudson/plugins/googlecode/src/test/java/hudson/plugins/googlecode/ConfigurationTest.java trunk/hudson/plugins/googlecode/src/test/java/hudson/plugins/googlecode/GoogleCodeProjectPropertyTest.java trunk/hudson/plugins/googlecode/src/test/java/hudson/plugins/googlecode/scm/GoogleCodeSCMTest.java http://fisheye4.cenqua.com/changelog/hudson/?cs=20579 Log: JENKINS-4136 - Now GoogleCodeSCM extends SubversionSCM, so this should fix the issue. Current solution requires that all projects using the GoogleCode SCM is re-configured.
        Hide
        scm_issue_link SCM/JIRA link daemon added a comment -

        Code changed in hudson
        User: : redsolo
        Path:
        trunk/hudson/plugins/googlecode/pom.xml
        trunk/hudson/plugins/googlecode/src/main/java/hudson/plugins/googlecode/scm/GoogleCodeSCM.java
        trunk/hudson/plugins/googlecode/src/main/java/hudson/plugins/googlecode/scm/GoogleCodeSCMEx.java
        trunk/hudson/plugins/googlecode/src/main/java/hudson/plugins/googlecode/scm/GoogleCodeSCMUpgrader.java
        trunk/hudson/plugins/googlecode/src/main/resources/hudson/plugins/googlecode/scm/GoogleCodeSCM/config.jelly
        trunk/hudson/plugins/googlecode/src/main/resources/hudson/plugins/googlecode/scm/GoogleCodeSCMEx/config.jelly
        trunk/hudson/plugins/googlecode/src/test/java/hudson/plugins/googlecode/ConfigurationTest.java
        trunk/hudson/plugins/googlecode/src/test/java/hudson/plugins/googlecode/scm/GoogleCodeSCMExTest.java
        trunk/hudson/plugins/googlecode/src/test/java/hudson/plugins/googlecode/scm/GoogleCodeSCMTest.java
        trunk/hudson/plugins/googlecode/src/test/java/hudson/plugins/googlecode/scm/GoogleCodeSCMUpgraderTest.java
        http://fisheye4.cenqua.com/changelog/hudson/?cs=20638
        Log:
        [FIXED JENKINS-4136] - Added automatic upgrading of old Google Code SCM's that does not extend the SubversionSCM.

        Show
        scm_issue_link SCM/JIRA link daemon added a comment - Code changed in hudson User: : redsolo Path: trunk/hudson/plugins/googlecode/pom.xml trunk/hudson/plugins/googlecode/src/main/java/hudson/plugins/googlecode/scm/GoogleCodeSCM.java trunk/hudson/plugins/googlecode/src/main/java/hudson/plugins/googlecode/scm/GoogleCodeSCMEx.java trunk/hudson/plugins/googlecode/src/main/java/hudson/plugins/googlecode/scm/GoogleCodeSCMUpgrader.java trunk/hudson/plugins/googlecode/src/main/resources/hudson/plugins/googlecode/scm/GoogleCodeSCM/config.jelly trunk/hudson/plugins/googlecode/src/main/resources/hudson/plugins/googlecode/scm/GoogleCodeSCMEx/config.jelly trunk/hudson/plugins/googlecode/src/test/java/hudson/plugins/googlecode/ConfigurationTest.java trunk/hudson/plugins/googlecode/src/test/java/hudson/plugins/googlecode/scm/GoogleCodeSCMExTest.java trunk/hudson/plugins/googlecode/src/test/java/hudson/plugins/googlecode/scm/GoogleCodeSCMTest.java trunk/hudson/plugins/googlecode/src/test/java/hudson/plugins/googlecode/scm/GoogleCodeSCMUpgraderTest.java http://fisheye4.cenqua.com/changelog/hudson/?cs=20638 Log: [FIXED JENKINS-4136] - Added automatic upgrading of old Google Code SCM's that does not extend the SubversionSCM.
        Hide
        redsolo redsolo added a comment -

        Please verify this fix with perfoming a release. I dont have any projects on
        google code.

        Show
        redsolo redsolo added a comment - Please verify this fix with perfoming a release. I dont have any projects on google code.
        Hide
        malachid malachid added a comment -

        I have a GoogleCode project but am using the IPS version of Hudson (1.319) so I
        can't verify until it has been included in a Hudson release.

        Show
        malachid malachid added a comment - I have a GoogleCode project but am using the IPS version of Hudson (1.319) so I can't verify until it has been included in a Hudson release.

          People

          • Assignee:
            redsolo redsolo
            Reporter:
            malachid malachid
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: