-
Bug
-
Resolution: Fixed
-
Major
-
None
-
jobConfigHistory:1176.v1b_4290db_41a_5 or later
-
-
1207.vd28a_54732f92
Jenkins startup components are not properly loaded due to a circular dependency:
2023-03-07 06:04:55.065+0000 [id=53] WARNING h.ExtensionFinder$GuiceFinder$FaultTolerantScope$1#error: Failed to instantiate Key[type=jenkins.telemetry.Correlator, annotation=[none]]; skipping this component com.google.inject.ProvisionException: Unable to provision, see the following errors: 1) [Guice/CanNotProxyClass]: Tried proxying Correlator to support a circular dependency, but it is not an interface. Learn more: https://github.com/google/guice/wiki/CAN_NOT_PROXY_CLASS 1 error ====================== Full classname legend: ====================== Correlator: "jenkins.telemetry.Correlator" ======================== End of classname legend: ======================== at com.google.inject.internal.InternalProvisionException.toProvisionException(InternalProvisionException.java:251) at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:43) at com.google.inject.internal.SingletonScope$1.get(SingletonScope.java:169) at hudson.ExtensionFinder$GuiceFinder$FaultTolerantScope$1.get(ExtensionFinder.java:445) at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:45) at com.google.inject.internal.InjectorImpl$1.get(InjectorImpl.java:1101) at hudson.ExtensionFinder$GuiceFinder._find(ExtensionFinder.java:403) at hudson.ExtensionFinder$GuiceFinder.find(ExtensionFinder.java:394) at hudson.ClassicPluginStrategy.findComponents(ClassicPluginStrategy.java:359) at hudson.ExtensionList.load(ExtensionList.java:384) at hudson.ExtensionList.ensureLoaded(ExtensionList.java:320) at hudson.ExtensionList.getComponents(ExtensionList.java:184) at hudson.DescriptorExtensionList.load(DescriptorExtensionList.java:213) at hudson.ExtensionList.ensureLoaded(ExtensionList.java:320) at hudson.ExtensionList.iterator(ExtensionList.java:172) at hudson.ExtensionList.get(ExtensionList.java:149) at hudson.plugins.jobConfigHistory.PluginUtils.getPlugin(PluginUtils.java:58) at hudson.plugins.jobConfigHistory.JobConfigHistorySaveableListener.getPlugin(JobConfigHistorySaveableListener.java:73) at hudson.plugins.jobConfigHistory.JobConfigHistorySaveableListener.onChange(JobConfigHistorySaveableListener.java:57) at hudson.model.listeners.SaveableListener.fireOnChange(SaveableListener.java:82) at hudson.model.Descriptor.save(Descriptor.java:913) at org.jenkinsci.plugins.prometheus.config.PrometheusConfiguration.setPath(PrometheusConfiguration.java:116) at org.jenkinsci.plugins.prometheus.config.PrometheusConfiguration.<init>(PrometheusConfiguration.java:67) at org.jenkinsci.plugins.prometheus.config.PrometheusConfiguration$$FastClassByGuice$$621878535.GUICE$TRAMPOLINE(<generated>) at org.jenkinsci.plugins.prometheus.config.PrometheusConfiguration$$FastClassByGuice$$621878535.apply(<generated>) at com.google.inject.internal.DefaultConstructionProxyFactory$FastClassProxy.newInstance(DefaultConstructionProxyFactory.java:82) at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:114) at com.google.inject.internal.ConstructorInjector.access$000(ConstructorInjector.java:33) at com.google.inject.internal.ConstructorInjector$1.call(ConstructorInjector.java:98) at com.google.inject.internal.ProvisionListenerStackCallback$Provision.provision(ProvisionListenerStackCallback.java:109) at hudson.ExtensionFinder$GuiceFinder$SezpozModule.onProvision(ExtensionFinder.java:607) at com.google.inject.internal.ProvisionListenerStackCallback$Provision.provision(ProvisionListenerStackCallback.java:117) at com.google.inject.internal.ProvisionListenerStackCallback.provision(ProvisionListenerStackCallback.java:66) at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:93) at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:300) at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40) at com.google.inject.internal.SingletonScope$1.get(SingletonScope.java:169) at hudson.ExtensionFinder$GuiceFinder$FaultTolerantScope$1.get(ExtensionFinder.java:445) at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:45) at com.google.inject.internal.InjectorImpl$1.get(InjectorImpl.java:1101) at hudson.ExtensionFinder$GuiceFinder._find(ExtensionFinder.java:403) at hudson.ExtensionFinder$GuiceFinder.find(ExtensionFinder.java:394) at hudson.ClassicPluginStrategy.findComponents(ClassicPluginStrategy.java:359) at hudson.ExtensionList.load(ExtensionList.java:384) at hudson.ExtensionList.ensureLoaded(ExtensionList.java:320) at hudson.ExtensionList.getComponents(ExtensionList.java:184) at hudson.DescriptorExtensionList.load(DescriptorExtensionList.java:213) at hudson.ExtensionList.ensureLoaded(ExtensionList.java:320) at hudson.ExtensionList.iterator(ExtensionList.java:172) at hudson.ExtensionList.get(ExtensionList.java:149) at hudson.plugins.jobConfigHistory.PluginUtils.getPlugin(PluginUtils.java:58) at hudson.plugins.jobConfigHistory.JobConfigHistorySaveableListener.getPlugin(JobConfigHistorySaveableListener.java:73) at hudson.plugins.jobConfigHistory.JobConfigHistorySaveableListener.onChange(JobConfigHistorySaveableListener.java:57) at hudson.model.listeners.SaveableListener.fireOnChange(SaveableListener.java:82) at hudson.model.Descriptor.save(Descriptor.java:913) at jenkins.telemetry.Correlator.<init>(Correlator.java:52) at jenkins.telemetry.Correlator$$FastClassByGuice$$322388084.GUICE$TRAMPOLINE(<generated>) at jenkins.telemetry.Correlator$$FastClassByGuice$$322388084.apply(<generated>) at com.google.inject.internal.DefaultConstructionProxyFactory$FastClassProxy.newInstance(DefaultConstructionProxyFactory.java:82) at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:114) at com.google.inject.internal.ConstructorInjector.access$000(ConstructorInjector.java:33) at com.google.inject.internal.ConstructorInjector$1.call(ConstructorInjector.java:98) at com.google.inject.internal.ProvisionListenerStackCallback$Provision.provision(ProvisionListenerStackCallback.java:109) at hudson.ExtensionFinder$GuiceFinder$SezpozModule.onProvision(ExtensionFinder.java:607) at com.google.inject.internal.ProvisionListenerStackCallback$Provision.provision(ProvisionListenerStackCallback.java:117) at com.google.inject.internal.ProvisionListenerStackCallback.provision(ProvisionListenerStackCallback.java:66) at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:93) at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:300) at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40) at com.google.inject.internal.SingletonScope$1.get(SingletonScope.java:169) at hudson.ExtensionFinder$GuiceFinder$FaultTolerantScope$1.get(ExtensionFinder.java:445) at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:45) at com.google.inject.internal.InjectorImpl$1.get(InjectorImpl.java:1101) at hudson.ExtensionFinder$GuiceFinder._find(ExtensionFinder.java:403) at hudson.ExtensionFinder$GuiceFinder.find(ExtensionFinder.java:394) at hudson.ClassicPluginStrategy.findComponents(ClassicPluginStrategy.java:359) at hudson.ExtensionList.load(ExtensionList.java:384) at hudson.ExtensionList.ensureLoaded(ExtensionList.java:320) at hudson.ExtensionList.iterator(ExtensionList.java:172) at hudson.diagnosis.NullIdDescriptorMonitor.verify(NullIdDescriptorMonitor.java:72) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at hudson.init.TaskMethodFinder.invoke(TaskMethodFinder.java:109) at hudson.init.TaskMethodFinder$TaskImpl.run(TaskMethodFinder.java:185) at org.jvnet.hudson.reactor.Reactor.runTask(Reactor.java:305) at jenkins.model.Jenkins$5.runTask(Jenkins.java:1164) at org.jvnet.hudson.reactor.Reactor$2.run(Reactor.java:221) at org.jvnet.hudson.reactor.Reactor$Node.run(Reactor.java:120) at jenkins.security.ImpersonatingExecutorService$1.run(ImpersonatingExecutorService.java:68) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) at java.base/java.lang.Thread.run(Thread.java:829)
This also happens when the Prometheus plugin is installed:
2023-03-07 06:04:55.069+0000 [id=53] WARNING h.ExtensionFinder$GuiceFinder$FaultTolerantScope$1#error: Failed to instantiate Key[type=org.jenkinsci.plugins.prometheus.config.PrometheusConfiguration, annotation=[none]]; skipping this component com.google.inject.ProvisionException: Unable to provision, see the following errors: 1) [Guice/CanNotProxyClass]: Tried proxying PrometheusConfiguration to support a circular dependency, but it is not an interface. Learn more: https://github.com/google/guice/wiki/CAN_NOT_PROXY_CLASS 1 error ====================== Full classname legend: ====================== PrometheusConfiguration: "org.jenkinsci.plugins.prometheus.config.PrometheusConfiguration" ======================== End of classname legend: ======================== at com.google.inject.internal.InternalProvisionException.toProvisionException(InternalProvisionException.java:251) at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:43) at com.google.inject.internal.SingletonScope$1.get(SingletonScope.java:169) at hudson.ExtensionFinder$GuiceFinder$FaultTolerantScope$1.get(ExtensionFinder.java:445) at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:45) at com.google.inject.internal.InjectorImpl$1.get(InjectorImpl.java:1101) at hudson.ExtensionFinder$GuiceFinder._find(ExtensionFinder.java:403) at hudson.ExtensionFinder$GuiceFinder.find(ExtensionFinder.java:394) at hudson.ClassicPluginStrategy.findComponents(ClassicPluginStrategy.java:359) at hudson.ExtensionList.load(ExtensionList.java:384) at hudson.ExtensionList.ensureLoaded(ExtensionList.java:320) at hudson.ExtensionList.getComponents(ExtensionList.java:184) at hudson.DescriptorExtensionList.load(DescriptorExtensionList.java:213) at hudson.ExtensionList.ensureLoaded(ExtensionList.java:320) at hudson.ExtensionList.iterator(ExtensionList.java:172) at hudson.ExtensionList.get(ExtensionList.java:149) at hudson.plugins.jobConfigHistory.PluginUtils.getPlugin(PluginUtils.java:58) at hudson.plugins.jobConfigHistory.JobConfigHistorySaveableListener.getPlugin(JobConfigHistorySaveableListener.java:73) at hudson.plugins.jobConfigHistory.JobConfigHistorySaveableListener.onChange(JobConfigHistorySaveableListener.java:57) at hudson.model.listeners.SaveableListener.fireOnChange(SaveableListener.java:82) at hudson.model.Descriptor.save(Descriptor.java:913) at org.jenkinsci.plugins.prometheus.config.PrometheusConfiguration.setPath(PrometheusConfiguration.java:116) at org.jenkinsci.plugins.prometheus.config.PrometheusConfiguration.<init>(PrometheusConfiguration.java:67) at org.jenkinsci.plugins.prometheus.config.PrometheusConfiguration$$FastClassByGuice$$621878535.GUICE$TRAMPOLINE(<generated>) at org.jenkinsci.plugins.prometheus.config.PrometheusConfiguration$$FastClassByGuice$$621878535.apply(<generated>) at com.google.inject.internal.DefaultConstructionProxyFactory$FastClassProxy.newInstance(DefaultConstructionProxyFactory.java:82) at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:114) at com.google.inject.internal.ConstructorInjector.access$000(ConstructorInjector.java:33) at com.google.inject.internal.ConstructorInjector$1.call(ConstructorInjector.java:98) at com.google.inject.internal.ProvisionListenerStackCallback$Provision.provision(ProvisionListenerStackCallback.java:109) at hudson.ExtensionFinder$GuiceFinder$SezpozModule.onProvision(ExtensionFinder.java:607) at com.google.inject.internal.ProvisionListenerStackCallback$Provision.provision(ProvisionListenerStackCallback.java:117) at com.google.inject.internal.ProvisionListenerStackCallback.provision(ProvisionListenerStackCallback.java:66) at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:93) at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:300) at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40) at com.google.inject.internal.SingletonScope$1.get(SingletonScope.java:169) at hudson.ExtensionFinder$GuiceFinder$FaultTolerantScope$1.get(ExtensionFinder.java:445) at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:45) at com.google.inject.internal.InjectorImpl$1.get(InjectorImpl.java:1101) at hudson.ExtensionFinder$GuiceFinder._find(ExtensionFinder.java:403) at hudson.ExtensionFinder$GuiceFinder.find(ExtensionFinder.java:394) at hudson.ClassicPluginStrategy.findComponents(ClassicPluginStrategy.java:359) at hudson.ExtensionList.load(ExtensionList.java:384) at hudson.ExtensionList.ensureLoaded(ExtensionList.java:320) at hudson.ExtensionList.getComponents(ExtensionList.java:184) at hudson.DescriptorExtensionList.load(DescriptorExtensionList.java:213) at hudson.ExtensionList.ensureLoaded(ExtensionList.java:320) at hudson.ExtensionList.iterator(ExtensionList.java:172) at hudson.ExtensionList.get(ExtensionList.java:149) at hudson.plugins.jobConfigHistory.PluginUtils.getPlugin(PluginUtils.java:58) at hudson.plugins.jobConfigHistory.JobConfigHistorySaveableListener.getPlugin(JobConfigHistorySaveableListener.java:73) at hudson.plugins.jobConfigHistory.JobConfigHistorySaveableListener.onChange(JobConfigHistorySaveableListener.java:57) at hudson.model.listeners.SaveableListener.fireOnChange(SaveableListener.java:82) at hudson.model.Descriptor.save(Descriptor.java:913) at jenkins.telemetry.Correlator.<init>(Correlator.java:52) at jenkins.telemetry.Correlator$$FastClassByGuice$$322388084.GUICE$TRAMPOLINE(<generated>) at jenkins.telemetry.Correlator$$FastClassByGuice$$322388084.apply(<generated>) at com.google.inject.internal.DefaultConstructionProxyFactory$FastClassProxy.newInstance(DefaultConstructionProxyFactory.java:82) at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:114) at com.google.inject.internal.ConstructorInjector.access$000(ConstructorInjector.java:33) at com.google.inject.internal.ConstructorInjector$1.call(ConstructorInjector.java:98) at com.google.inject.internal.ProvisionListenerStackCallback$Provision.provision(ProvisionListenerStackCallback.java:109) at hudson.ExtensionFinder$GuiceFinder$SezpozModule.onProvision(ExtensionFinder.java:607) at com.google.inject.internal.ProvisionListenerStackCallback$Provision.provision(ProvisionListenerStackCallback.java:117) at com.google.inject.internal.ProvisionListenerStackCallback.provision(ProvisionListenerStackCallback.java:66) at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:93) at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:300) at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40) at com.google.inject.internal.SingletonScope$1.get(SingletonScope.java:169) at hudson.ExtensionFinder$GuiceFinder$FaultTolerantScope$1.get(ExtensionFinder.java:445) at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:45) at com.google.inject.internal.InjectorImpl$1.get(InjectorImpl.java:1101) at hudson.ExtensionFinder$GuiceFinder._find(ExtensionFinder.java:403) at hudson.ExtensionFinder$GuiceFinder.find(ExtensionFinder.java:394) at hudson.ClassicPluginStrategy.findComponents(ClassicPluginStrategy.java:359) at hudson.ExtensionList.load(ExtensionList.java:384) at hudson.ExtensionList.ensureLoaded(ExtensionList.java:320) at hudson.ExtensionList.iterator(ExtensionList.java:172) at hudson.diagnosis.NullIdDescriptorMonitor.verify(NullIdDescriptorMonitor.java:72) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at hudson.init.TaskMethodFinder.invoke(TaskMethodFinder.java:109) at hudson.init.TaskMethodFinder$TaskImpl.run(TaskMethodFinder.java:185) at org.jvnet.hudson.reactor.Reactor.runTask(Reactor.java:305) at jenkins.model.Jenkins$5.runTask(Jenkins.java:1164) at org.jvnet.hudson.reactor.Reactor$2.run(Reactor.java:221) at org.jvnet.hudson.reactor.Reactor$Node.run(Reactor.java:120) at jenkins.security.ImpersonatingExecutorService$1.run(ImpersonatingExecutorService.java:68) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) at java.base/java.lang.Thread.run(Thread.java:829)
In those stacktraces, we see the jobConfigHistory twice in the stacktrace. Per my understanding it is the culprit.
- is caused by
-
JENKINS-55667 Configure "Job Configuration History" plugin with "Configuration as Code"
- Closed
- is related to
-
JENKINS-70352 Jenkins crashes on (safe) restart
- Fixed but Unreleased
- links to