maven-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Bob Fields (JIRA)" <j...@codehaus.org>
Subject [jira] (MCHECKSTYLE-205) NPE in CheckstyleReportGenerator.doFilesSummary:654 version 2.11 regression
Date Fri, 06 Dec 2013 15:26:45 GMT

    [ https://jira.codehaus.org/browse/MCHECKSTYLE-205?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=336907#comment-336907
] 

Bob Fields commented on MCHECKSTYLE-205:
----------------------------------------

Since somebody else had the same issue I decided to troubleshoot. I added a null value check
on CheckstyleResults.java to make sure no invalid data gets added to the results list (null
key). This fixes the immediate problem (NPE which kills the site build) but doesn't fix the
underlying issue (checkstyle listener attempting to add a null value to the results list).
Nevertheless, a null value check certainly doesn't hurt. Patch with about 4 lines of code
added is attached, against 2.12-SNAPSHOT as of 12/6/2013. Sorry, no additional unit tests,
that would take quite a while to reproduce this behavior in a new project. The issue only
occurs when running  checkstyle-aggregate report, not when running checkstyle goal.
                
> 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

Mime
View raw message