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

Blue Ocean organization folder job can't be parsed by 2.204.1-rc build

    • Icon: Bug Bug
    • Resolution: Not A Defect
    • Icon: Major Major
    • core
    • None

      A Blue Ocean organization folder that I had created long ago in my Jenkins instance is no longer readable in Jenkins 2.204.1-rc. It was readable and completely usable in Jenkins 2.190.3 and has been readable and usable since it was first created in June 2017.

      I believe that Organization Folders have been removed from Blue Ocean in an earlier release. I'm not sure why this is failing now, when the most recent update to the Blue Ocean plugins in my installation was 1 month ago (updating to 1.121.0)

      See https://github.com/MarkEWaite/docker-lfs/commit/f6210350565726fbe86ec8970cf0c539b8f67fdb for the details of the plugins installed in that environment and the steps needed to recreate the environment.

      I'm removing that Blue Ocean Organization Folder on the assumption that it was an accident that it continued to work for me after Organization Folders were removed from Blue Ocean.

      Should this be included in the upgrade guide to direct users to recreate their Blue Ocean Organization Folders as GitHub, BitBucket, Gitlab, or Gitea organization folders?

      I've attached the example config.xml file which shows the problem in my installation.

      The failure message is:

      2019-12-15 01:00:25.106+0000 [id=27]    SEVERE  jenkins.InitReactorRunner$1#onTaskFailed: Failed Loading item MarkEWaite
      org.xmlpull.v1.XmlPullParserException: expected: /jenkins.branch.OrganizationFolder read: properties (position:END_TAG </properties>@76:16 in java.io.InputStreamReader@3e5df622)
              at org.kxml2.io.KXmlParser.exception(Unknown Source)
              at org.kxml2.io.KXmlParser.error(Unknown Source)
              at org.kxml2.io.KXmlParser.parseEndTag(Unknown Source)
              at org.kxml2.io.KXmlParser.nextImpl(Unknown Source)
              at org.kxml2.io.KXmlParser.next(Unknown Source)
              at com.thoughtworks.xstream.io.xml.XppReader.pullNextEvent(XppReader.java:109)
      Caused: com.thoughtworks.xstream.io.StreamException:  : expected: /jenkins.branch.OrganizationFolder read: properties (position:END_TAG </properties>@76:16 in java.io.InputStreamReader@3e5df622)
              at com.thoughtworks.xstream.io.xml.XppReader.pullNextEvent(XppReader.java:124)
              at com.thoughtworks.xstream.io.xml.AbstractPullReader.readRealEvent(AbstractPullReader.java:148)
              at com.thoughtworks.xstream.io.xml.AbstractPullReader.readEvent(AbstractPullReader.java:135)
              at com.thoughtworks.xstream.io.xml.AbstractPullReader.move(AbstractPullReader.java:118)
              at com.thoughtworks.xstream.io.xml.AbstractPullReader.moveUp(AbstractPullReader.java:113)
              at com.thoughtworks.xstream.io.ReaderWrapper.moveUp(ReaderWrapper.java:40)
              at com.thoughtworks.xstream.io.path.PathTrackingReader.moveUp(PathTrackingReader.java:42)
              at hudson.util.RobustReflectionConverter.doUnmarshal(RobustReflectionConverter.java:364)
              at hudson.util.RobustReflectionConverter.unmarshal(RobustReflectionConverter.java:268)
              at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:72)
      Caused: com.thoughtworks.xstream.converters.ConversionException:  : expected: /jenkins.branch.OrganizationFolder read: properties (position:END_TAG </properties>@76:16 in java.io.InputStreamReader@3e5df622)  :  : expected: /jenkins.branch.OrganizationFolder read: properties (position:END_TAG </properties>@76:16 in java.io.InputStreamReader@3e5df622)
      ---- Debugging information ----
      message             :  : expected: /jenkins.branch.OrganizationFolder read: properties (position:END_TAG </properties>@76:16 in java.io.InputStreamReader@3e5df622)
      cause-exception     : com.thoughtworks.xstream.io.StreamException
      cause-message       :  : expected: /jenkins.branch.OrganizationFolder read: properties (position:END_TAG </properties>@76:16 in java.io.InputStreamReader@3e5df622)
      class               : jenkins.branch.OrganizationFolder
      required-type       : org.jenkinsci.plugins.workflow.libs.SCMSourceRetriever
      converter-type      : hudson.util.RobustReflectionConverter
      path                : /jenkins.branch.OrganizationFolder/properties/org.jenkinsci.plugins.workflow.libs.FolderLibraries/libraries/org.jenkinsci.plugins.workflow.libs.LibraryConfiguration/retriever
      line number         : 76
      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 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:1189)
              at hudson.util.XStream2.unmarshal(XStream2.java:161)
              at hudson.util.XStream2.unmarshal(XStream2.java:132)
              at com.thoughtworks.xstream.XStream.unmarshal(XStream.java:1173)
              at com.thoughtworks.xstream.XStream.fromXML(XStream.java:1053)
              at hudson.XmlFile.read(XmlFile.java:147)
      Caused: java.io.IOException: Unable to read /var/jenkins_home/jobs/MarkEWaite/config.xml
              at hudson.XmlFile.read(XmlFile.java:149)
              at hudson.model.Items.load(Items.java:372)
              at jenkins.model.Jenkins$14.run(Jenkins.java:3202)
              at org.jvnet.hudson.reactor.TaskGraphBuilder$TaskImpl.run(TaskGraphBuilder.java:169)
              at org.jvnet.hudson.reactor.Reactor.runTask(Reactor.java:296)
              at jenkins.model.Jenkins$5.runTask(Jenkins.java:1119)
              at org.jvnet.hudson.reactor.Reactor$2.run(Reactor.java:214)
              at org.jvnet.hudson.reactor.Reactor$Node.run(Reactor.java:117)
              at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
              at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
              at java.lang.Thread.run(Thread.java:748)
      

          [JENKINS-60484] Blue Ocean organization folder job can't be parsed by 2.204.1-rc build

          Daniel Beck added a comment -

          To clarify, all plugins are the same versions between 2.190.x (which works) and 2.204.1-rc (which doesn't)?

          I wonder whether this is related to the NoTriggerOrganizationFolderProperty which, IIRC, is obsolete and replaced by basic-branch-build-strategies plugin (with a very un-fun migration). What happens when you remove that specific property from the XML file?

          Daniel Beck added a comment - To clarify, all plugins are the same versions between 2.190.x (which works) and 2.204.1-rc (which doesn't)? I wonder whether this is related to the NoTriggerOrganizationFolderProperty which, IIRC, is obsolete and replaced by basic-branch-build-strategies plugin (with a very un-fun migration). What happens when you remove that specific property from the XML file?

          Mark Waite added a comment -

          All the plugins were the same versions between the working (2.190.3) and non-working (2.204.1-rc) .

          I'll try removing the property you identified.

          I'm curious what has changed between 2.190.3 and 2.204.1-rc related to XML parsing and handling unknown entities. I assume those entities were as unknown in 2.190.3 as they were in 2.204.1-rc, yet the response to the unknown entities is much more dramatic in 2.204.1-rc than in 2.190.3.

          Mark Waite added a comment - All the plugins were the same versions between the working (2.190.3) and non-working (2.204.1-rc) . I'll try removing the property you identified. I'm curious what has changed between 2.190.3 and 2.204.1-rc related to XML parsing and handling unknown entities. I assume those entities were as unknown in 2.190.3 as they were in 2.204.1-rc, yet the response to the unknown entities is much more dramatic in 2.204.1-rc than in 2.190.3.

          Oleg Nenashev added a comment -

           

          required-type : org.jenkinsci.plugins.workflow.libs.SCMSourceRetriever
          converter-type : hudson.util.RobustReflectionConverter
          path                : /jenkins.branch.OrganizationFolder/properties/org.jenkinsci.plugins.workflow.libs.FolderLibraries/libraries/org.jenkinsci.plugins.workflow.libs.LibraryConfiguration/retriever
          line number         : 76

           

          And: expected: /jenkins.branch.OrganizationFolder read: properties

           

          It is not related to the Blue Ocean Org Folder markewaite, looks like you have a corrupted config.xml. In SCMSource retriever there is no <scm> opening tag and type specification

           

          <retriever class="org.jenkinsci.plugins.workflow.libs.SCMSourceRetriever">
              <id>c3e8de00-afce-4838-ab07-23e8f0bbd568</id>
              <remote>https://github.com/MarkEWaite/pipeline-library</remote>\
               <credentialsId>MarkEWaite-github-username-password</credentialsId>              <traits>                <jenkins.plugins.git.traits.BranchDiscoveryTrait/>                <jenkins.plugins.git.traits.GitToolSCMSourceTrait>                  <gitTool>Default</gitTool>                </jenkins.plugins.git.traits.GitToolSCMSourceTrait>                <jenkins.plugins.git.traits.GitBrowserSCMSourceTrait>                  <browser class="hudson.plugins.git.browser.GithubWeb">                    <url>https://github.com/MarkEWaite/pipeline-library</url>                  </browser>                </jenkins.plugins.git.traits.GitBrowserSCMSourceTrait>              </traits>          
            </scm>          
          </retriever>
          

           

           

           

           

           

           

          Oleg Nenashev added a comment -   required-type : org.jenkinsci.plugins.workflow.libs.SCMSourceRetriever converter-type : hudson.util.RobustReflectionConverter path : /jenkins.branch.OrganizationFolder/properties/org.jenkinsci.plugins.workflow.libs.FolderLibraries/libraries/org.jenkinsci.plugins.workflow.libs.LibraryConfiguration/retriever line number : 76   And: expected: /jenkins.branch.OrganizationFolder read: properties   It is not related to the Blue Ocean Org Folder markewaite , looks like you have a corrupted config.xml. In SCMSource retriever there is no <scm> opening tag and type specification   <retriever class= "org.jenkinsci.plugins.workflow.libs.SCMSourceRetriever" > <id>c3e8de00-afce-4838-ab07-23e8f0bbd568</id> <remote>https: //github.com/MarkEWaite/pipeline-library</remote>\ <credentialsId>MarkEWaite-github-username-password</credentialsId>              <traits>                <jenkins.plugins.git.traits.BranchDiscoveryTrait/>                <jenkins.plugins.git.traits.GitToolSCMSourceTrait>                  <gitTool>Default</gitTool>                </jenkins.plugins.git.traits.GitToolSCMSourceTrait>                <jenkins.plugins.git.traits.GitBrowserSCMSourceTrait>                  <browser class= "hudson.plugins.git.browser.GithubWeb" >                    <url>https: //github.com/MarkEWaite/pipeline-library</url>                  </browser>                </jenkins.plugins.git.traits.GitBrowserSCMSourceTrait>              </traits>           </scm>           </retriever>            

          Mark Waite added a comment -

          Thanks oleg_nenashev! You are exactly correct. I made a mistake in a merge of that configuration file on Nov 15, 2019 and lost the opening scm tag that you detected. Thanks for finding it and my apologies for the distraction during the late stages of 2.204.1-rc testing.

          Mark Waite added a comment - Thanks oleg_nenashev ! You are exactly correct. I made a mistake in a merge of that configuration file on Nov 15, 2019 and lost the opening scm tag that you detected. Thanks for finding it and my apologies for the distraction during the late stages of 2.204.1-rc testing.

            Unassigned Unassigned
            markewaite Mark Waite
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved: