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

Unable to apply changes to freestyle jobs if Hudson locks and latches is installed

    • Icon: Bug Bug
    • Resolution: Won't Do
    • Icon: Major Major

      Background

      We are currently unable to save or apply modifications to any of our freestyle jobs.  We have the ability to create them, but once they are created, the 'Save' and 'Apply' buttons no longer work.  Period.

      This behavior does not happen for jobs of other types, like pipeline jobs.

      When the issue occurs, there is no feedback given in the Jenkins window which would provide any details about what's actually occurring.  It's almost like the actions associated w/the buttons are simply not receiving any messages from them and so nothing is done.  The page does not even transition to the parent job view after clicking the 'Save' button.  It just sits there.

      Reproducing the Problem

      To reproduce the issue, we execute this workflow for any of our freestyle jobs:

      [From the dashboard]

      • Select the link for the desired freestyle job
      • Choose 'Configure'
      • Click the 'Save' or 'Apply' buttons (nothing happens)
      • Modify any attribute in the job's configuration and select 'Save' or 'Apply' (nothing happens)
         
      • Result:  The page just sits there.

      Additional Information

      We are not exactly sure which upgrade may have introduced this issue?  We know we initially noticed it in late May 2021 when it was reported by the team which own the freestyle jobs.  The current Jenkins release is 2.289.1.

      We have tried rolling back the Jenkins version back two prior releases and the issue is still there.  Having seen that, we upgraded to the latest version since nothing we did made any difference.

      We have uninstalled or disabled any plugins we no longer needed.  The issue persists.

      The issue occurs regardless of browser type (Chrome, Edge, IE, FireFox, Safari).

      Final Question

      Could this be caused by the fact this server's OS is RHEL 6?  Just a shot in the dark, but the OS is very old and we are not able to reproduce this issue in our RHEL 7 and RHEL 8 Jenkins environments using the same Jenkins version.

      Thanks for your help!

          [JENKINS-65955] Unable to apply changes to freestyle jobs if Hudson locks and latches is installed

          Marcus Harris added a comment -

          This issue seems to describe what we're seeing in very similar terms.

          Marcus Harris added a comment - This issue seems to describe what we're seeing in very similar terms.

          Allan BURDAJEWICZ added a comment - - edited

          If there is nothing happening on Save/Apply, this might be a table to divs issue such as in https://issues.jenkins.io/browse/JENKINS-65142 ? And we'd need to find which plugin is causing this. What does the browser console tells you ?

          Allan BURDAJEWICZ added a comment - - edited If there is nothing happening on Save/Apply, this might be a table to divs issue such as in https://issues.jenkins.io/browse/JENKINS-65142 ? And we'd need to find which plugin is causing this. What does the browser console tells you ?

          Marcus Harris added a comment -

          Update (06/11)

          allan_burdajewicz – Thanks for your reply.  Here is what the browser console says:

          When the 'Configure' button is selected

          configure:1 The Cross-Origin-Opener-Policy header has been ignored, because the origin was untrustworthy. It was defined either in the final response or a redirect. Please deliver the response using the HTTPS protocol. You can also use the 'localhost' origin instead. See https://www.w3.org/TR/powerful-features/#potentially-trustworthy-origin and https://html.spec.whatwg.org/#the-cross-origin-opener-policy-header.
          
          behavior.js:119 TypeError: Cannot read property 'hasClassName' of undefined
              at repeatable.js:159
              at Array.forEach (<anonymous>)
              at behavior.js:116
              at Array.forEach (<anonymous>)
              at behavior.js:111
              at Array.forEach (<anonymous>)
              at Object.applySubtree (behavior.js:93)
              at Object.apply (behavior.js:76)
              at behavior.js:71
              at window.onload (behavior.js:133)
          (anonymous) @ behavior.js:119
          (anonymous) @ behavior.js:111
          applySubtree @ behavior.js:93
          apply @ behavior.js:76
          (anonymous) @ behavior.js:71
          window.onload @ behavior.js:133
          window.onload @ behavior.js:133
          load (async)
          addLoadEvent @ behavior.js:132
          createSearchBox @ hudson-behavior.js:2547
          (anonymous) @ configure:7
          
          behavior.js:119 TypeError: Cannot read property 'next' of undefined
              at findEnd (hudson-behavior.js:890)
              at hudson-behavior.js:1226
              at Array.forEach (<anonymous>)
              at behavior.js:116
              at Array.forEach (<anonymous>)
              at behavior.js:111
              at Array.forEach (<anonymous>)
              at Object.applySubtree (behavior.js:93)
              at Object.apply (behavior.js:76)
              at behavior.js:71
          (anonymous) @ behavior.js:119
          (anonymous) @ behavior.js:111
          applySubtree @ behavior.js:93
          apply @ behavior.js:76
          (anonymous) @ behavior.js:71
          window.onload @ behavior.js:133
          window.onload @ behavior.js:133
          load (async)
          addLoadEvent @ behavior.js:132
          createSearchBox @ hudson-behavior.js:2547
          (anonymous) @ configure:7
          
          behavior.js:119 TypeError: Cannot read property 'hasClassName' of undefined
              at hudson-behavior.js:1263
              at Array.forEach (<anonymous>)
              at behavior.js:116
              at Array.forEach (<anonymous>)
              at behavior.js:111
              at Array.forEach (<anonymous>)
              at Object.applySubtree (behavior.js:93)
              at Object.apply (behavior.js:76)
              at behavior.js:71
              at window.onload (behavior.js:133)
          
          (anonymous) @ behavior.js:119
          (anonymous) @ behavior.js:111
          applySubtree @ behavior.js:93
          apply @ behavior.js:76
          (anonymous) @ behavior.js:71
          window.onload @ behavior.js:133
          window.onload @ behavior.js:133
          load (async)
          addLoadEvent @ behavior.js:132
          createSearchBox @ hudson-behavior.js:2547
          (anonymous) @ configure:7
          
          behavior.js:119 TypeError: Cannot read property 'makeInnerVisible' of undefined
              at updateOptionalBlock (hudson-behavior.js:1645)
              at hudson-behavior.js:1284
              at Array.forEach (<anonymous>)
              at behavior.js:116
              at Array.forEach (<anonymous>)
              at behavior.js:111
              at Array.forEach (<anonymous>)
              at Object.applySubtree (behavior.js:93)
              at Object.apply (behavior.js:76)
              at behavior.js:71

          When the 'Save' or 'Apply' buttons are clicked

          Nothing.  Nothing gets displayed in the console, period.

          Hope this helps!

          Marcus Harris added a comment - Update (06/11) allan_burdajewicz – Thanks for your reply.  Here is what the browser console says: When the 'Configure' button is selected configure:1 The Cross-Origin-Opener-Policy header has been ignored, because the origin was untrustworthy. It was defined either in the final response or a redirect. Please deliver the response using the HTTPS protocol. You can also use the 'localhost' origin instead. See https: //www.w3.org/TR/powerful-features/#potentially-trustworthy-origin and https://html.spec.whatwg.org/#the-cross-origin-opener-policy-header. behavior.js:119 TypeError: Cannot read property 'hasClassName' of undefined at repeatable.js:159 at Array.forEach (<anonymous>) at behavior.js:116 at Array.forEach (<anonymous>) at behavior.js:111 at Array.forEach (<anonymous>) at Object .applySubtree (behavior.js:93) at Object .apply (behavior.js:76) at behavior.js:71 at window.onload (behavior.js:133) (anonymous) @ behavior.js:119 (anonymous) @ behavior.js:111 applySubtree @ behavior.js:93 apply @ behavior.js:76 (anonymous) @ behavior.js:71 window.onload @ behavior.js:133 window.onload @ behavior.js:133 load (async) addLoadEvent @ behavior.js:132 createSearchBox @ hudson-behavior.js:2547 (anonymous) @ configure:7 behavior.js:119 TypeError: Cannot read property 'next' of undefined at findEnd (hudson-behavior.js:890) at hudson-behavior.js:1226 at Array.forEach (<anonymous>) at behavior.js:116 at Array.forEach (<anonymous>) at behavior.js:111 at Array.forEach (<anonymous>) at Object .applySubtree (behavior.js:93) at Object .apply (behavior.js:76) at behavior.js:71 (anonymous) @ behavior.js:119 (anonymous) @ behavior.js:111 applySubtree @ behavior.js:93 apply @ behavior.js:76 (anonymous) @ behavior.js:71 window.onload @ behavior.js:133 window.onload @ behavior.js:133 load (async) addLoadEvent @ behavior.js:132 createSearchBox @ hudson-behavior.js:2547 (anonymous) @ configure:7 behavior.js:119 TypeError: Cannot read property 'hasClassName' of undefined at hudson-behavior.js:1263 at Array.forEach (<anonymous>) at behavior.js:116 at Array.forEach (<anonymous>) at behavior.js:111 at Array.forEach (<anonymous>) at Object .applySubtree (behavior.js:93) at Object .apply (behavior.js:76) at behavior.js:71 at window.onload (behavior.js:133) (anonymous) @ behavior.js:119 (anonymous) @ behavior.js:111 applySubtree @ behavior.js:93 apply @ behavior.js:76 (anonymous) @ behavior.js:71 window.onload @ behavior.js:133 window.onload @ behavior.js:133 load (async) addLoadEvent @ behavior.js:132 createSearchBox @ hudson-behavior.js:2547 (anonymous) @ configure:7 behavior.js:119 TypeError: Cannot read property 'makeInnerVisible' of undefined at updateOptionalBlock (hudson-behavior.js:1645) at hudson-behavior.js:1284 at Array.forEach (<anonymous>) at behavior.js:116 at Array.forEach (<anonymous>) at behavior.js:111 at Array.forEach (<anonymous>) at Object .applySubtree (behavior.js:93) at Object .apply (behavior.js:76) at behavior.js:71 When the 'Save' or 'Apply' buttons are clicked Nothing.  Nothing gets displayed in the console, period. Hope this helps!

          Marcus Harris added a comment -

          Update (06/22)

          I have some new information to report.  One of the members of the team directly affected by this issue w/saving or applying changes to the configuration of freestyle jobs pointed me to this issue:

          https://issues.jenkins.io/browse/JENKINS-65480

          In the comments of this ticket, markewaite mentioned downgrading to version 2.263.4 and this suggestion worked in our case.  We went from 2.289.1 (latest as of 06/22/2021) ---> 2.263.4.  He also mentions the 'join' plugin, but we did not use the plugin, so that part of his commentary didn't apply in our case.

          Once the downgrade was complete, I was able to modify and save the configurations of the freestyle jobs and they built successfully.

          Next Steps

          I believe this ticket needs to remain open and someone needs to check the deltas between version 2.263.4-1.1 and 2.289.1-1 to find out why this issue persists in the latest version of the software.

          If more information is needed from me, please don't hesitate to let me know what you need and I will provide it.

          Marcus Harris added a comment - Update (06/22) I have some new information to report.  One of the members of the team directly affected by this issue w/saving or applying changes to the configuration of freestyle jobs pointed me to this issue: https://issues.jenkins.io/browse/JENKINS-65480 In the comments of this ticket, markewaite  mentioned downgrading to version 2.263.4 and this suggestion worked in our case.  We went from 2.289.1 (latest as of 06/22/2021) ---> 2.263.4 .  He also mentions the 'join' plugin, but we did not use the plugin, so that part of his commentary didn't apply in our case. Once the downgrade was complete, I was able to modify and save the configurations of the freestyle jobs and they built successfully. Next Steps I believe this ticket needs to remain open and someone needs to check the deltas between version 2.263.4-1.1 and 2.289.1-1 to find out why this issue persists in the latest version of the software. If more information is needed from me, please don't hesitate to let me know what you need and I will provide it.

          Marcus Harris added a comment -

          IMPORTANT

          As suggested in the comments of this issue (JENKINS-65480), downgrading our installation from 2.289.1 to 2.263.1 resolved the issue I reported.

          Naturally, it introduced issues w/some of the plugins which require a Jenkins version more recent than 2.263.1 and a couple of security issues, but our ability to modify and save changes to our freestyle job configurations has been restored.

          Please consider examining the deltas between these two versions to find out why this issue is occurring.  Thanks!!

          Marcus Harris added a comment - IMPORTANT As suggested in the comments of this issue ( JENKINS-65480 ), downgrading our installation from 2.289.1 to 2.263.1 resolved the issue I reported . Naturally, it introduced issues w/some of the plugins which require a Jenkins version more recent than 2.263.1 and a couple of security issues, but our ability to modify and save changes to our freestyle job configurations has been restored. Please consider examining the deltas between these two versions to find out why this issue is occurring.  Thanks!!

          Mark Waite added a comment - - edited

          The "Hudson Locks and Latches" plugin in your installation was last released 11 years ago. It uses "table" layout in an HTML form. Jenkins 2.277.1 and later have switched from table layout to use "div" elements for layout. See the Jenkins 2.277.1 Webinar, the Jenkins 2.277.1 changelog, and the Jenkins 2.277.1 upgrade guide for more details on that upgrade.

          I can duplicate the problem you're reporting using the plugin versions that you specified. I was still able to duplicate the problem even after upgrading all those plugins to their most recent releases.

          If I disable or uninstall the "Hudson Locks and Latches" plugin, then the Freestyle project that I created can be saved. However, as far as I can tell, the "Hudson Locks and Latches" plugin is no longer available from the Jenkins update center. I can't find it at https://updates.jenkins.io/latest/ or at https://updates.jenkins.io/download/plugins/ .

          If you cannot operate without that plugin, you may want to consider adopting the plugin and maintaining it.

          If can operate without it, then you should remove the plugin. It was proposed to be deprecated long ago and has been unmaintained for many years.

          Mark Waite added a comment - - edited The "Hudson Locks and Latches" plugin in your installation was last released 11 years ago. It uses "table" layout in an HTML form. Jenkins 2.277.1 and later have switched from table layout to use "div" elements for layout. See the Jenkins 2.277.1 Webinar, the Jenkins 2.277.1 changelog, and the Jenkins 2.277.1 upgrade guide for more details on that upgrade. I can duplicate the problem you're reporting using the plugin versions that you specified. I was still able to duplicate the problem even after upgrading all those plugins to their most recent releases. If I disable or uninstall the "Hudson Locks and Latches" plugin, then the Freestyle project that I created can be saved. However, as far as I can tell, the "Hudson Locks and Latches" plugin is no longer available from the Jenkins update center. I can't find it at https://updates.jenkins.io/latest/ or at https://updates.jenkins.io/download/plugins/ . If you cannot operate without that plugin, you may want to consider adopting the plugin and maintaining it. If can operate without it, then you should remove the plugin. It was proposed to be deprecated long ago and has been unmaintained for many years.

          Marcus Harris added a comment -

          Update (06/22)

          markewaite – Thanks so much for that information!  To the best of my knowledge, that plugin can definitely go.

          I'll remove the plugin, upgrade the instance to the latest version, and then retry my testing w/the freestyle jobs.

          I appreciate your support!

          Marcus

          Marcus Harris added a comment - Update (06/22) markewaite – Thanks so much for that information!  To the best of my knowledge, that plugin can definitely go. I'll remove the plugin, upgrade the instance to the latest version, and then retry my testing w/the freestyle jobs. I appreciate your support! Marcus

          Marcus Harris added a comment -

          Update (06/22)

          markewaite – Getting rid of that old plugin worked!  We're back on version 2.289.1 and are able to modify/save our changes to the freestyle job configs.

          Thanks again for your support!!

          Marcus Harris added a comment - Update (06/22) markewaite – Getting rid of that old plugin worked!  We're back on version 2.289.1 and are able to modify/save our changes to the freestyle job configs. Thanks again for your support!!

          Mark Waite added a comment -

          The Hudson locks and latches plugin is not distributed by the Jenkins update center. It was proposed for deprecation in 2015 and has known blocking issues. It prevents the saving of Jenkins job configurations in Jenkins 2.277.1 and later.

          If someone adopted the plugin, updated it to work with Jenkins 2.277.1 and later, and released a new version, then this issue report could be reopened.

          Mark Waite added a comment - The Hudson locks and latches plugin is not distributed by the Jenkins update center. It was proposed for deprecation in 2015 and has known blocking issues. It prevents the saving of Jenkins job configurations in Jenkins 2.277.1 and later. If someone adopted the plugin, updated it to work with Jenkins 2.277.1 and later, and released a new version, then this issue report could be reopened.

            Unassigned Unassigned
            harrism Marcus Harris
            Votes:
            1 Vote for this issue
            Watchers:
            6 Start watching this issue

              Created:
              Updated:
              Resolved: