• Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Major Major
    • pmd-plugin, warnings-plugin
    • Jenkins v. 1.554.2
      PMD Plugin v. 3.38.
      Static Code Analysis Plugins v. 1.58

      Hello.
      I've got a problem with computing new warnings functional.
      When I add a new PMD rule to my ruleset, I get odd results.
      Test case:

      1. Start the first build.
        See summary and full results.
      2. Add a new PMD rule to rule set and start the second build.
        Rule 'LongVariable' was added. The summary contains only 192 new warnings instead of 267 (==3126-2859).
        Moreover, full result contains 267 warning for new 'LongVariable' rule (match against first result).
      3. Go to job configuration, check 'Use delta for new warnings' check box and start the third build.
        The result changed.
        The summary contains both 192 and 267 new warnings on the same page.
        Besides, link '267 new warnings' opens a page with 192 new warnings.
        I suppose that the number of new warning should always be 267 in the example.

        1. build_1_full.png
          build_1_full.png
          56 kB
        2. build_1_sum.png
          build_1_sum.png
          6 kB
        3. build_2_full.png
          build_2_full.png
          57 kB
        4. build_2_sum.png
          build_2_sum.png
          7 kB
        5. build_3_full.png
          build_3_full.png
          57 kB
        6. build_3_sum.png
          build_3_sum.png
          7 kB
        7. new_build_1_sum.png
          new_build_1_sum.png
          6 kB
        8. new_build_2_new.png
          new_build_2_new.png
          4 kB
        9. new_build_2_sum.png
          new_build_2_sum.png
          6 kB
        10. new_build_3_new.png
          new_build_3_new.png
          4 kB
        11. new_build_3_sum.png
          new_build_3_sum.png
          6 kB
        12. tc_1_log.png
          tc_1_log.png
          13 kB
        13. tc_2_log.png
          tc_2_log.png
          14 kB
        14. tc_3_log.png
          tc_3_log.png
          14 kB

          [JENKINS-24873] Wrong number of new warnings

          Thank you, Ulli!
          I've tested the 3.39-SNAPSHOT version from your CI server and the problem hasn't reproduced.
          I'm looking forward to plugin release!

          Sergey Ryazantsev added a comment - Thank you, Ulli! I've tested the 3.39-SNAPSHOT version from your CI server and the problem hasn't reproduced. I'm looking forward to plugin release!

          Thank you for your work, Ulli.

          Sergey Ryazantsev added a comment - Thank you for your work, Ulli.

          Sergey Ryazantsev added a comment - - edited

          Hello, Ulli.

          I've faced with related problem on another project.
          Test case:

          1. Start the first build.
            See summary result.
          2. Change source code, check "Use delta for new warnings" check box and start the second build.
            The numbers of new NORMAL priority warnings are different: 2 in sum result and 3 on new warning page.
          3. Uncheck "Use delta for new warnings" check box and start the third build.
            The numbers of new NORMAL priority warnings become the same: 3 in sum result and 3 on new warning page.

          It seems that is case "Use delta for new warnings" check box is checked, another algorithm is used only for build summary page. But for a new warnings page generation is used the same algorithm as in case "Use delta for new warnings" check box is unchecked.

          I suppose that number of new warnings of a particular priority on new warning page should always be the same as on build summary page.

          Sergey Ryazantsev added a comment - - edited Hello, Ulli. I've faced with related problem on another project. Test case: Start the first build. See summary result. Change source code, check "Use delta for new warnings" check box and start the second build. The numbers of new NORMAL priority warnings are different: 2 in sum result and 3 on new warning page . Uncheck "Use delta for new warnings" check box and start the third build. The numbers of new NORMAL priority warnings become the same: 3 in sum result and 3 on new warning page . It seems that is case "Use delta for new warnings" check box is checked, another algorithm is used only for build summary page. But for a new warnings page generation is used the same algorithm as in case "Use delta for new warnings" check box is unchecked. I suppose that number of new warnings of a particular priority on new warning page should always be the same as on build summary page.

          Any updates, Ulli?

          Sergey Ryazantsev added a comment - Any updates, Ulli?

          Ulli Hafner added a comment -

          Actually no, I'm not sure what I can do here. The delta algorithm cannot be used to compute the actual new warnings, since it only subtracts the totals of two builds. Maybe I should remove the flag, seems only to be helpful if the other algorithm is too slow due to a lot of warnings.

          Ulli Hafner added a comment - Actually no, I'm not sure what I can do here. The delta algorithm cannot be used to compute the actual new warnings, since it only subtracts the totals of two builds. Maybe I should remove the flag, seems only to be helpful if the other algorithm is too slow due to a lot of warnings.

          Do you mean that usage of different algorithms on a build summary page and new warnings page while "Use delta for new warnings" is checked is expected plugin behaviour?

          Sergey Ryazantsev added a comment - Do you mean that usage of different algorithms on a build summary page and new warnings page while "Use delta for new warnings" is checked is expected plugin behaviour?

          Ulli Hafner added a comment -

          Well, yes

          Ulli Hafner added a comment - Well, yes

          Actually, we use delta checkbox because the other algorithm too frequently finds false positive new warnings. But, as I've got, this should be fixed in JENKINS-6675.

          Sergey Ryazantsev added a comment - Actually, we use delta checkbox because the other algorithm too frequently finds false positive new warnings. But, as I've got, this should be fixed in JENKINS-6675 .

          Ulli Hafner added a comment -

          One of my students is currently improving the new warning detection using a new algorithm that is based on the Java syntax tree. Hopefully, this will reduce the number of false positives. However, you can easily find an example of a false positive for every algorithm...

          Ulli Hafner added a comment - One of my students is currently improving the new warning detection using a new algorithm that is based on the Java syntax tree. Hopefully, this will reduce the number of false positives. However, you can easily find an example of a false positive for every algorithm...

          dirmeier added a comment -

          Hi Ulli, after updating we now have the warning that all warnings are new (and fixed at the same time). May this problem relates to this issue?

          dirmeier added a comment - Hi Ulli, after updating we now have the warning that all warnings are new (and fixed at the same time). May this problem relates to this issue?

            drulli Ulli Hafner
            xpyctnc Sergey Ryazantsev
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved: