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

Job Config History plugin should not call User.current() during startup

    Details

    • Similar Issues:

      Description

      2.138.2 backported JEP-214/Uplink telemetry, and with it, an extension that calls save from its constructor.

      When Job Config History is installed, that results in the following warning being logged on the first startup during the save call:

      https://gist.github.com/daniel-beck/140e11878479d5c2eef882f54c4ed33d

      It's not obviously a bad idea to call save there (IMO), but there probably should be a check in JCH to not do elaborate processing during startup. Unsure.

        Attachments

          Issue Links

            Activity

            Hide
            danielbeck Daniel Beck added a comment -

            I've recently observed the same problem with a number of plugins. It's always the same basic structure, during startup, a plugin saves a Saveable, and JCH calls PluginUtils.isUserExcluded (when Jenkins.getAuthentication might be good enough, unsure), resulting in a deadlock, or at least failure to initialize extensions.

            Show
            danielbeck Daniel Beck added a comment - I've recently observed the same problem with a number of plugins. It's always the same basic structure, during startup, a plugin saves a Saveable, and JCH calls PluginUtils.isUserExcluded (when Jenkins.getAuthentication might be good enough, unsure), resulting in a deadlock, or at least failure to initialize extensions.
            Hide
            danielbeck Daniel Beck added a comment -

            Example stack trace excerpt:

            	at hudson.plugins.jobConfigHistory.PluginUtils.isUserExcluded(PluginUtils.java:121)
            	at hudson.plugins.jobConfigHistory.JobConfigHistorySaveableListener.onChange(JobConfigHistorySaveableListener.java:55)
            	at hudson.model.listeners.SaveableListener.fireOnChange(SaveableListener.java:81)
            	at hudson.model.Descriptor.save(Descriptor.java:874)
            	at hudson.plugins.openid.OpenIdLoginService$GlobalConfigurationImpl.setEnabled(OpenIdLoginService.java:234)
            	at hudson.plugins.openid.OpenIdLoginService$GlobalConfigurationImpl.<init>(OpenIdLoginService.java:217) 
            Show
            danielbeck Daniel Beck added a comment - Example stack trace excerpt: at hudson.plugins.jobConfigHistory.PluginUtils.isUserExcluded(PluginUtils.java:121) at hudson.plugins.jobConfigHistory.JobConfigHistorySaveableListener.onChange(JobConfigHistorySaveableListener.java:55) at hudson.model.listeners.SaveableListener.fireOnChange(SaveableListener.java:81) at hudson.model.Descriptor.save(Descriptor.java:874) at hudson.plugins.openid.OpenIdLoginService$GlobalConfigurationImpl.setEnabled(OpenIdLoginService.java:234) at hudson.plugins.openid.OpenIdLoginService$GlobalConfigurationImpl.<init>(OpenIdLoginService.java:217)

              People

              • Assignee:
                stefanbrausch Stefan Brausch
                Reporter:
                danielbeck Daniel Beck
              • Votes:
                0 Vote for this issue
                Watchers:
                0 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: