[ https://jira.codehaus.org/browse/SUREFIRE-954?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=318299#comment-318299 ]
Benson Margulies commented on SUREFIRE-954: ------------------------------------------- I can now describe the condition that triggers this behavior, but I suspect that it's more of a JVM issue than a JUnit or Surefire issue. Some native code called DeleteGlobalRef on the wrong ref, and then tried to use it from within a native method from within an @After method. This caused the JVM to throw something -- I can't really figure out what, because neither Eclipse nor IntelliJ is very good at explaining it. That wierd exception gets picked up by reflection and packaged into the target of an InvocationTargetException, and everything goes downhill from there. It sure seems as if the JVM has picked an 'exotic' class loader to put it in, but I can't find any evidence. > Hard-to-believe abstract method error > ------------------------------------- > > Key: SUREFIRE-954 > URL: https://jira.codehaus.org/browse/SUREFIRE-954 > Project: Maven Surefire > Issue Type: Bug > Affects Versions: 2.13 > Reporter: Benson Margulies > > I have a set of junit test that I am running with Surefire 2.13 with forkMode > always. Two classes die with the following hard-to-belive backtrace. The > others are fine. Sadly, I can't open-source the test case, so I'm hoping that > you will give me some advice as to how to be a remote-control debugging > assistant to look into this. The AbstractMethodError is very hard for me to > imagine explaining. > {noformat} > Running com.basistech.TestLogCallback > 0 [main] DEBUG com.basistech.rlp.RLPEnvironment - Starting cleanup thread > 6 [main] DEBUG com.basistech.rlp.RLPEnvironment - cleanupContext > java.lang.ref.PhantomReference@509df6f1 7f9e59a073b0 > 6 [RLP Context Cleanup] DEBUG com.basistech.rlp.RLPEnvironment - > Exiting cleanup thread > Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.142 sec > java.lang.AbstractMethodError: > java.lang.Throwable.printStackTrace(Ljava/io/PrintWriter;)V > at > org.apache.maven.surefire.report.LegacyPojoStackTraceWriter.writeTraceToString(LegacyPojoStackTraceWriter.java:54) > at > org.apache.maven.surefire.booter.ForkingRunListener.encode(ForkingRunListener.java:330) > at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:104) > {noformat} -- 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