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

Violations plugin freezes project settings screen

    XMLWordPrintable

Details

    • Bug
    • Status: Open (View Workflow)
    • Major
    • Resolution: Unresolved
    • violations-plugin

    Description

      Jenkins version 2.105. This plugin hangs settings screen of project. When I open project settings, there is gray div with loading word, jenkins' machine CPU is 100% 1 core and that's all. When I comment related section in job configuration file and restart Jenkins, that settings open normally. There is nothing special or no warnings in the log (/var/log/jenkins/jenkins.log).

       

       

      <hudson.plugins.violations.ViolationsPublisher plugin="violations@0.7.11">
      <config>
      <suppressions class="sorted-set"/>
      <typeConfigs>
      <entry>
      <string>checkstyle</string>
      <hudson.plugins.violations.TypeConfig>
      <type>checkstyle</type>
      <min>10</min>
      <max>100</max>
      <unstable>999</unstable>
      <usePattern>false</usePattern>
      <pattern></pattern>
      </hudson.plugins.violations.TypeConfig>
      </entry>
      <entry>
      <string>codenarc</string>
      <hudson.plugins.violations.TypeConfig>
      <type>codenarc</type>
      <min>10</min>
      <max>999</max>
      <unstable>999</unstable>
      <usePattern>false</usePattern>
      <pattern></pattern>
      </hudson.plugins.violations.TypeConfig>
      </entry>
      <entry>
      <string>cpd</string>
      <hudson.plugins.violations.TypeConfig>
      <type>cpd</type>
      <min>30</min>
      <max>100</max>
      <unstable>200</unstable>
      <usePattern>false</usePattern>
      <pattern>out/cpd.xml</pattern>
      </hudson.plugins.violations.TypeConfig>
      </entry>
      <entry>
      <string>cpplint</string>
      <hudson.plugins.violations.TypeConfig>
      <type>cpplint</type>
      <min>10</min>
      <max>999</max>
      <unstable>999</unstable>
      <usePattern>false</usePattern>
      <pattern></pattern>
      </hudson.plugins.violations.TypeConfig>
      </entry>
      <entry>
      <string>csslint</string>
      <hudson.plugins.violations.TypeConfig>
      <type>csslint</type>
      <min>10</min>
      <max>999</max>
      <unstable>999</unstable>
      <usePattern>false</usePattern>
      <pattern></pattern>
      </hudson.plugins.violations.TypeConfig>
      </entry>
      <entry>
      <string>findbugs</string>
      <hudson.plugins.violations.TypeConfig>
      <type>findbugs</type>
      <min>10</min>
      <max>999</max>
      <unstable>999</unstable>
      <usePattern>false</usePattern>
      <pattern></pattern>
      </hudson.plugins.violations.TypeConfig>
      </entry>
      <entry>
      <string>fxcop</string>
      <hudson.plugins.violations.TypeConfig>
      <type>fxcop</type>
      <min>10</min>
      <max>999</max>
      <unstable>999</unstable>
      <usePattern>false</usePattern>
      <pattern></pattern>
      </hudson.plugins.violations.TypeConfig>
      </entry>
      <entry>
      <string>gendarme</string>
      <hudson.plugins.violations.TypeConfig>
      <type>gendarme</type>
      <min>10</min>
      <max>999</max>
      <unstable>999</unstable>
      <usePattern>false</usePattern>
      <pattern></pattern>
      </hudson.plugins.violations.TypeConfig>
      </entry>
      <entry>
      <string>jcreport</string>
      <hudson.plugins.violations.TypeConfig>
      <type>jcreport</type>
      <min>10</min>
      <max>999</max>
      <unstable>999</unstable>
      <usePattern>false</usePattern>
      <pattern></pattern>
      </hudson.plugins.violations.TypeConfig>
      </entry>
      <entry>
      <string>jslint</string>
      <hudson.plugins.violations.TypeConfig>
      <type>jslint</type>
      <min>10</min>
      <max>100</max>
      <unstable>999</unstable>
      <usePattern>false</usePattern>
      <pattern>out/server-jslint.xml</pattern>
      </hudson.plugins.violations.TypeConfig>
      </entry>
      <entry>
      <string>pep8</string>
      <hudson.plugins.violations.TypeConfig>
      <type>pep8</type>
      <min>10</min>
      <max>999</max>
      <unstable>999</unstable>
      <usePattern>false</usePattern>
      <pattern></pattern>
      </hudson.plugins.violations.TypeConfig>
      </entry>
      <entry>
      <string>perlcritic</string>
      <hudson.plugins.violations.TypeConfig>
      <type>perlcritic</type>
      <min>10</min>
      <max>999</max>
      <unstable>999</unstable>
      <usePattern>false</usePattern>
      <pattern></pattern>
      </hudson.plugins.violations.TypeConfig>
      </entry>
      <entry>
      <string>pmd</string>
      <hudson.plugins.violations.TypeConfig>
      <type>pmd</type>
      <min>10</min>
      <max>999</max>
      <unstable>999</unstable>
      <usePattern>false</usePattern>
      <pattern></pattern>
      </hudson.plugins.violations.TypeConfig>
      </entry>
      <entry>
      <string>pylint</string>
      <hudson.plugins.violations.TypeConfig>
      <type>pylint</type>
      <min>50</min>
      <max>500</max>
      <unstable>1000</unstable>
      <usePattern>false</usePattern>
      <pattern></pattern>
      </hudson.plugins.violations.TypeConfig>
      </entry>
      <entry>
      <string>simian</string>
      <hudson.plugins.violations.TypeConfig>
      <type>simian</type>
      <min>10</min>
      <max>999</max>
      <unstable>999</unstable>
      <usePattern>false</usePattern>
      <pattern></pattern>
      </hudson.plugins.violations.TypeConfig>
      </entry>
      <entry>
      <string>stylecop</string>
      <hudson.plugins.violations.TypeConfig>
      <type>stylecop</type>
      <min>10</min>
      <max>999</max>
      <unstable>999</unstable>
      <usePattern>false</usePattern>
      <pattern></pattern>
      </hudson.plugins.violations.TypeConfig>
      </entry>
      </typeConfigs>
      <limit>100</limit>
      <sourcePathPattern></sourcePathPattern>
      <fauxProjectPath></fauxProjectPath>
      <encoding>UTF-8</encoding>
      </config>
      </hudson.plugins.violations.ViolationsPublisher>

       

      Attachments

        Issue Links

          Activity

            oleg_nenashev Oleg Nenashev added a comment -

            It's likely that JENKINS-49630 is actually caused by this issue as well (though the issue is suppressed somehow)

            oleg_nenashev Oleg Nenashev added a comment - It's likely that JENKINS-49630 is actually caused by this issue as well (though the issue is suppressed somehow)

            Recommendation from David Santos works like a charm. A bugfix over this would be awesome, or at least remove the Violation dependency from the Warnings plugin.

            javiercanillas Javier Canillas added a comment - Recommendation from David Santos works like a charm. A bugfix over this would be awesome, or at least remove the Violation dependency from the Warnings plugin.
            danielbeck Daniel Beck added a comment -

            remove the Violation dependency from the Warnings plugin

            It's optional to support migration. You can install Warnings without installing Violations. The related UI problem is tracked as JENKINS-33843.

            danielbeck Daniel Beck added a comment - remove the Violation dependency from the Warnings plugin It's optional to support migration. You can install Warnings without installing Violations. The related UI problem is tracked as JENKINS-33843 .
            jost Jostein Leira added a comment -

            Ran into this problem with version LTS 2.107 and the Violations plugin. Uninstalled the Violations plugin as David Santos suggested and Javier Canillas confirmed, solved the problem for me.

            jost Jostein Leira added a comment - Ran into this problem with version LTS 2.107 and the Violations plugin. Uninstalled the Violations plugin as David Santos suggested and Javier Canillas confirmed, solved the problem for me.
            mag Petr H added a comment -

            I encountered a very similar issue during the Jenkins startup after it's been updated from 2.107.2 to 2.107.3. Downgraded to 2.107.2 for now and will look into the possibility to remove the Violations plugin.
            During the startup jenkins.log ends up at:

            May 11, 2018 6:45:12 PM jenkins.InitReactorRunner$1 onAttained
            INFO: Prepared all plugins

            And one thread can be seen utilizing 100% CPU and doing the following:

            "Initializing plugin sonar" #34 daemon prio=5 os_prio=0 tid=0x00007fc6e400e800 nid=0x4700 runnable [0x00007fc7129cb000]
               java.lang.Thread.State: RUNNABLE
                    at org.kxml2.io.KXmlParser.next(Unknown Source)
                    at hudson.plugins.violations.types.findbugs.FindBugsDescriptor$ParseMessages.toTag(FindBugsDescriptor.java:141)
                    at hudson.plugins.violations.types.findbugs.FindBugsDescriptor$ParseMessages.doIt(FindBugsDescriptor.java:123)
                    at hudson.plugins.violations.types.findbugs.FindBugsDescriptor$ParseMessages.execute(FindBugsDescriptor.java:115)
                    at hudson.plugins.violations.parse.ParseXML.parse(ParseXML.java:44)
                    at hudson.plugins.violations.types.findbugs.FindBugsDescriptor.parseMessages(FindBugsDescriptor.java:102)
                    at hudson.plugins.violations.types.findbugs.FindBugsDescriptor.parseMessages(FindBugsDescriptor.java:93)
                    at hudson.plugins.violations.types.findbugs.FindBugsDescriptor.<clinit>(FindBugsDescriptor.java:88)
                    at hudson.plugins.violations.TypeDescriptor.<clinit>(TypeDescriptor.java:95)
                    at org.jenkinsci.plugins.jvcts.config.ViolationsToBitbucketServerConfigHelper.createNewConfig(ViolationsToBitbucketServerConfigHelper.java:38)
                    at org.jenkinsci.plugins.jvcts.ViolationsToBitbucketServerDescriptor.<init>(ViolationsToBitbucketServerDescriptor.java:31)
                    at org.jenkinsci.plugins.jvcts.ViolationsToBitbucketServerRecorder.<clinit>(ViolationsToBitbucketServerRecorder.java:23)
                    at sun.misc.Unsafe.ensureClassInitialized(Native Method)
                    at sun.reflect.UnsafeFieldAccessorFactory.newFieldAccessor(UnsafeFieldAccessorFactory.java:43)
                    at sun.reflect.ReflectionFactory.newFieldAccessor(ReflectionFactory.java:142)
                    at java.lang.reflect.Field.acquireFieldAccessor(Field.java:1088)
                    at java.lang.reflect.Field.getFieldAccessor(Field.java:1069)
                    at java.lang.reflect.Field.get(Field.java:393)
                    at net.java.sezpoz.IndexItem.instance(IndexItem.java:185)
                    at hudson.ExtensionFinder$GuiceFinder.instantiate(ExtensionFinder.java:353)
                    at hudson.ExtensionFinder$GuiceFinder.access$700(ExtensionFinder.java:232)
                    at hudson.ExtensionFinder$GuiceFinder$SezpozModule$1.get(ExtensionFinder.java:526)
                    at com.google.inject.internal.ProviderInternalFactory.provision(ProviderInternalFactory.java:81)
                    at com.google.inject.internal.InternalFactoryToInitializableAdapter.provision(InternalFactoryToInitializableAdapter.java:53)
                    at com.google.inject.internal.ProviderInternalFactory.circularGet(ProviderInternalFactory.java:61)
                    at com.google.inject.internal.InternalFactoryToInitializableAdapter.get(InternalFactoryToInitializableAdapter.java:45)
                    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 hudson.ExtensionFinder$GuiceFinder$FaultTolerantScope$1.get(ExtensionFinder.java:424)
                    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:386)
                    at hudson.ExtensionFinder$GuiceFinder.find(ExtensionFinder.java:377)
                    at hudson.ClassicPluginStrategy.findComponents(ClassicPluginStrategy.java:482)
                    at hudson.ExtensionList.load(ExtensionList.java:366)
                    at hudson.ExtensionList.ensureLoaded(ExtensionList.java:304)
                    - locked <0x00000006402d9db8> (a hudson.ExtensionList$Lock)
                    at hudson.ExtensionList.iterator(ExtensionList.java:158)
                    at jenkins.model.Jenkins.getDescriptorByType(Jenkins.java:1518)
                    at hudson.plugins.sonar.SonarGlobalConfiguration.migrate(SonarGlobalConfiguration.java:96)
                    - locked <0x000000062db55158> (a hudson.plugins.sonar.SonarGlobalConfiguration)
                    at hudson.plugins.sonar.SonarPlugin.postInitialize(SonarPlugin.java:48)
                    at hudson.PluginManager$2$1$2.run(PluginManager.java:540)
                    at org.jvnet.hudson.reactor.TaskGraphBuilder$TaskImpl.run(TaskGraphBuilder.java:169)
                    at org.jvnet.hudson.reactor.Reactor.runTask(Reactor.java:296)
                    at jenkins.model.Jenkins$5.runTask(Jenkins.java:1062)
                    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:1142)
                    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
                    at java.lang.Thread.run(Thread.java:745)
            mag Petr H added a comment - I encountered a very similar issue during the Jenkins startup after it's been updated from 2.107.2 to 2.107.3. Downgraded to 2.107.2 for now and will look into the possibility to remove the Violations plugin. During the startup jenkins.log ends up at: May 11, 2018 6:45:12 PM jenkins.InitReactorRunner$1 onAttained INFO: Prepared all plugins And one thread can be seen utilizing 100% CPU and doing the following: "Initializing plugin sonar" #34 daemon prio=5 os_prio=0 tid=0x00007fc6e400e800 nid=0x4700 runnable [0x00007fc7129cb000] java.lang.Thread.State: RUNNABLE at org.kxml2.io.KXmlParser.next(Unknown Source) at hudson.plugins.violations.types.findbugs.FindBugsDescriptor$ParseMessages.toTag(FindBugsDescriptor.java:141) at hudson.plugins.violations.types.findbugs.FindBugsDescriptor$ParseMessages.doIt(FindBugsDescriptor.java:123) at hudson.plugins.violations.types.findbugs.FindBugsDescriptor$ParseMessages.execute(FindBugsDescriptor.java:115) at hudson.plugins.violations.parse.ParseXML.parse(ParseXML.java:44) at hudson.plugins.violations.types.findbugs.FindBugsDescriptor.parseMessages(FindBugsDescriptor.java:102) at hudson.plugins.violations.types.findbugs.FindBugsDescriptor.parseMessages(FindBugsDescriptor.java:93) at hudson.plugins.violations.types.findbugs.FindBugsDescriptor.<clinit>(FindBugsDescriptor.java:88) at hudson.plugins.violations.TypeDescriptor.<clinit>(TypeDescriptor.java:95) at org.jenkinsci.plugins.jvcts.config.ViolationsToBitbucketServerConfigHelper.createNewConfig(ViolationsToBitbucketServerConfigHelper.java:38) at org.jenkinsci.plugins.jvcts.ViolationsToBitbucketServerDescriptor.<init>(ViolationsToBitbucketServerDescriptor.java:31) at org.jenkinsci.plugins.jvcts.ViolationsToBitbucketServerRecorder.<clinit>(ViolationsToBitbucketServerRecorder.java:23) at sun.misc.Unsafe.ensureClassInitialized(Native Method) at sun.reflect.UnsafeFieldAccessorFactory.newFieldAccessor(UnsafeFieldAccessorFactory.java:43) at sun.reflect.ReflectionFactory.newFieldAccessor(ReflectionFactory.java:142) at java.lang.reflect.Field.acquireFieldAccessor(Field.java:1088) at java.lang.reflect.Field.getFieldAccessor(Field.java:1069) at java.lang.reflect.Field.get(Field.java:393) at net.java.sezpoz.IndexItem.instance(IndexItem.java:185) at hudson.ExtensionFinder$GuiceFinder.instantiate(ExtensionFinder.java:353) at hudson.ExtensionFinder$GuiceFinder.access$700(ExtensionFinder.java:232) at hudson.ExtensionFinder$GuiceFinder$SezpozModule$1.get(ExtensionFinder.java:526) at com.google.inject.internal.ProviderInternalFactory.provision(ProviderInternalFactory.java:81) at com.google.inject.internal.InternalFactoryToInitializableAdapter.provision(InternalFactoryToInitializableAdapter.java:53) at com.google.inject.internal.ProviderInternalFactory.circularGet(ProviderInternalFactory.java:61) at com.google.inject.internal.InternalFactoryToInitializableAdapter.get(InternalFactoryToInitializableAdapter.java:45) 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 hudson.ExtensionFinder$GuiceFinder$FaultTolerantScope$1.get(ExtensionFinder.java:424) 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:386) at hudson.ExtensionFinder$GuiceFinder.find(ExtensionFinder.java:377) at hudson.ClassicPluginStrategy.findComponents(ClassicPluginStrategy.java:482) at hudson.ExtensionList.load(ExtensionList.java:366) at hudson.ExtensionList.ensureLoaded(ExtensionList.java:304) - locked <0x00000006402d9db8> (a hudson.ExtensionList$Lock) at hudson.ExtensionList.iterator(ExtensionList.java:158) at jenkins.model.Jenkins.getDescriptorByType(Jenkins.java:1518) at hudson.plugins.sonar.SonarGlobalConfiguration.migrate(SonarGlobalConfiguration.java:96) - locked <0x000000062db55158> (a hudson.plugins.sonar.SonarGlobalConfiguration) at hudson.plugins.sonar.SonarPlugin.postInitialize(SonarPlugin.java:48) at hudson.PluginManager$2$1$2.run(PluginManager.java:540) at org.jvnet.hudson.reactor.TaskGraphBuilder$TaskImpl.run(TaskGraphBuilder.java:169) at org.jvnet.hudson.reactor.Reactor.runTask(Reactor.java:296) at jenkins.model.Jenkins$5.runTask(Jenkins.java:1062) 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:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745)

            People

              Unassigned Unassigned
              senseysensor Alex Al
              Votes:
              4 Vote for this issue
              Watchers:
              11 Start watching this issue

              Dates

                Created:
                Updated: