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

Google container registry auth plugin breaks Jenkins Configure System apply

XMLWordPrintable

      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/

            Unassigned Unassigned
            billtran Bill
            Votes:
            4 Vote for this issue
            Watchers:
            9 Start watching this issue

              Created:
              Updated: