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

Support Core dynamic loading is failing to load Master Log Record component

    Details

    • Similar Issues:
    • Released As:
      core:2.203

      Description

      Installing support-core 2.62 fails to dynamically load one extension with the following warning being reported:

      2019-10-14 11:03:04.794+0000 [id=100]	WARNING	h.ExtensionFinder$GuiceFinder$FaultTolerantScope$1#error: Failed to instantiate Key[type=com.cloudbees.jenkins.support.impl.JenkinsLogs, annotation=[none]]; skipping this component
      hudson.security.AccessDeniedException2: anonymous is missing the Overall/Administer permission
      	at hudson.security.ACL.checkPermission(ACL.java:73)
      	at hudson.security.AccessControlled.checkPermission(AccessControlled.java:47)
      	at jenkins.model.Jenkins.getLog(Jenkins.java:2508)
      	at com.cloudbees.jenkins.support.impl.JenkinsLogs.<init>(JenkinsLogs.java:50)
      	at com.cloudbees.jenkins.support.impl.JenkinsLogs$$FastClassByGuice$$adeef6a3.newInstance(<generated>)
      	at com.google.inject.internal.cglib.reflect.$FastConstructor.newInstance(FastConstructor.java:40)
      	at com.google.inject.internal.DefaultConstructionProxyFactory$1.newInstance(DefaultConstructionProxyFactory.java:61)
      	at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:105)
      	at com.google.inject.internal.ConstructorInjector.access$000(ConstructorInjector.java:32)
      	at com.google.inject.internal.ConstructorInjector$1.call(ConstructorInjector.java:89)
      	at com.google.inject.internal.ProvisionListenerStackCallback$Provision.provision(ProvisionListenerStackCallback.java:115)
      	at hudson.ExtensionFinder$GuiceFinder$SezpozModule.onProvision(ExtensionFinder.java:567)
      	at com.google.inject.internal.ProvisionListenerStackCallback$Provision.provision(ProvisionListenerStackCallback.java:126)
      	at hudson.ExtensionFinder$GuiceFinder$SezpozModule.onProvision(ExtensionFinder.java:567)
      	at com.google.inject.internal.ProvisionListenerStackCallback$Provision.provision(ProvisionListenerStackCallback.java:126)
      	at com.google.inject.internal.ProvisionListenerStackCallback.provision(ProvisionListenerStackCallback.java:68)
      	at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:87)
      	at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:267)
      	at com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46)
      	at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1103)
      	at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)
      Caused: com.google.inject.ProvisionException: Unable to provision, see the following errors:
      
      1) Error injecting constructor, hudson.security.AccessDeniedException2: anonymous is missing the Overall/Administer permission
        at com.cloudbees.jenkins.support.impl.JenkinsLogs.<init>(JenkinsLogs.java:46)
      
      1 error
      	at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:52)
      	at com.google.inject.internal.SingletonScope$1.get(SingletonScope.java:145)
      	at hudson.ExtensionFinder$GuiceFinder$FaultTolerantScope$1.get(ExtensionFinder.java:439)
      	at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:41)
      	at com.google.inject.internal.InjectorImpl$2$1.call(InjectorImpl.java:1016)
      	at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1092)
      	at com.google.inject.internal.InjectorImpl$2.get(InjectorImpl.java:1012)
      	at hudson.ExtensionFinder$GuiceFinder._find(ExtensionFinder.java:401)
      	at hudson.ExtensionFinder$GuiceFinder.find(ExtensionFinder.java:392)
      	at hudson.ClassicPluginStrategy.findComponents(ClassicPluginStrategy.java:344)
      	at hudson.ExtensionList.load(ExtensionList.java:381)
      	at hudson.ExtensionList.ensureLoaded(ExtensionList.java:317)
      	at hudson.ExtensionList.iterator(ExtensionList.java:172)
      	at com.cloudbees.jenkins.support.SupportPlugin.postInitialize(SupportPlugin.java:593)
      	at hudson.PluginManager.start(PluginManager.java:954)
      	at hudson.model.UpdateCenter$CompleteBatchJob.run(UpdateCenter.java:2175)
      	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
      	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
      	at hudson.remoting.AtmostOneThreadExecutor$Worker.run(AtmostOneThreadExecutor.java:111)
      	at java.lang.Thread.run(Thread.java:748)
      

      Which causes the "Master Log Recorder" component to not be available in the Support action.

        Attachments

          Issue Links

            Activity

            Hide
            allan_burdajewicz Allan BURDAJEWICZ added a comment -

            When restarting, everything works fine.

            Show
            allan_burdajewicz Allan BURDAJEWICZ added a comment - When restarting, everything works fine.
            Hide
            allan_burdajewicz Allan BURDAJEWICZ added a comment -

            Seems related to the the install of plugins in batch. Seems like the CompleteBatchJob runs in a thread without impersonation.

            Jesse Glick Is this actually a bug in core, where CompleteBatchJob should impersonate SYSTEM ?

            Show
            allan_burdajewicz Allan BURDAJEWICZ added a comment - Seems related to the the install of plugins in batch. Seems like the CompleteBatchJob runs in a thread without impersonation. Jesse Glick Is this actually a bug in core, where CompleteBatchJob should impersonate SYSTEM ?
            Hide
            jglick Jesse Glick added a comment -

            Yes, that sounds like the right fix.

            Show
            jglick Jesse Glick added a comment - Yes, that sounds like the right fix.
            Hide
            jglick Jesse Glick added a comment -
            Show
            jglick Jesse Glick added a comment - Possibly a regression from https://github.com/jenkinsci/jenkins/pull/4124 .
            Hide
            jglick Jesse Glick added a comment -

            Is this confirmed to be a regression? If so, please add the regression label.

            Show
            jglick Jesse Glick added a comment - Is this confirmed to be a regression? If so, please add the regression label.
            Hide
            danielbeck Daniel Beck added a comment -

            Occurs on 2.190.x, I saw this happen on ci.jenkins.io while it still had the support-core plugin (and another reason I lost confidence in it).

            Show
            danielbeck Daniel Beck added a comment - Occurs on 2.190.x, I saw this happen on ci.jenkins.io while it still had the support-core plugin (and another reason I lost confidence in it).
            Hide
            aheritier Arnaud Héritier added a comment -

            I confirm that it's a problem with 2.190.x (reproduced today. No logs in the bundle until your restart (ref JENKINS-60073 to close as duplicated if confirmed)

            Show
            aheritier Arnaud Héritier added a comment - I confirm that it's a problem with 2.190.x (reproduced today. No logs in the bundle until your restart (ref JENKINS-60073 to close as duplicated if confirmed)

              People

              • Assignee:
                allan_burdajewicz Allan BURDAJEWICZ
                Reporter:
                allan_burdajewicz Allan BURDAJEWICZ
              • Votes:
                0 Vote for this issue
                Watchers:
                5 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: