Bob Fields created MCHECKSTYLE-205:
--------------------------------------

             Summary: NPE in CheckstyleReportGenerator.doFilesSummary:654 
version 2.11 regression
                 Key: MCHECKSTYLE-205
                 URL: https://jira.codehaus.org/browse/MCHECKSTYLE-205
             Project: Maven Checkstyle Plugin
          Issue Type: Bug
    Affects Versions: 2.11, 2.12
         Environment: maven-checkstyle-plugin v2.11 and 2.12-SNAPSHOT (as of 
12/5/13). Windows 7, JDK7.45 64 bit, maven 3.1
            Reporter: Bob Fields


This worked in release 2.10, no longer works in 2.11. Running mvn site against 
a large project with a parent pom with many subprojects (though no code in the 
parent project) (andromda v3.5-SNAPSHOT, from sourceforge). Maven output:
[INFO] Generating "Checkstyle" report    --- 
maven-checkstyle-plugin:2.12-SNAPSHOT
[INFO] Starting audit...
... About 6000 files ...
Audit done.

[INFO] There are 4777 checkstyle errors.
.... And no additional troubleshooting information, even in debug mode ...
[ERROR] Failed to execute goal 
org.apache.maven.plugins:maven-site-plugin:3.3:site (default-site) on project 
andromda: Execution default-site of goal 
org.apache.maven.plugins:maven-site-plugin:3.3:site failed. 
NullPointerException -> [Help 1]

Caused by: java.lang.NullPointerException
        at java.lang.String.compareTo(String.java:1139)
        at java.lang.String.compareTo(String.java:108)
        at 
java.util.ComparableTimSort.countRunAndMakeAscending(ComparableTimSort.java:290)
        at java.util.ComparableTimSort.sort(ComparableTimSort.java:171)
        at java.util.ComparableTimSort.sort(ComparableTimSort.java:146)
        at java.util.Arrays.sort(Arrays.java:472)
        at java.util.Collections.sort(Collections.java:155)
        at 
org.apache.maven.plugin.checkstyle.CheckstyleReportGenerator.doFilesSummary(CheckstyleReportGenerator.java:654)
        at 
org.apache.maven.plugin.checkstyle.CheckstyleReportGenerator.generateReport(CheckstyleReportGenerator.java:134)

I built version 2.12-SNAPSHOT locally, the NPE still exists. Running with 
version 2.10 - no NPE. The code attempts to run Collections.sort on a null key 
in the ArrayList from checkstyle results.getFiles().keySet(). This area of code 
was not modified in any of the previous revisions going into release 2.11. The 
results Collection is populated from DefaultCheckstyleExecutor.executeChecks 
calling sinkListener.addDirectory, but that method code also did not change 
over the last year.

This bug prevents us from using the latest checkstyle version. If the stack 
trace isn't enough to be able to add an extra null value check in 
executeChecks, I could run in debug mode and figure where the difference in 
values from 2.10 and 2.11 comes from, but it may be a little while before I can 
get to that.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to