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

Violations plugin freezes project settings screen

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Open (View Workflow)
    • Priority: Major
    • Resolution: Unresolved
    • Component/s: violations-plugin
    • Environment:
    • Similar Issues:

      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

            Hide
            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)

            Show
            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)
            Hide
            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.

            Show
            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.
            Hide
            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.

            Show
            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 .
            Hide
            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.

            Show
            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.
            Hide
            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)
            Show
            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

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

                Dates

                • Created:
                  Updated: