Uploaded image for project: 'Maven Surefire'
  1. Maven Surefire
  2. SUREFIRE-1601

Cannot run JUnit test under OpenJDK 11: The forked VM terminated without properly saying goodbye

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Incomplete
    • Affects Version/s: 3.0.0-M1
    • Fix Version/s: None
    • Component/s: Maven Surefire Plugin
    • Labels:
      None
    • Environment:

      Description

      I tried to execute "mvn clean install" on our build server for a project that contains a few JUnit 4 tests. When I use OpenJDK 11, m-surefire-p doesn't work:

      (...)
      [INFO] Changes detected - recompiling the module!
      [INFO] Compiling 2 source files to /home/bamboo/bamboo-prod-agent3-home/xml-data/build-dir/MYPLAN-MYJOB-JOB1/target/test-classes
      [INFO]
      [INFO] --- maven-surefire-plugin:3.0.0-M1:test (default-test) @ myjob ---
      [INFO]
      [INFO] -------------------------------------------------------
      [INFO]  T E S T S
      [INFO] -------------------------------------------------------
      [INFO]
      [INFO] Results:
      [INFO]
      [WARNING] Corrupted STDOUT by directly writing to native stream in forked JVM 1. See FAQ web page and the dump file /home/bamboo/bamboo-prod-agent3-home/xml-data/build-dir/MYPLAN-MYJOB-JOB1/target/surefire-reports/2018-11-19T08-44-36_188-jvmRun1.dumpstream
      [INFO] Tests run: 0, Failures: 0, Errors: 0, Skipped: 0
      [INFO]
      [INFO] ------------------------------------------------------------------------
      [INFO] BUILD FAILURE
      [INFO] ------------------------------------------------------------------------
      [INFO] Total time:  7.042 s
      [INFO] Finished at: 2018-11-19T08:44:36+01:00
      [INFO] ------------------------------------------------------------------------
      [ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:3.0.0-M1:test (default-test) on project myjob: There are test failures.
      [ERROR]
      [ERROR] Please refer to /home/bamboo/bamboo-prod-agent3-home/xml-data/build-dir/MYPLAN-MYJOB-JOB1/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] The forked VM terminated without properly saying goodbye. VM crash or System.exit called?
      [ERROR] Command was /bin/sh -c cd /home/bamboo/bamboo-prod-agent3-home/xml-data/build-dir/MYPLAN-MYJOB-JOB1 && /usr/lib/jvm/java-11-openjdk-amd64/bin/java @/home/bamboo/bamboo-prod-agent3-home/xml-data/build-dir/MYPLAN-MYJOB-JOB1/target/surefire/surefireargs8795971990665471093 /home/bamboo/bamboo-prod-agent3-home/xml-data/build-dir/MYPLAN-MYJOB-JOB1/target/surefire 2018-11-19T08-44-36_188-jvmRun1 surefire4807933959136996302tmp surefire_012123328341666595325tmp
      [ERROR] Error occurred in starting fork, check output in log
      [ERROR] Process Exit Code: 1
      [ERROR] org.apache.maven.surefire.booter.SurefireBooterForkException: The forked VM terminated without properly saying goodbye. VM crash or System.exit called?
      [ERROR] Command was /bin/sh -c cd /home/bamboo/bamboo-prod-agent3-home/xml-data/build-dir/MYPLAN-MYJOB-JOB1 && /usr/lib/jvm/java-11-openjdk-amd64/bin/java @/home/bamboo/bamboo-prod-agent3-home/xml-data/build-dir/MYPLAN-MYJOB-JOB1/target/surefire/surefireargs8795971990665471093 /home/bamboo/bamboo-prod-agent3-home/xml-data/build-dir/MYPLAN-MYJOB-JOB1/target/surefire 2018-11-19T08-44-36_188-jvmRun1 surefire4807933959136996302tmp surefire_012123328341666595325tmp
      [ERROR] Error occurred in starting fork, check output in log
      [ERROR] Process Exit Code: 1
      [ERROR]         at org.apache.maven.plugin.surefire.booterclient.ForkStarter.fork(ForkStarter.java:670)
      [ERROR]         at org.apache.maven.plugin.surefire.booterclient.ForkStarter.run(ForkStarter.java:283)
      [ERROR]         at org.apache.maven.plugin.surefire.booterclient.ForkStarter.run(ForkStarter.java:246)
      [ERROR]         at org.apache.maven.plugin.surefire.AbstractSurefireMojo.executeProvider(AbstractSurefireMojo.java:1149)
      [ERROR]         at org.apache.maven.plugin.surefire.AbstractSurefireMojo.executeAfterPreconditionsChecked(AbstractSurefireMojo.java:991)
      [ERROR]         at org.apache.maven.plugin.surefire.AbstractSurefireMojo.execute(AbstractSurefireMojo.java:837)
      [ERROR]         at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:137)
      [ERROR]         at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:210)
      [ERROR]         at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:156)
      [ERROR]         at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:148)
      [ERROR]         at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:117)
      [ERROR]         at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:81)
      [ERROR]         at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:56)
      [ERROR]         at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128)
      [ERROR]         at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:305)
      [ERROR]         at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:192)
      [ERROR]         at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:105)
      [ERROR]         at org.apache.maven.cli.MavenCli.execute(MavenCli.java:956)
      [ERROR]         at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:288)
      [ERROR]         at org.apache.maven.cli.MavenCli.main(MavenCli.java:192)
      [ERROR]         at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      [ERROR]         at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
      [ERROR]         at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      [ERROR]         at java.base/java.lang.reflect.Method.invoke(Method.java:566)
      [ERROR]         at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
      [ERROR]         at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
      [ERROR]         at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
      [ERROR]         at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
      [ERROR]
      [ERROR] -> [Help 1]
      [ERROR]
      [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
      [ERROR] Re-run Maven using the -X switch to enable full debug logging.
      [ERROR]
      [ERROR] For more information about the errors and possible solutions, please read the following articles:
      [ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException
      
      

       

      The mentioned dumpstream file contains the following:

      bamboo:~/bamboo-prod-agent3-home/xml-data/build-dir/MYPLAN-MYJOB-JOB1$ cat target/surefire-reports/2018-11-19T08-44-36_188-jvmRun1.dumpstream
      # Created at 2018-11-19T08:44:36.981
      Corrupted STDOUT by directly writing to native stream in forked JVM 1. Stream 'Error occurred during initialization of boot layer'.
      java.lang.IllegalArgumentException: Stream stdin corrupted. Expected comma after third character in command 'Error occurred during initialization of boot layer'.
              at org.apache.maven.plugin.surefire.booterclient.output.ForkClient$OperationalData.<init>(ForkClient.java:507)
              at org.apache.maven.plugin.surefire.booterclient.output.ForkClient.processLine(ForkClient.java:210)
              at org.apache.maven.plugin.surefire.booterclient.output.ForkClient.consumeLine(ForkClient.java:177)
              at org.apache.maven.plugin.surefire.booterclient.output.ThreadedStreamConsumer$Pumper.run(ThreadedStreamConsumer.java:88)
              at java.base/java.lang.Thread.run(Thread.java:834)
      

      Result with OpenJDK 11: No tests were executed at all.

      Executing the exact same build command line using OpenJDK 10 instead of 11, everything works as expected...

        Attachments

          Activity

            People

            • Assignee:
              tibordigana Tibor Digana
              Reporter:
              t_heit Thorsten Heit
            • Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: