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

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

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Component/s: findbugs-plugin
    • Labels:
      None
    • Environment:
      Hudson, Findbugs, PMD
    • Similar Issues:

      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

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

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

            Show
            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.
            Hide
            drulli Ulli Hafner added a comment -

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

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

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

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

            Thanks a lot, Drulli.

            Show
            tanyunshi tanyunshi added a comment - - edited Thanks a lot, Drulli.
            Hide
            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.

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

            Show
            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

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

                Dates

                • Created:
                  Updated:
                  Resolved: