• Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Critical Critical
    • prometheus-plugin
    • None
    • Jenkins 2.198
      prometheus-2.0.6

      Upgrading from 2.0.0 to 2.0.6 causing really very weird issue, not sure how it relates to this plugin, but I can confirm that this version is causing it, as I have double-checked a couple of times and by just rolling back this version alone.

      *For any pipeline job the actual pipeline script window is showing empty though there is actually code in there*

      How to reproduce:

      • Install this plugin and click Configure on any existing pipeline job and see if you can fix the code in the script window.
      • But you can check the config.xml for the same job and see the pipeline code.

      Find attached screenshot.

          [JENKINS-59675] Upgrading to 2.0.6 is causing UI issues in pipelines

          Probably it relates to the exception thrown during the startup:

          2019-10-05 07:14:47.559+0000 [id=31]	WARNING	h.ExtensionFinder$GuiceFinder$FaultTolerantScope$1#error: Failed to instantiate Key[type=org.jenkinsci.plugins.prometheus.service.PrometheusAsyncWorker, annotation=[none]]; skipping this component
          java.lang.IllegalArgumentException: Collector already registered that provides name: default_jenkins_up
          	at io.prometheus.client.CollectorRegistry.register(CollectorRegistry.java:54)
          	at org.jenkinsci.plugins.prometheus.service.DefaultPrometheusMetrics.<init>(DefaultPrometheusMetrics.java:27)
          	at org.jenkinsci.plugins.prometheus.service.DefaultPrometheusMetrics$$FastClassByGuice$$af5295cb.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 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.FactoryProxy.get(FactoryProxy.java:56)
          	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)
          	at com.google.inject.internal.SingletonScope$1.get(SingletonScope.java:145)
          	at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:41)
          	at com.google.inject.internal.SingleParameterInjector.inject(SingleParameterInjector.java:38)
          	at com.google.inject.internal.SingleParameterInjector.getAll(SingleParameterInjector.java:62)
          	at com.google.inject.internal.SingleMethodInjector.inject(SingleMethodInjector.java:84)
          	at com.google.inject.internal.MembersInjectorImpl.injectMembers(MembersInjectorImpl.java:132)
          	at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:114)
          	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 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, java.lang.IllegalArgumentException: Collector already registered that provides name: default_jenkins_up
            at org.jenkinsci.plugins.prometheus.service.DefaultPrometheusMetrics.<init>(DefaultPrometheusMetrics.java:24)
            while locating org.jenkinsci.plugins.prometheus.service.DefaultPrometheusMetrics
            at org.jenkinsci.plugins.prometheus.context.Context.configure(Context.java:13)
            while locating org.jenkinsci.plugins.prometheus.service.PrometheusMetrics
              for parameter 0 at org.jenkinsci.plugins.prometheus.service.PrometheusAsyncWorker.setPrometheusMetrics(PrometheusAsyncWorker.java:26)
          
          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 hudson.ExtensionList.get(ExtensionList.java:149)
          	at jenkins.metrics.api.Metrics$HealthCheckMetricsProvider.getMetricSet(Metrics.java:359)
          	at jenkins.metrics.api.MetricProviderListener.onChange(MetricProviderListener.java:91)
          	at jenkins.metrics.api.MetricProviderListener.attach(MetricProviderListener.java:77)
          	at jenkins.metrics.api.Metrics.afterExtensionsAugmented(Metrics.java:313)
          	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
          	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
          	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
          	at java.lang.reflect.Method.invoke(Method.java:498)
          	at hudson.init.TaskMethodFinder.invoke(TaskMethodFinder.java:104)
          	at hudson.init.TaskMethodFinder$TaskImpl.run(TaskMethodFinder.java:175)
          	at org.jvnet.hudson.reactor.Reactor.runTask(Reactor.java:296)
          	at jenkins.model.Jenkins$5.runTask(Jenkins.java:1121)
          	at org.jvnet.hudson.reactor.Reactor$2.run(Reactor.java:214)
          	at org.jvnet.hudson.reactor.Reactor$Node.run(Reactor.java:117)
          	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
          	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
          	at java.lang.Thread.run(Thread.java:748)
          
          

          Naresh Rayapati added a comment - Probably it relates to the exception thrown during the startup: 2019-10-05 07:14:47.559+0000 [id=31] WARNING h.ExtensionFinder$GuiceFinder$FaultTolerantScope$1#error: Failed to instantiate Key[type=org.jenkinsci.plugins.prometheus.service.PrometheusAsyncWorker, annotation=[none]]; skipping this component java.lang.IllegalArgumentException: Collector already registered that provides name: default_jenkins_up at io.prometheus.client.CollectorRegistry.register(CollectorRegistry.java:54) at org.jenkinsci.plugins.prometheus.service.DefaultPrometheusMetrics.<init>(DefaultPrometheusMetrics.java:27) at org.jenkinsci.plugins.prometheus.service.DefaultPrometheusMetrics$$FastClassByGuice$$af5295cb.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 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.FactoryProxy.get(FactoryProxy.java:56) 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) at com.google.inject.internal.SingletonScope$1.get(SingletonScope.java:145) at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:41) at com.google.inject.internal.SingleParameterInjector.inject(SingleParameterInjector.java:38) at com.google.inject.internal.SingleParameterInjector.getAll(SingleParameterInjector.java:62) at com.google.inject.internal.SingleMethodInjector.inject(SingleMethodInjector.java:84) at com.google.inject.internal.MembersInjectorImpl.injectMembers(MembersInjectorImpl.java:132) at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:114) 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 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, java.lang.IllegalArgumentException: Collector already registered that provides name: default_jenkins_up at org.jenkinsci.plugins.prometheus.service.DefaultPrometheusMetrics.<init>(DefaultPrometheusMetrics.java:24) while locating org.jenkinsci.plugins.prometheus.service.DefaultPrometheusMetrics at org.jenkinsci.plugins.prometheus.context.Context.configure(Context.java:13) while locating org.jenkinsci.plugins.prometheus.service.PrometheusMetrics for parameter 0 at org.jenkinsci.plugins.prometheus.service.PrometheusAsyncWorker.setPrometheusMetrics(PrometheusAsyncWorker.java:26) 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 hudson.ExtensionList.get(ExtensionList.java:149) at jenkins.metrics.api.Metrics$HealthCheckMetricsProvider.getMetricSet(Metrics.java:359) at jenkins.metrics.api.MetricProviderListener.onChange(MetricProviderListener.java:91) at jenkins.metrics.api.MetricProviderListener.attach(MetricProviderListener.java:77) at jenkins.metrics.api.Metrics.afterExtensionsAugmented(Metrics.java:313) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at hudson.init.TaskMethodFinder.invoke(TaskMethodFinder.java:104) at hudson.init.TaskMethodFinder$TaskImpl.run(TaskMethodFinder.java:175) at org.jvnet.hudson.reactor.Reactor.runTask(Reactor.java:296) at jenkins.model.Jenkins$5.runTask(Jenkins.java:1121) at org.jvnet.hudson.reactor.Reactor$2.run(Reactor.java:214) at org.jvnet.hudson.reactor.Reactor$Node.run(Reactor.java:117) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang. Thread .run( Thread .java:748)

          Marky Jackson added a comment -

          Thank you for reporting this and in such great details nrayapati. I will try and reproduce based on the steps you provided. 

          I will do so based on your version of Jenkins and also the LTS version which the latest release code was built off of.

          Give me a day

          Marky Jackson added a comment - Thank you for reporting this and in such great details nrayapati . I will try and reproduce based on the steps you provided.  I will do so based on your version of Jenkins and also the LTS version which the latest release code was built off of. Give me a day

          Im facing the same issue with the LTS versions 2.173.6 and 2.190.1. When I switch back only the prometheus plugin version to 2.0.0 everything works like expected.

          Regards

          Enrico

          Enrico Walther added a comment - Im facing the same issue with the LTS versions 2.173.6 and 2.190.1. When I switch back only the prometheus plugin version to 2.0.0 everything works like expected. Regards Enrico

          Maxim Danilov added a comment -

          We're also facing the exact same issue with version 2.0.6

          2.0.0 works very well.

          Our Jenkins instance is 2.190.1 (LTS)

          jequals5 did you have, by any chance, time to reproduce the behaviour?

          Maxim Danilov added a comment - We're also facing the exact same issue with version 2.0.6 2.0.0 works very well. Our Jenkins instance is 2.190.1 (LTS) jequals5 did you have, by any chance, time to reproduce the behaviour?

          Seems to be duplicate of JENKINS-59145

          Michal Kovarik added a comment - Seems to be duplicate of JENKINS-59145

          Marky Jackson added a comment -

          Please use 2.0.8

          Marky Jackson added a comment - Please use 2.0.8

            jequals5 Marky Jackson
            nrayapati Naresh Rayapati
            Votes:
            2 Vote for this issue
            Watchers:
            5 Start watching this issue

              Created:
              Updated:
              Resolved: