[
https://issues.apache.org/jira/browse/SUREFIRE-1788?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17149984#comment-17149984
]
Alexander Kriegisch commented on SUREFIRE-1788:
-----------------------------------------------
More details: In the first module I use {{--patch-module
java.base=my-module.jar}} in order to replace some JRE classes with ones
transformed previously. This is a standard Java 9+ mechanism and works in M4.
Here it yields:
{code}
Caused by: org.apache.maven.surefire.booter.SurefireBooterForkException: The
forked VM terminated without properly saying goodbye. VM crash or System.exit
called?
Command was cmd.exe /X /C ""C:\Program
Files\Java\jdk-14.0.1\bin\java" --patch-module
java.base=C:\Users\alexa\Documents\java-src\Sarek/sarek-test-parent/sarek-test-instrument-jre/target/sarek-test-instrument-jre-1.0-SNAPSHOT.jar
@C:\Users\alexa\AppData\Local\Temp\surefire15096384209999517481\surefireargs3116854532139924378
C:\Users\alexa\AppData\Local\Temp\surefire15096384209999517481
2020-07-02T13-39-23_294-jvmRun1 surefire1552621043222686930tmp
surefire_18461319190598997928tmp"
Error occurred in starting fork, check output in log
{code}
The log says:
{code}
Error occurred during initialization of boot layer
java.lang.module.ResolutionException: Module sarek.test.instrument.jre contains
package java.lang, module java.base exports package java.lang to
sarek.test.instrument.jre
{code}
How can this suddenly be a problem just because there is a new Maven plugin
version? Is JVM forking done differently than before now?
In the second module with my {{-javaagent:/path/to/agent.jar}} suddenly some of
my agent classes are no longer found, even though the agent has a
{{Boot-Class-Path: agent.jar}} manifest entry. Running the same test from
command line, IDE or Maven Failsafe M4 version works. But M5 says:
{code}
org.apache.maven.surefire.booter.SurefireBooterForkException: There was an
error in the forked process
dev/sarek/agent/aspect/AroundAdvice
at
org.apache.maven.plugin.surefire.booterclient.ForkStarter.fork(ForkStarter.java:733)
at
org.apache.maven.plugin.surefire.booterclient.ForkStarter.run(ForkStarter.java:305)
at
org.apache.maven.plugin.surefire.booterclient.ForkStarter.run(ForkStarter.java:265)
at
org.apache.maven.plugin.surefire.AbstractSurefireMojo.executeProvider(AbstractSurefireMojo.java:1314)
at
org.apache.maven.plugin.surefire.AbstractSurefireMojo.executeAfterPreconditionsChecked(AbstractSurefireMojo.java:1159)
at
org.apache.maven.plugin.surefire.AbstractSurefireMojo.execute(AbstractSurefireMojo.java:932)
at
org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:137)
at
org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:210)
at
org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:156)
at
org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:148)
at
org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:117)
at
org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:81)
at
org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:56)
at
org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:305)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:192)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:105)
at org.apache.maven.cli.MavenCli.execute(MavenCli.java:957)
at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:289)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:193)
at
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at
java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:564)
at
org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:282)
at
org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:225)
at
org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:406)
at
org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:347)
at org.codehaus.classworlds.Launcher.main(Launcher.java:47)
{code}
And
{code}
java.lang.NoClassDefFoundError: dev/sarek/agent/aspect/AroundAdvice
at java.base/java.lang.Class.getDeclaredMethods0(Native Method)
at java.base/java.lang.Class.privateGetDeclaredMethods(Class.java:3244)
at java.base/java.lang.Class.getMethodsRecursive(Class.java:3385)
at java.base/java.lang.Class.getMethod0(Class.java:3371)
at java.base/java.lang.Class.getMethod(Class.java:2120)
at
org.apache.maven.surefire.api.util.ReflectionUtils.tryGetMethod(ReflectionUtils.java:60)
at
org.apache.maven.surefire.common.junit3.JUnit3TestChecker.isSuiteOnly(JUnit3TestChecker.java:66)
at
org.apache.maven.surefire.common.junit3.JUnit3TestChecker.isValidJUnit3Test(JUnit3TestChecker.java:61)
at
org.apache.maven.surefire.common.junit3.JUnit3TestChecker.accept(JUnit3TestChecker.java:56)
at
org.apache.maven.surefire.common.junit4.JUnit4TestChecker.accept(JUnit4TestChecker.java:53)
at
org.apache.maven.surefire.common.junit48.JUnit48TestChecker.accept(JUnit48TestChecker.java:51)
at
org.apache.maven.surefire.api.util.DefaultScanResult.applyFilter(DefaultScanResult.java:102)
at
org.apache.maven.surefire.junitcore.JUnitCoreProvider.scanClassPath(JUnitCoreProvider.java:292)
at
org.apache.maven.surefire.junitcore.JUnitCoreProvider.setTestsToRun(JUnitCoreProvider.java:198)
at
org.apache.maven.surefire.junitcore.JUnitCoreProvider.invoke(JUnitCoreProvider.java:132)
at
org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:428)
at
org.apache.maven.surefire.booter.ForkedBooter.execute(ForkedBooter.java:162)
at
org.apache.maven.surefire.booter.ForkedBooter.run(ForkedBooter.java:562)
at
org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:548)
Caused by: java.lang.ClassNotFoundException: dev.sarek.agent.aspect.AroundAdvice
at
java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:602)
at
java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
... 19 more
{code}
That class is meant to be on the bootstrap class path, so how can it not be
found? and how can it change in between Maven plugin versions?
> Unhandled native logs in SurefireForkChannel
> --------------------------------------------
>
> Key: SUREFIRE-1788
> URL: https://issues.apache.org/jira/browse/SUREFIRE-1788
> Project: Maven Surefire
> Issue Type: Task
> Components: Maven Failsafe Plugin, Maven Surefire Plugin, process
> forking
> Reporter: Tibor Digana
> Assignee: Tibor Digana
> Priority: Major
> Fix For: 3.0.0-M5
>
>
> This is related only to the internal change of the version 3.0.0-M5 itself.
> The
> [stdOut|https://github.com/apache/maven-surefire/blob/master/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/extensions/SurefireForkChannel.java#L153]
> should be printed to INFO on the console.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)