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

Identify warnings - The analysis-core gives different contextHashCode for the same warnings

    XMLWordPrintable

Details

    • Bug
    • Status: Closed (View Workflow)
    • Major
    • Resolution: Fixed
    • findbugs-plugin
    • None
    • Hudson, Findbugs, PMD

    Description

      I think the 'contextHashCode' depends on the seven lines around the warning line (up 3, down 3, warning in the centre).

      But if I add one/several lines in the java code, the same number of new and fixed warnings appear, meaning that the same warnings in the current and old build can not be identified.

      In a simple case,the source is,

      package foo;
      
      /**
       * Hello world!
       *
       */
      public class App 
      {                                                                          
          public static void main( String[] args )                                   
          {
              System.out.println( "Hello World!!!" );                                   
          }
      	public boolean equals(Object o){
      		return true;
      		}	
           			
         }
      
      

      Then I add one line in the top of the file, which does not affect the code;

      But the build result tells that there are two new warnings and fixed warnings;(see pic1)

      And I find that the contextHashCode of the warnings in the current build and old builds are not the same.(see findbugs-warnings (1).xml and findbugs-warnings .xml)

      Attachments

        Issue Links

          Activity

            drulli Ulli Hafner added a comment -

            Actually for findbugs the instanceHash field should be used to check for equal warnings. This seems to be broken (the instanceHash is the same in both of your files).

            drulli Ulli Hafner added a comment - Actually for findbugs the instanceHash field should be used to check for equal warnings. This seems to be broken (the instanceHash is the same in both of your files).

            Code changed in hudson
            User: : drulli
            Path:
            trunk/hudson/plugins/findbugs/plugin/src/main/java/hudson/plugins/findbugs/parser/Bug.java
            trunk/hudson/plugins/findbugs/plugin/src/test/java/hudson/plugins/findbugs/parser/BugsDifferencerTest.java
            trunk/hudson/plugins/findbugs/plugin/src/test/resources/hudson/plugins/findbugs/parser/issue-6669-1.xml
            trunk/hudson/plugins/findbugs/plugin/src/test/resources/hudson/plugins/findbugs/parser/issue-6669-2.xml
            http://jenkins-ci.org/commit/31565
            Log:
            [FIXED JENKINS-6669] Don't use super when computing hashCode.

            scm_issue_link SCM/JIRA link daemon added a comment - Code changed in hudson User: : drulli Path: trunk/hudson/plugins/findbugs/plugin/src/main/java/hudson/plugins/findbugs/parser/Bug.java trunk/hudson/plugins/findbugs/plugin/src/test/java/hudson/plugins/findbugs/parser/BugsDifferencerTest.java trunk/hudson/plugins/findbugs/plugin/src/test/resources/hudson/plugins/findbugs/parser/issue-6669-1.xml trunk/hudson/plugins/findbugs/plugin/src/test/resources/hudson/plugins/findbugs/parser/issue-6669-2.xml http://jenkins-ci.org/commit/31565 Log: [FIXED JENKINS-6669] Don't use super when computing hashCode.
            drulli Ulli Hafner added a comment -

            Integrated in Hudson Plug-ins (Compile) #6
            [FIXED JENKINS-6669] Don't use super when computing hashCode.

            drulli Ulli Hafner added a comment - Integrated in Hudson Plug-ins (Compile) #6 [FIXED JENKINS-6669] Don't use super when computing hashCode.
            drulli Ulli Hafner added a comment -

            Integrated in Hudson Plug-ins #87
            [FIXED JENKINS-6669] Don't use super when computing hashCode.

            drulli Ulli Hafner added a comment - Integrated in Hudson Plug-ins #87 [FIXED JENKINS-6669] Don't use super when computing hashCode.
            tanyunshi tanyunshi added a comment - - edited

            Thanks a lot, Drulli.

            tanyunshi tanyunshi added a comment - - edited Thanks a lot, Drulli.
            xavierhanin xavierhanin added a comment -

            I saw the same issue with the gcc warning plugin.
            Having it fixed in findbugs component, would it also be fixed for GCC warning parser?

            Best Regards,

            Xavie.

            xavierhanin xavierhanin added a comment - I saw the same issue with the gcc warning plugin. Having it fixed in findbugs component, would it also be fixed for GCC warning parser? Best Regards, Xavie.
            drulli Ulli Hafner added a comment -

            No, this fix is for findbugs only, which has an internal algorithm to identify identical warnings. If the generic (and simple) duplication detection does not work for gcc warnings then please create another issue with an example.

            drulli Ulli Hafner added a comment - No, this fix is for findbugs only, which has an internal algorithm to identify identical warnings. If the generic (and simple) duplication detection does not work for gcc warnings then please create another issue with an example.

            People

              drulli Ulli Hafner
              tanyunshi tanyunshi
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: