[ 
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)

Reply via email to