OS Release: Red Hat Enterprise Linux Server release 6.5 (Santiago)
OS Version: Linux mcasci2 2.6.32-431.el6.x86_64 #1 SMP Sun Nov 10 22:19:54 EST 2013 x86_64 x86_64 x86_64 GNU/Linux
[Java Info]
java version "1.8.0_144"
Java(TM) SE Runtime Environment (build 1.8.0_144-b01)
Java HotSpot(TM) 64-Bit Server VM (build 25.144-b01, mixed mode)
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.
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 ?
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!
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:
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.
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!!
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.
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
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!!
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.
[{"id":-1,"name":"My open issues","jql":"assignee = currentUser() AND resolution = Unresolved order by updated DESC","isSystem":true,"sharePermissions":[],"requiresLogin":true},{"id":-2,"name":"Reported by me","jql":"reporter = currentUser() order by created DESC","isSystem":true,"sharePermissions":[],"requiresLogin":true},{"id":-4,"name":"All issues","jql":"order by created DESC","isSystem":true,"sharePermissions":[],"requiresLogin":false},{"id":-5,"name":"Open issues","jql":"resolution = Unresolved order by priority DESC,updated DESC","isSystem":true,"sharePermissions":[],"requiresLogin":false},{"id":-9,"name":"Done issues","jql":"statusCategory = Done order by updated DESC","isSystem":true,"sharePermissions":[],"requiresLogin":false},{"id":-3,"name":"Viewed recently","jql":"issuekey in issueHistory() order by lastViewed DESC","isSystem":true,"sharePermissions":[],"requiresLogin":false},{"id":-6,"name":"Created recently","jql":"created >= -1w order by created DESC","isSystem":true,"sharePermissions":[],"requiresLogin":false},{"id":-7,"name":"Resolved recently","jql":"resolutiondate >= -1w order by updated DESC","isSystem":true,"sharePermissions":[],"requiresLogin":false},{"id":-8,"name":"Updated recently","jql":"updated >= -1w order by updated DESC","isSystem":true,"sharePermissions":[],"requiresLogin":false}]
This issue seems to describe what we're seeing in very similar terms.