[ https://jira.codehaus.org/browse/SUREFIRE-848?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=301255#comment-301255 ]
Zemian Deng commented on SUREFIRE-848: -------------------------------------- I get this same error intermittently on our java project build. We are using maven-surefire-plugin:2.11 with maven-3.0.4. When this happens our build seems to take same amount of time, but the test counts and output are way off. Exception in thread "ThreadedStreamConsumer" java.lang.NullPointerException at org.apache.maven.surefire.report.AbstractFileReporter.testSetCompleted(AbstractFileReporter.java:111) at org.apache.maven.surefire.report.MulticastingReporter.testSetCompleted(MulticastingReporter.java:51) at org.apache.maven.surefire.report.TestSetRunListener.testSetCompleted(TestSetRunListener.java:121) at org.apache.maven.plugin.surefire.booterclient.output.ForkClient.consumeLine(ForkClient.java:97) at org.apache.maven.plugin.surefire.booterclient.output.ThreadedStreamConsumer$Pumper.run(ThreadedStreamConsumer.java:67) at java.lang.Thread.run(Thread.java:619) > NPE in org.apache.maven.plugin.surefire.report.AbstractTextReporter > ------------------------------------------------------------------- > > Key: SUREFIRE-848 > URL: https://jira.codehaus.org/browse/SUREFIRE-848 > Project: Maven Surefire > Issue Type: Bug > Components: Junit 4.x support, Maven Surefire Plugin > Affects Versions: 2.12 > Reporter: Stephan Schroevers > Attachments: example.tbz > > > The combination Surefire/JUnit 4 causes a {{NullPointerException}} in > {{org.apache.maven.plugin.surefire.report.AbstractTextReporter}} if one has a > {{RunListener}} configured which (for whatever reason) throws an exception > in its {{#testRunStarted(Description)}} method. > I have [attached|^example.tbz] a dummy project; run {{`mvn test`}} to see the > problem. The cause of this issue is that {{AbstractTextReporter}} initializes > its {{testResults}} field when > {{AbstractTextReporter#testSetStarting(ReportEntry)}} is called, which (it > seems) doesn't happen until JUnit invokes > {{RunNotifier#fireTestStarted(Description)}}. This is too late, because an > exception during the invocation of > {{RunNotifier#fireTestRunStarted(Description)}} causes > {{AbstractTextReporter#testError(ReportEntry, String, String)}} to be > invoked. The result is an NPE on line 103. > Stacktrace: > {noformat} > Exception in thread "ThreadedStreamConsumer" java.lang.NullPointerException > at > org.apache.maven.plugin.surefire.report.AbstractTextReporter.testError(AbstractTextReporter.java:103) > at > org.apache.maven.plugin.surefire.report.MulticastingReporter.testError(MulticastingReporter.java:87) > at > org.apache.maven.plugin.surefire.report.TestSetRunListener.testError(TestSetRunListener.java:150) > at > org.apache.maven.plugin.surefire.booterclient.output.ForkClient.consumeLine(ForkClient.java:115) > at > org.apache.maven.plugin.surefire.booterclient.output.ThreadedStreamConsumer$Pumper.run(ThreadedStreamConsumer.java:67) > at java.lang.Thread.run(Thread.java:619) > {noformat} > Note that this issue seems to have been the root cause of SUREFIRE-157; the > [last > comment|jira.codehaus.org/browse/SUREFIRE-157?focusedCommentId=197215#comment-197215] > to that ticket also pointed to the late initialisation of the > {{testResults}} field. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://jira.codehaus.org/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira