Details
-
Bug
-
Status: Open (View Workflow)
-
Major
-
Resolution: Unresolved
Description
I'm opening this as a continuation of https://issues.jenkins.io/browse/JENKINS-64341 as suggested. This is to add a few more details to Ryan's comment based on Mark's response.
We're seeing an issue with Jenkins 2.280-jdk11 where when clicking on the "Save" button in Configure System (even there are no changes made), it breaks and shows the error screen:
Error screen
Logs
2021-02-26 22:08:17.336+0000 [id=2063] WARNING h.i.i.InstallUncaughtExceptionHandler#handleException: Caught unhandled exception with ID 45950dec-8624-44ad-8878-aa2fd8e2858f2021-02-26 22:08:17.336+0000 [id=2063] WARNING h.i.i.InstallUncaughtExceptionHandler#handleException: Caught unhandled exception with ID 45950dec-8624-44ad-8878-aa2fd8e2858fnet.sf.json.JSONException: JSONObject["rememberPasswordEnabled"] not found. at net.sf.json.JSONObject.getString(JSONObject.java:2040) at com.sonyericsson.rebuild.RebuildDescriptor.configure(RebuildDescriptor.java:28) at jenkins.model.Jenkins.configureDescriptor(Jenkins.java:3859) at jenkins.model.Jenkins.doConfigSubmit(Jenkins.java:3823) at java.base/java.lang.invoke.MethodHandle.invokeWithArguments(MethodHandle.java:710) at org.kohsuke.stapler.Function$MethodFunction.invoke(Function.java:396) at org.kohsuke.stapler.Function$InstanceFunction.invoke(Function.java:408) at org.kohsuke.stapler.Function.bindAndInvoke(Function.java:212) at org.kohsuke.stapler.SelectionInterceptedFunction$Adapter.invoke(SelectionInterceptedFunction.java:36) at org.kohsuke.stapler.verb.HttpVerbInterceptor.invoke(HttpVerbInterceptor.java:48) at org.kohsuke.stapler.SelectionInterceptedFunction.bindAndInvoke(SelectionInterceptedFunction.java:26) at org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:145) at org.kohsuke.stapler.MetaClass$11.doDispatch(MetaClass.java:536) at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:58) at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:766) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:898) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:694) at org.kohsuke.stapler.Stapler.service(Stapler.java:240) at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:791) at org.eclipse.jetty.servlet.ServletHandler$ChainEnd.doFilter(ServletHandler.java:1626) at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:154) at org.jenkinsci.plugins.ssegateway.Endpoint$SSEListenChannelFilter.doFilter(Endpoint.java:248) at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:151) at hudson.plugins.audit_trail.AuditTrailFilter.doFilter(AuditTrailFilter.java:111) at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:151) at jenkins.telemetry.impl.UserLanguages$AcceptLanguageFilter.doFilter(UserLanguages.java:129) at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:151) at jenkins.security.ResourceDomainFilter.doFilter(ResourceDomainFilter.java:76) at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:151) at io.jenkins.blueocean.auth.jwt.impl.JwtAuthenticationFilter.doFilter(JwtAuthenticationFilter.java:60) at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:151) at io.jenkins.blueocean.ResourceCacheControl.doFilter(ResourceCacheControl.java:134) at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:151) at com.smartcodeltd.jenkinsci.plugin.assetbundler.filters.LessCSS.doFilter(LessCSS.java:47) at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:151) at net.bull.javamelody.MonitoringFilter.doFilter(MonitoringFilter.java:239) at net.bull.javamelody.MonitoringFilter.doFilter(MonitoringFilter.java:215) at net.bull.javamelody.PluginMonitoringFilter.doFilter(PluginMonitoringFilter.java:88) at org.jvnet.hudson.plugins.monitoring.HudsonMonitoringFilter.doFilter(HudsonMonitoringFilter.java:114) at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:151) at hudson.plugins.greenballs.GreenBallFilter.doFilter(GreenBallFilter.java:64) at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:151) at jenkins.metrics.impl.MetricsFilter.doFilter(MetricsFilter.java:125) at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:151) at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:157) at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193) at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1601) at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:153) at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193) at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1601) at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:92) at jenkins.security.AcegiSecurityExceptionFilter.doFilter(AcegiSecurityExceptionFilter.java:52) at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:97) at hudson.security.UnwrapSecurityExceptionFilter.doFilter(UnwrapSecurityExceptionFilter.java:51) at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:97) at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:119) at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:113) at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:97) at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:105) at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:97) at org.springframework.security.web.authentication.rememberme.RememberMeAuthenticationFilter.doFilter(RememberMeAuthenticationFilter.java:101) at org.springframework.security.web.authentication.rememberme.RememberMeAuthenticationFilter.doFilter(RememberMeAuthenticationFilter.java:92) at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:97) at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:218) at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:212) at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:97) at jenkins.security.BasicHeaderProcessor.doFilter(BasicHeaderProcessor.java:93) at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:97) at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) at hudson.security.HttpSessionContextIntegrationFilter2.doFilter(HttpSessionContextIntegrationFilter2.java:62) at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:97) at hudson.security.ChainedServletFilter.doFilter(ChainedServletFilter.java:109) at hudson.security.HudsonFilter.doFilter(HudsonFilter.java:168) at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193) at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1601) at org.kohsuke.stapler.compression.CompressionFilter.doFilter(CompressionFilter.java:51) at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193) at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1601) at hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:82) at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193) at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1601) at org.kohsuke.stapler.DiagnosticThreadNameFilter.doFilter(DiagnosticThreadNameFilter.java:30) at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193) at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1601) at jenkins.security.SuspiciousRequestFilter.doFilter(SuspiciousRequestFilter.java:36) at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193) at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1601) at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:548) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143) at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:578) at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127) at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:235) at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1624) at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233) at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1435) at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:188) at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:501) at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1594) at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:186) at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1350) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127) at org.eclipse.jetty.server.Server.handle(Server.java:516) at org.eclipse.jetty.server.HttpChannel.lambda$handle$1(HttpChannel.java:388) at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:633) at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:380) at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:273) at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311) at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105) at org.eclipse.jetty.io.ChannelEndPoint$1.run(ChannelEndPoint.java:104) at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:336) at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:313) at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:171) at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:129) at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:375) at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:773) at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:905) at java.base/java.lang.Thread.run(Thread.java:834)
List of plugins
Jenkins: 2.280 OS: Linux - 5.4.49+ --- pipeline-input-step:2.12 multiple-scms:0.6 pipeline-stage-view:2.19 analysis-model-api:9.8.0 role-strategy:3.1 graphiteIntegrator:1.2 blueocean-i18n:1.24.4 workflow-basic-steps:2.23 external-monitor-job:1.7 pipeline-rest-api:2.19 blueocean-pipeline-api-impl:1.24.4 naginator:1.18.1 job-parameter-summary:0.5 mercurial:2.12 cucumber-reports:5.5.0 basic-branch-build-strategies:1.3.2 build-environment:1.7 pam-auth:1.6 stashNotifier:1.20 checks-api:1.5.0 configurationslicing:1.51 job-dsl:1.77 envinject:2.4.0 build-failure-analyzer:2.0.0 blueocean-git-pipeline:1.24.4 uno-choice:2.5.2 workflow-cps:2.89 build-history-metrics-plugin:1.2 octopusdeploy:3.1.2 pipeline-npm:0.9.2 kubernetes-credentials:0.8.0 jobcopy-builder:1.4.2 blueocean-rest-impl:1.24.4 dashboard-view:2.14 build-monitor-plugin:1.12+build.201809061734 badge:1.8 plugin-usage-plugin:1.2 config-file-provider:3.7.0 nodejs:1.3.11 build-user-vars-plugin:1.7 blueocean-jwt:1.24.4 cloudbees-bitbucket-branch-source:2.9.7 websocket:1.0.6 hipchat:2.2.1 favorite:2.3.3 script-security:1.76 metrics:4.0.2.7 jqs-monitoring:1.4 hudson-wsclean-plugin:1.0.8 purge-job-history:1.6 trilead-api:1.0.13 font-awesome-api:5.15.2-1 google-container-registry-auth:0.3 ssh-credentials:1.18.1 postbuildscript:2.11.0 extensible-choice-parameter:1.7.0 stash-pullrequest-builder:1.17 matrix-project:1.18 pipeline-model-definition:1.8.4 conditional-buildstep:1.4.1 github-api:1.122 dependency-check-jenkins-plugin:5.1.1 cobertura:1.16 copyartifact:1.46 bootstrap4-api:4.6.0-1 disk-usage:0.28 dependency-track:3.1.0 cloudbees-folder:6.15 simple-theme-plugin:0.6 htmlpublisher:1.25 systemloadaverage-monitor:1.2 kubernetes-client-api:4.13.2-1 purge-build-queue-plugin:1.0 workflow-step-api:2.23 delivery-pipeline-plugin:1.4.2 pipeline-build-step:2.13 groovy-postbuild:2.5 workflow-durable-task-step:2.37 sonar:2.13 pipeline-model-api:1.8.4 workflow-job:2.40 plugin-util-api:1.7.1 nexus-artifact-uploader:2.13 handlebars:1.1.1 blueocean-dashboard:1.24.4 fortify-on-demand-uploader:6.1.0 flexible-publish:0.16.1 jjwt-api:0.11.2-9.c8b45b8bb173 blueocean-autofavorite:1.2.4 kubernetes:1.24.1-efx accelerated-build-now-plugin:1.0.1 workflow-support:3.7 ssh-agent:1.21 managed-scripts:1.5.4 jquery:1.12.4-1 git-tag-message:1.7.1 remote-terminal-access:1.6 mapdb-api:1.0.9.0 credentials-binding:1.24 git:4.6.0 git-parameter:0.9.13 warnings-ng:8.9.1 jobgenerator:1.22 pipeline-stage-tags-metadata:1.8.4 pipeline-multibranch-defaults:2.1 slave-status:1.6 ssh-slaves:1.31.5 forensics-api:0.10.1 project-build-times:1.2.1 blueocean-events:1.24.4 gradle:1.36 workflow-cps-global-lib:2.18 jdk-tool:1.5 jaxb:2.3.0.1 bouncycastle-api:2.18 pipeline-utility-steps:2.6.1 blueocean-pipeline-editor:1.24.4 lockable-resources:2.10 git-server:1.9 greenballs:1.15.1 google-oauth-plugin:1.0.3 subversion:2.14.0 schedule-build:0.5.1 all-changes:1.5 ldap:2.4 nuget:1.0 parameterized-trigger:2.40 git-client:3.6.0 groovy:2.3 jacoco:3.1.1 display-url-api:2.3.4 jenkins-design-language:1.24.4 sse-gateway:1.24 blueocean-jira:1.24.4 blueocean-web:1.24.4 blueocean-bitbucket-pipeline:1.24.4 blueocean-core-js:1.24.4 workflow-multibranch:2.22 github:1.33.1 oauth-credentials:0.4 docker-build-step:2.6 bulk-builder:1.5 plain-credentials:1.7 handy-uri-templates-2-api:2.1.8-1.0 bitbucket:1.1.27 aws-java-sdk:1.11.955 docker-commons:1.17 blueocean:1.24.4 jackson2-api:2.12.1 blueocean-personalization:1.24.4 jobConfigHistory:2.26 run-condition:1.5 http_request:1.8.27 structs:1.22 cloudbees-disk-usage-simple:0.10 javadoc:1.6 credentials:2.3.15 workflow-api:2.41 variant:1.4 blueocean-rest:1.24.4 secondary-timestamper-plugin:1.1 aws-credentials:1.28 StashBranchParameter:0.3.0 durable-task:1.35 built-on-column:1.1 nodelabelparameter:1.7.2 cvs:2.17 jsch:0.1.55.2 next-build-number:1.6 timestamper:1.11.8 global-build-stats:1.5 scm-api:2.6.4 junit:1.48 pubsub-light:1.13 momentjs:1.1.1 slave-setup:1.10 windows-slaves:1.7 extended-read-permission:3.2 blueocean-github-pipeline:1.24.4 ansicolor:0.7.5 active-directory:2.23 gcr-scanner:1.0 translation:1.16 metrics-datadog:1.0 resource-disposer:0.14 rebuild:1.31 backup:1.6.1 jquery3-api:3.5.1-2 workflow-scm-step:2.12 pipeline-milestone-step:1.3.2 publish-over-ssh:1.22 mailer:1.32.1 Parameterized-Remote-Trigger:3.1.5.1 ant:1.11 jquery-detached:1.2.1 google-chat-notification:1.4 echarts-api:4.9.0-3 validating-string-parameter:2.8 envinject-api:1.7 code-coverage-api:1.3.1 git-chooser-alternative:1.1 jira:3.2 matrix-auth:2.6.5 popper-api:1.16.1-1 embeddable-build-status:2.0.3 maven-plugin:3.9 blueocean-pipeline-scm-api:1.24.4 antisamy-markup-formatter:2.1 jsoup:1.10.3 pipeline-model-extensions:1.8.4 pipeline-aggregator-view:1.11 saml:1.1.7 audit-trail:3.8 authentication-tokens:1.4 blueocean-config:1.24.4 statusmonitor:1.3 blueocean-display-url:2.4.1 build-timeout:1.20 authorize-project:1.3.0 blueocean-commons:1.24.4 branch-api:2.6.3 view-job-filters:2.3 any-buildstep:0.1 pipeline-stage-step:2.5 pipeline-graph-analysis:1.10 ace-editor:1.1 apache-httpcomponents-client-4-api:4.5.13-1.0 okhttp-api:3.14.9 thinBackup:1.10 monitoring:1.86.0 confluence-publisher:2.0.6 workflow-aggregator:2.6 powershell:1.4 job-import-plugin:3.4 extended-choice-parameter:0.82 publish-over:0.22 hashicorp-vault-plugin:3.7.0 data-tables-api:1.10.23-2 prometheus:2.0.8 rundeck:3.6.9 file-operations:1.11 jenkins-multijob-plugin:1.36 docker-workflow:1.25 nexus-jenkins-plugin:3.8.20191024-124504.15c0353 bitbucket-build-status-notifier:1.4.2 CustomHistory:1.6 ws-cleanup:0.38 command-launcher:1.5 github-branch-source:2.10.1 token-macro:2.15 email-ext:2.81 configuration-as-code:1.47 implied-labels:0.7 snakeyaml-api:1.27.0 shiningpanda:0.24 heavy-job:1.1
How to reproduce
- Click Manage Jenkins
- Click Configure System
- Click Save button (don't need to make a change)
- Error screen shows up
Research Tests Performed
- JDK Versioning: Jenkins was tested using on v2.280 using both jdk8 and jdk11. The error persisted through both versions of JDK.
- Plugins:
- The plugin list from the last working deployment was used in all Jenkins version testing. The error still appeared, regardless of the list of plugins used.
- The error in the logs was related to a plugin. The solution given by https://issues.jenkins.io/browse/JENKINS-64341 to disable the related plugin was applied. On the next attempt, the same error with a new plugin reference was given. We were not able to reach a final iteration to fully get rid of the error during the minimal testing of this component.
- Jenkins Version:
- The following Jenkins versions were tested: v2.281-jdk11, v2.280-jdk11, v2.280-jdk8, v2.277-jdk11, v2.274-jdk11, v2.267-jdk11, v2.266-jdk11, v2.264-jdk11, v2.263.4-lts-jdk11, v2.262-jdk11
- Of these versions, the only two versions that did not contain the error were v2.263.4-lts-jdk11 and v2.262-jdk11
- This led me to believe that the error originated in a code change between v2.263 and v2.264.
- Note the "Rollbacks" for v2.264 compared to v2.263 in the Jenkins Changelog statistics: https://www.jenkins.io/changelog/
I applied for access to merge on the repo, via the jenkins-dev list.
I already got a lot of tips for improvement, which are in a new branch:
https://github.com/VGerris/google-container-registry-auth-plugin/tree/fix-tests-and-clean-pom-wip
There is one of 5 failing tests fixed, but I am not sure about the others because of complexity.
!
I would like to ask anyone reading this just to clone the repo, run mvn and install the built hpi to test it.
It would be even more great if anyone can help out with fixing the tests
Expect pushes to the above branch when there are improvements.
It should take max two weeks for the maintainer to respond before transferal.
I hope to merge it after that, but I think it's good to have to tests working and people reporting back to make sure everything works as expected.
Thanks for all the help, I will try to only post here with major updates.
Cheers