• Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Minor Minor
    • pipeline
    • Jenkins 2.277.4 run directly on server.

      When using the Web UI job Configure page the existing project definition looses all child elements for this xpath when Save or Apply button is clicked.

      /flow-definition/properties/*

       The project is a pipeline job created some months ago. With parametrised properties added.

      For example this XML

       <properties>
       <hudson.plugins.jira.JiraProjectProperty plugin="jira@3.1.1"/>
       <org.jenkinsci.plugins.workflow.job.properties.DisableConcurrentBuildsJobProperty/>
       <org.jenkinsci.plugins.workflow.job.properties.DisableResumeJobProperty/>
       <com.sonyericsson.rebuild.RebuildSettings plugin="rebuild@1.31">
       <autoRebuild>false</autoRebuild>
       <rebuildDisabled>false</rebuildDisabled>
       </com.sonyericsson.rebuild.RebuildSettings>
       <hudson.model.ParametersDefinitionProperty>
       <parameterDefinitions>
       <hudson.model.StringParameterDefinition>
       <name>JFR_PROFILE</name>
       <description>attach a jfr profile</description>
       <defaultValue></defaultValue>
       <trim>false</trim>
       </hudson.model.StringParameterDefinition>
       </parameterDefinitions>
       </hudson.model.ParametersDefinitionProperty>
       <hudson.plugins.throttleconcurrents.ThrottleJobProperty plugin="throttle-concurrents@2.0.3">
       <maxConcurrentPerNode>0</maxConcurrentPerNode>
       <maxConcurrentTotal>1</maxConcurrentTotal>
       <categories class="java.util.concurrent.CopyOnWriteArrayList"/>
       <throttleEnabled>true</throttleEnabled>
       <throttleOption>project</throttleOption>
       <limitOneJobWithMatchingParams>false</limitOneJobWithMatchingParams>
       <paramsToUseForLimit></paramsToUseForLimit>
       <configVersion>1</configVersion>
       </hudson.plugins.throttleconcurrents.ThrottleJobProperty>
       </properties> 

      becomes

      <properties/>

      Checking the Jenkins log I don't find any exceptions. Testing with Chrome browser the same issue happens. A colleague has experienced the same problem also with Firefox.

       This issue first occurred after upgrading to 2.277.2 Jenkins from an older version. Since then steps to clear out unused plugins, upgrade plugins, jenkins, then plugins again. This did not solve the issue.

      Checking the HTTP POST request when the browser Save button is clicked shows the request to contain the parameters. See the attachment.

       

      Files have been attached with details of plugins installed. Plus the system info.

       on the server

      Jenkins 2.277.4
      $ uname -a
      Linux somewhere.com 4.18.0-240.el8.x86_64 #1 SMP Wed Sep 23 05:13:10 EDT 2020 x86_64 x86_64 x86_64 GNU/Linux

      on the client

      $ firefox -version
      Mozilla Firefox 88.0.1
      $ uname -a
      Linux burtha-f33 5.8.15-301.fc33.x86_64 #1 SMP Thu Oct 15 16:58:06 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
      $

          [JENKINS-65684] Job configure - properties on save

          This is a similar report.

          Jeremy Whiting added a comment - This is a similar report.

          Jeremy Whiting added a comment - - edited

           Investigating using Byteman tool reveals the un-marshalled JSON content at line 1324 in the Job class to be empty. Byteman rules were used to unobtrusively trace the two references t and jsonProperties.

          # grep "rule.debug" /var/log/jenkins/jenkins.log
          rule.debug{jsonProperties null condition trace_1:0} : *** request payload of JSON Properties has been unmarshalled. The jsonProperties reference is null !!!!
          rule.debug{DescribableList size trace_0:0} : *** t [6]
          #
          

          Why the call to json.optJSONObject("properties"); is returning a null reference needs investigating next.

          Jeremy Whiting added a comment - - edited  Investigating using Byteman tool reveals the un-marshalled JSON content at line 1324  in the Job class to be empty. Byteman rules were used to unobtrusively trace the two references t and jsonProperties. # grep "rule.debug" /var/log/jenkins/jenkins.log rule.debug{jsonProperties null condition trace_1:0} : *** request payload of JSON Properties has been unmarshalled. The jsonProperties reference is null !!!! rule.debug{DescribableList size trace_0:0} : *** t [6] # Why the call to json.optJSONObject("properties") ; is returning a null reference needs investigating next.

          Coming at this issue from another angle I've tried re-creating the issue using containers locally using a new parametrised pipeline. For versions 2.277.4 and 2.267.
          I cannot re-create this issue

          Jeremy Whiting added a comment - Coming at this issue from another angle I've tried re-creating the issue using containers locally using a new parametrised pipeline. For versions 2.277.4 and 2.267. I cannot re-create this issue

          This issue has been tracked down to an buggy version of JMS Plugin. The buggy version 1.1.19 was installed.
          Updating to the currently latest JMS Plugin version 1.1.22 solves this issue.

          Jeremy Whiting added a comment - This issue has been tracked down to an buggy version of JMS Plugin. The buggy version 1.1.19 was installed. Updating to the currently latest JMS Plugin version 1.1.22 solves this issue.

          This issue can be solved by upgrading to 1.1.22 JMS Plugin.

          Jeremy Whiting added a comment - This issue can be solved by upgrading to 1.1.22 JMS Plugin.

            Unassigned Unassigned
            whitingjr Jeremy Whiting
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: