You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Valerii Pekarskyi (Jira)" <ji...@apache.org> on 2019/12/04 10:42:00 UTC

[jira] [Commented] (SUREFIRE-1541) SurefireBooterForkException: The forked VM terminated without properly saying goodbye. VM crash or System.exit called?

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

Valerii Pekarskyi commented on SUREFIRE-1541:
---------------------------------------------

In my case issue was caused by excessive test output to Windows console, so redirecting mvn test stdout and stderr output to the file worked as a temporary solution.

For others with the same issue I recommend surefire plugin configuration [key|http://maven.apache.org/surefire/maven-surefire-plugin/test-mojo.html#redirectTestOutputToFile] 
{code:java}
<redirectTestOutputToFile>true</redirectTestOutputToFile> {code}
 

> SurefireBooterForkException: The forked VM terminated without properly saying goodbye. VM crash or System.exit called?
> ----------------------------------------------------------------------------------------------------------------------
>
>                 Key: SUREFIRE-1541
>                 URL: https://issues.apache.org/jira/browse/SUREFIRE-1541
>             Project: Maven Surefire
>          Issue Type: Bug
>          Components: Maven Surefire Plugin
>    Affects Versions: 2.22.0
>            Reporter: Anghel Botos
>            Assignee: Tibor Digana
>            Priority: Major
>         Attachments: hs_err_pid3584.log
>
>
> Attempting to run integration tests using maven-failsafe-plugin with {{-Dmaven.failsafe.debug=false}} yields the following stacktrace:
>  
> {noformat}
> [ERROR] ExecutionException The forked VM terminated without properly saying goodbye. VM crash or System.exit called?
> [ERROR] Command was cmd.exe /X /C ""C:\Program Files\Java\jdk1.8.0_121\jre\bin\java" false -jar C:\Users\ANGHEL~1.BOT\AppData\Local\Temp\surefire8539836821793811485\surefirebooter6734575521909210279.jar C:\Users\anghel.botos\AppData\Local\Temp\surefire8539836821793811485 2018-07-24T11-18-12_704-jvmRun1 surefire7184511894589995478tmp surefire_411836142070426630764tmp"
> [ERROR] Error occurred in starting fork, check output in log
> [ERROR] Process Exit Code: 1
> [ERROR] at org.apache.maven.plugin.surefire.booterclient.ForkStarter.awaitResultsDone(ForkStarter.java:494)
> [ERROR] at org.apache.maven.plugin.surefire.booterclient.ForkStarter.runSuitesForkPerTestSet(ForkStarter.java:441)
> [ERROR] at org.apache.maven.plugin.surefire.booterclient.ForkStarter.run(ForkStarter.java:293)
> [ERROR] at org.apache.maven.plugin.surefire.booterclient.ForkStarter.run(ForkStarter.java:245)
> {noformat}
>  
> The issue is the "free-floating" {{false}} that appears in the command line used to start a new JVM. I've traced down the issue to {{org.apache.maven.plugin.surefire.AbstractSurefireMojo#getEffectiveDebugForkedProcess}} where the following code can be found:
> {code:java}
>         String debugForkedProcess = getDebugForkedProcess();
>         if ( "true".equals( debugForkedProcess ) )
>         {
>             return "-Xdebug -Xnoagent -Djava.compiler=NONE"
>                 + " -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5005";
>         }
>         return debugForkedProcess;
> {code}
> ...which is quite..."unexpected" to see that one can pass in a value of {{true}}, but not a value of {{false}}.
> Please fix with a proper parsing of true/false values for the {{maven.failsafe.debug}} property.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)