[ 
https://issues.apache.org/jira/browse/SUREFIRE-2201?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17774053#comment-17774053
 ] 

Tamas Cservenak commented on SUREFIRE-2201:
-------------------------------------------

Caused by JDK 21 bug, see related MCOMPILER-546 report and there is a link to 
Java bug as well.

> JDK21:  Crash when using new '_' wildcard preview feature in test classes
> -------------------------------------------------------------------------
>
>                 Key: SUREFIRE-2201
>                 URL: https://issues.apache.org/jira/browse/SUREFIRE-2201
>             Project: Maven Surefire
>          Issue Type: Bug
>            Reporter: Tobias Gierke
>            Priority: Major
>         Attachments: image-2023-10-11-14-43-20-661.png, 
> jdk21-surefire-test.zip
>
>
> Tested with Eclipse Temurin-21+35 (build 21+35-LTS) and Maven 3.9.1 on Ubuntu 
> 22.04.03 LTS
> I've attached a reproducer project, running "mvn test" will trip the crash. 
> {code:java}
>  [ERROR] Failed to execute goal 
> org.apache.maven.plugins:maven-surefire-plugin:3.1.2:test (default-test) on 
> project jdk21-surefire-test:  [ERROR]  [ERROR] Please refer to 
> /extra/home/tobi/intellij_workspace/jdk21-surefire-test/target/surefire-reports
>  for the individual test results. [ERROR] Please refer to dump files (if any 
> exist) [date].dump, [date]-jvmRun[N].dump and [date].dumpstream. [ERROR] 
> There was an error in the forked process [ERROR] Illegal field name "" in 
> class test/MainTest [ERROR] java.lang.ClassFormatError: Illegal field name "" 
> in class test/MainTest [ERROR]         at 
> java.base/java.lang.ClassLoader.defineClass1(Native Method) [ERROR]         
> at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1027) [ERROR] 
>         at 
> java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:150)
>  [ERROR]         at 
> java.base/jdk.internal.loader.BuiltinClassLoader.defineClass(BuiltinClassLoader.java:862)
>  [ERROR]         at 
> java.base/jdk.internal.loader.BuiltinClassLoader.findClassOnClassPathOrNull(BuiltinClassLoader.java:760)
>  [ERROR]         at 
> java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(BuiltinClassLoader.java:681)
>  [ERROR]         at 
> java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:639)
>  [ERROR]         at 
> java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
>  [ERROR]         at 
> java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:526) [ERROR]       
>   at 
> org.apache.maven.surefire.api.util.DefaultScanResult.loadClass(DefaultScanResult.java:115)
>  [ERROR]         at 
> org.apache.maven.surefire.api.util.DefaultScanResult.applyFilter(DefaultScanResult.java:85)
>  [ERROR]         at 
> org.apache.maven.surefire.junitplatform.JUnitPlatformProvider.scanClasspath(JUnitPlatformProvider.java:142)
>  [ERROR]         at 
> org.apache.maven.surefire.junitplatform.JUnitPlatformProvider.invoke(JUnitPlatformProvider.java:122)
>  [ERROR]         at 
> org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:385)
>  [ERROR]         at 
> org.apache.maven.surefire.booter.ForkedBooter.execute(ForkedBooter.java:162) 
> [ERROR]         at 
> org.apache.maven.surefire.booter.ForkedBooter.run(ForkedBooter.java:507) 
> [ERROR]         at 
> org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:495) 
> {code}
> What's interesting about this bug is that my reproducer project also contains 
> a "Main" class that uses the '_' wildcard as well and compiling this one 
> using "mvn compile" and then trying to run it using "java" directly leads to 
> the same crash:
> !image-2023-10-11-14-43-20-661.png!
> BUT compiling the code manually using "javac"
> {code:java}
> mvn clean ; mkdir -p target/classes && javac -d target/classes --source 21 
> --enable-preview src/main/java/test/Main.java {code}
> and then running it again with "java"
> {code:java}
>  java --enable-preview -cp target/classes test.Main
> {code}
> does *NOT* crash ... so this seems to be somehow related to the way Maven 
> uses the Java compiler.
> Please move this issue to maven-compiler-plugin if more appropriate.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to