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

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

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Open (View Workflow)
    • Priority: Major
    • Resolution: Unresolved
    • Environment:
    • Similar Issues:

      Description

      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!

        Attachments

          Issue Links

            Activity

            Hide
            harrism Marcus Harris added a comment -

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

            Show
            harrism Marcus Harris added a comment - This issue seems to describe what we're seeing in very similar terms.
            Hide
            allan_burdajewicz 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 ?

            Show
            allan_burdajewicz 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 ?
            Hide
            harrism 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!

            Show
            harrism 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!
            Hide
            harrism 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, Mark Waite 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.

            Show
            harrism 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, Mark Waite  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.
            Hide
            harrism 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!!

            Show
            harrism 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!!
            Hide
            markewaite 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.

            Show
            markewaite 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.
            Hide
            harrism Marcus Harris added a comment -

            Update (06/22)

            Mark Waite – 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

            Show
            harrism Marcus Harris added a comment - Update (06/22) Mark Waite – 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
            Hide
            harrism Marcus Harris added a comment -

            Update (06/22)

            Mark Waite – 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!!

            Show
            harrism Marcus Harris added a comment - Update (06/22) Mark Waite – 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!!

              People

              Assignee:
              Unassigned Unassigned
              Reporter:
              harrism Marcus Harris
              Votes:
              1 Vote for this issue
              Watchers:
              4 Start watching this issue

                Dates

                Created:
                Updated: