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

Installing CVS plugin v2.9 makes jobs that use the CVS plugin disappear

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Major Major
    • cvs-plugin
    • None

      I have 6 Jenkins jobs that use the CVS plugin. When I updated the CVS plugin from v2.8 to v2.9, all of these 6 jobs disappeared from my Jenkins dashboard.
      When I downgraded to v2.8, the jobs reappeared.

      Here is the relevant part of a typical configuration file:

      <scm class="hudson.scm.CVSSCM" plugin="cvs@2.8">
      <flatten>false</flatten>
      <repositoryBrowser class="hudson.scm.browsers.ViewCVS">
      <url>http://lagoon.hq.sag/cgi-bin/viewvc/viewvc.cgi/</url>
      </repositoryBrowser>
      <repositories>
      <hudson.scm.CvsRepository>
      <cvsRoot>:pserver:anonymous@lagoon.hq.sag:2401/FS/fs3073/Repositories/DocSources</cvsRoot>
      <repositoryItems>
      <hudson.scm.CvsRepositoryItem>
      <modules>
      <hudson.scm.CvsModule>
      <localName></localName>
      <remoteName>Owwep-cep-clientapi</remoteName>
      </hudson.scm.CvsModule>
      </modules>
      <location class="hudson.scm.CvsRepositoryLocation$HeadRepositoryLocation">
      <locationType>HEAD</locationType>
      <useHeadIfNotFound>false</useHeadIfNotFound>
      </location>
      </hudson.scm.CvsRepositoryItem>
      </repositoryItems>
      <compressionLevel>-1</compressionLevel>
      <excludedRegions>
      <hudson.scm.ExcludedRegion>
      <pattern></pattern>
      </hudson.scm.ExcludedRegion>
      </excludedRegions>
      <passwordRequired>false</passwordRequired>
      </hudson.scm.CvsRepository>
      </repositories>
      <canUseUpdate>false</canUseUpdate>
      <skipChangeLog>false</skipChangeLog>
      <pruneEmptyDirectories>true</pruneEmptyDirectories>
      <disableCvsQuiet>true</disableCvsQuiet>
      <cleanOnFailedUpdate>false</cleanOnFailedUpdate>
      <forceCleanCopy>false</forceCleanCopy>
      </scm>

          [JENKINS-18999] Installing CVS plugin v2.9 makes jobs that use the CVS plugin disappear

          Since this isn't a widespread issue, could you check you Jenkins startup log for exceptions, and check the Jenkins admin screen for any notifications about old data?

          Michael Clarke added a comment - Since this isn't a widespread issue, could you check you Jenkins startup log for exceptions, and check the Jenkins admin screen for any notifications about old data?

          Paul Croome added a comment -

          Hallo Michael,

          Thanks for the tip.

          I installed the latest & greatest CVS plugin (2.11) and restarted Jenkins. The system log includes the following:

          ========================================================================
          Dec 02, 2013 4:28:53 PM SEVERE jenkins.InitReactorRunner$1 onTaskFailed

          Failed Loading job CQD_Eclipse_v9-0_getstart_listings
          java.io.IOException: Unable to read /export/home0/u/xpebuild/.jenkins/jobs/CQD_Eclipse_v9-0_getstart_listings/config.xml
          at hudson.XmlFile.read(XmlFile.java:146)
          at hudson.model.Items.load(Items.java:222)
          at jenkins.model.Jenkins$18.run(Jenkins.java:2568)
          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:896)
          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$Worker.runTask(ThreadPoolExecutor.java:895)
          at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
          at java.lang.Thread.run(Thread.java:662)
          Caused by: com.thoughtworks.xstream.converters.ConversionException: Could not call hudson.scm.CVSSCM.readResolve() : null : Could not call hudson.scm.CVSSCM.readResolve() : null
          ---- Debugging information ----
          message : Could not call hudson.scm.CVSSCM.readResolve() : null
          cause-exception : com.thoughtworks.xstream.converters.reflection.ObjectAccessException
          cause-message : Could not call hudson.scm.CVSSCM.readResolve() : null
          class : hudson.scm.CVSSCM
          required-type : hudson.scm.CVSSCM
          converter-type : hudson.util.RobustReflectionConverter
          path : /project/scm
          line number : 57
          class[1] : hudson.model.FreeStyleProject
          version : not available
          -------------------------------
          at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:79)
          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:333)
          at hudson.util.RobustReflectionConverter.doUnmarshal(RobustReflectionConverter.java:275)
          at hudson.util.RobustReflectionConverter.unmarshal(RobustReflectionConverter.java:222)
          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:1061)
          at hudson.util.XStream2.unmarshal(XStream2.java:109)
          at com.thoughtworks.xstream.XStream.unmarshal(XStream.java:1045)
          at com.thoughtworks.xstream.XStream.fromXML(XStream.java:925)
          at hudson.XmlFile.read(XmlFile.java:142)
          ... 10 more
          Caused by: com.thoughtworks.xstream.converters.reflection.ObjectAccessException: Could not call hudson.scm.CVSSCM.readResolve() : null
          at com.thoughtworks.xstream.converters.reflection.SerializationMethodInvoker.callReadResolve(SerializationMethodInvoker.java:72)
          at hudson.util.RobustReflectionConverter.unmarshal(RobustReflectionConverter.java:223)
          at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:72)
          ... 26 more
          Caused by: java.lang.NullPointerException
          at hudson.scm.CVSSCM.readResolve(CVSSCM.java:164)
          at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
          at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
          at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
          at java.lang.reflect.Method.invoke(Method.java:597)
          at com.thoughtworks.xstream.converters.reflection.SerializationMethodInvoker.callReadResolve(SerializationMethodInvoker.java:66)
          ... 28 more
          ========================================================================

          There are no "old data" messages.

          TIA for your help.

          Paul

          Paul Croome added a comment - Hallo Michael, Thanks for the tip. I installed the latest & greatest CVS plugin (2.11) and restarted Jenkins. The system log includes the following: ======================================================================== Dec 02, 2013 4:28:53 PM SEVERE jenkins.InitReactorRunner$1 onTaskFailed Failed Loading job CQD_Eclipse_v9-0_getstart_listings java.io.IOException: Unable to read /export/home0/u/xpebuild/.jenkins/jobs/CQD_Eclipse_v9-0_getstart_listings/config.xml at hudson.XmlFile.read(XmlFile.java:146) at hudson.model.Items.load(Items.java:222) at jenkins.model.Jenkins$18.run(Jenkins.java:2568) 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:896) 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$Worker.runTask(ThreadPoolExecutor.java:895) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918) at java.lang.Thread.run(Thread.java:662) Caused by: com.thoughtworks.xstream.converters.ConversionException: Could not call hudson.scm.CVSSCM.readResolve() : null : Could not call hudson.scm.CVSSCM.readResolve() : null ---- Debugging information ---- message : Could not call hudson.scm.CVSSCM.readResolve() : null cause-exception : com.thoughtworks.xstream.converters.reflection.ObjectAccessException cause-message : Could not call hudson.scm.CVSSCM.readResolve() : null class : hudson.scm.CVSSCM required-type : hudson.scm.CVSSCM converter-type : hudson.util.RobustReflectionConverter path : /project/scm line number : 57 class [1] : hudson.model.FreeStyleProject version : not available ------------------------------- at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:79) 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:333) at hudson.util.RobustReflectionConverter.doUnmarshal(RobustReflectionConverter.java:275) at hudson.util.RobustReflectionConverter.unmarshal(RobustReflectionConverter.java:222) 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:1061) at hudson.util.XStream2.unmarshal(XStream2.java:109) at com.thoughtworks.xstream.XStream.unmarshal(XStream.java:1045) at com.thoughtworks.xstream.XStream.fromXML(XStream.java:925) at hudson.XmlFile.read(XmlFile.java:142) ... 10 more Caused by: com.thoughtworks.xstream.converters.reflection.ObjectAccessException: Could not call hudson.scm.CVSSCM.readResolve() : null at com.thoughtworks.xstream.converters.reflection.SerializationMethodInvoker.callReadResolve(SerializationMethodInvoker.java:72) at hudson.util.RobustReflectionConverter.unmarshal(RobustReflectionConverter.java:223) at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:72) ... 26 more Caused by: java.lang.NullPointerException at hudson.scm.CVSSCM.readResolve(CVSSCM.java:164) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at com.thoughtworks.xstream.converters.reflection.SerializationMethodInvoker.callReadResolve(SerializationMethodInvoker.java:66) ... 28 more ======================================================================== There are no "old data" messages. TIA for your help. Paul

          Paul Croome added a comment -

          I think I have found the cause.

          It appears that v2.9 and subsequent versions of the CVS plugin choke on the <repositoryBrowser> element. I had the following in my projects:

          <repositoryBrowser class="hudson.scm.browsers.ViewCVS">
          <url>http://lagoon.hq.sag/cgi-bin/viewvc/viewvc.cgi/</url>
          </repositoryBrowser>

          (Note: The URL is valid.)

          I deleted the <repositoryBrowser> element from each of the projects that used it, and now the dashboard shows all projects. Problem solved!

          It would be nice if the CVS plugin would accept the <repositoryBrowser> element in a backward-compatible manner.

          Thanks,

          Paul

          Paul Croome added a comment - I think I have found the cause. It appears that v2.9 and subsequent versions of the CVS plugin choke on the <repositoryBrowser> element. I had the following in my projects: <repositoryBrowser class="hudson.scm.browsers.ViewCVS"> <url> http://lagoon.hq.sag/cgi-bin/viewvc/viewvc.cgi/ </url> </repositoryBrowser> (Note: The URL is valid.) I deleted the <repositoryBrowser> element from each of the projects that used it, and now the dashboard shows all projects. Problem solved! It would be nice if the CVS plugin would accept the <repositoryBrowser> element in a backward-compatible manner. Thanks, Paul

          Looks like readresolve isn't handling null values properly. Should be fairly easy to fix for a future release.

          Michael Clarke added a comment - Looks like readresolve isn't handling null values properly. Should be fairly easy to fix for a future release.

          Moving to correct component

          Michael Clarke added a comment - Moving to correct component

            Unassigned Unassigned
            paul_croome Paul Croome
            Votes:
            1 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated: