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

Surefire reports randomly tests failing when forkCount=1 and reuseForks=true (default)

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Open
    • Major
    • Resolution: Unresolved
    • 2.21.0
    • None
    • None
    • - JVM 9.0.4 (Oracle implementation)
      - tests are running in a Docker container, hosted on an EC2 instance (using ECS)

    Description

      Hi,

      We are currently running our tests on a Jenkins Docker slave with JVM 9.0.4.

      We sometimes get the following error:

      [ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.21.0:test (default-test) on project infrastructure: There are test failures.
      [ERROR] 
      [ERROR] Please refer to /home/jenkins/workspace/s-slaves-with-nfs-workspace-KSX7WOVQKBXQS2AOK25P73Y44WD22SHRHPXX6YF6DAMF7VIHGYCQ/infrastructure/target/surefire-reports for the individual test results.
      [ERROR] Please refer to dump files (if any exist) [date]-jvmRun[N].dump, [date].dumpstream and [date]-jvmRun[N].dumpstream.
      [ERROR] The forked VM terminated without properly saying goodbye. VM crash or System.exit called?
      [ERROR] Command was /bin/sh -c cd /home/jenkins/workspace/s-slaves-with-nfs-workspace-KSX7WOVQKBXQS2AOK25P73Y44WD22SHRHPXX6YF6DAMF7VIHGYCQ/infrastructure && /home/jenkins/tools/hudson.model.JDK/Oracle_JDK9.0.4/jdk-9.0.4/bin/java -jar /home/jenkins/workspace/s-slaves-with-nfs-workspace-KSX7WOVQKBXQS2AOK25P73Y44WD22SHRHPXX6YF6DAMF7VIHGYCQ/infrastructure/target/surefire/surefirebooter17596563106997267184.jar /home/jenkins/workspace/s-slaves-with-nfs-workspace-KSX7WOVQKBXQS2AOK25P73Y44WD22SHRHPXX6YF6DAMF7VIHGYCQ/infrastructure/target/surefire 2018-03-29T07-17-04_821-jvmRun1 surefire4958487791742188143tmp surefire_05065886537426794674tmp
      [ERROR] Error occurred in starting fork, check output in log
      [ERROR] Process Exit Code: 137
      [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/jenkins/workspace/s-slaves-with-nfs-workspace-KSX7WOVQKBXQS2AOK25P73Y44WD22SHRHPXX6YF6DAMF7VIHGYCQ/infrastructure && /home/jenkins/tools/hudson.model.JDK/Oracle_JDK9.0.4/jdk-9.0.4/bin/java -jar /home/jenkins/workspace/s-slaves-with-nfs-workspace-KSX7WOVQKBXQS2AOK25P73Y44WD22SHRHPXX6YF6DAMF7VIHGYCQ/infrastructure/target/surefire/surefirebooter17596563106997267184.jar /home/jenkins/workspace/s-slaves-with-nfs-workspace-KSX7WOVQKBXQS2AOK25P73Y44WD22SHRHPXX6YF6DAMF7VIHGYCQ/infrastructure/target/surefire 2018-03-29T07-17-04_821-jvmRun1 surefire4958487791742188143tmp surefire_05065886537426794674tmp
      [ERROR] Error occurred in starting fork, check output in log
      [ERROR] Process Exit Code: 137
      [ERROR] 	at org.apache.maven.plugin.surefire.booterclient.ForkStarter.fork(ForkStarter.java:671)
      [ERROR] 	at org.apache.maven.plugin.surefire.booterclient.ForkStarter.fork(ForkStarter.java:533)
      [ERROR] 	at org.apache.maven.plugin.surefire.booterclient.ForkStarter.run(ForkStarter.java:278)
      [ERROR] 	at org.apache.maven.plugin.surefire.booterclient.ForkStarter.run(ForkStarter.java:244)
      [ERROR] 	at org.apache.maven.plugin.surefire.AbstractSurefireMojo.executeProvider(AbstractSurefireMojo.java:1149)
      [ERROR] 	at org.apache.maven.plugin.surefire.AbstractSurefireMojo.executeAfterPreconditionsChecked(AbstractSurefireMojo.java:978)
      [ERROR] 	at org.apache.maven.plugin.surefire.AbstractSurefireMojo.execute(AbstractSurefireMojo.java:854)
      [ERROR] 	at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:134)
      [ERROR] 	at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208)
      [ERROR] 	at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:154)
      [ERROR] 	at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:146)
      [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:51)
      [ERROR] 	at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128)
      [ERROR] 	at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:309)
      [ERROR] 	at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:194)
      [ERROR] 	at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:107)
      [ERROR] 	at org.apache.maven.cli.MavenCli.execute(MavenCli.java:993)
      [ERROR] 	at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:345)
      [ERROR] 	at org.apache.maven.cli.MavenCli.main(MavenCli.java:191)
      [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:564)
      [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)
      

      The maven plugin is configured as:

                  <plugin>
                      <groupId>org.apache.maven.plugins</groupId>
                      <artifactId>maven-surefire-plugin</artifactId>
                      <version>2.21.0</version>
                      <configuration>
                          <excludes>
                              <exclude>src/integration-tests/java/**</exclude>
                          </excludes>
                      </configuration>
                  </plugin>
      

      If we switch to Java 8 as JVM on the Jenkins slaves, we cannot reproduce this problem.
      If we run the tests on our local PC with Java 9, we cannot reproduce this problem.

      When we look at the Jenkins slave to the dumpstream file, we noticed the following:

      $ cat 2018-03-29T07-17-16_684.dumpstream
      # Created on 2018-03-29T07:17:16.702
      WARNING: An illegal reflective access operation has occurred
      
      # Created on 2018-03-29T07:17:16.715
      WARNING: Illegal reflective access by org.springframework.cglib.core.ReflectUtils$1 (file:/home/jenkins/.m2/repository/org/springframework/spring-core/5.0.4.RELEASE/spring-core-5.0.4.RELEASE.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int,java.security.ProtectionDomain)
      
      # Created on 2018-03-29T07:17:16.727
      WARNING: Please consider reporting this to the maintainers of org.springframework.cglib.core.ReflectUtils$1
      
      # Created on 2018-03-29T07:17:16.739
      WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
      
      # Created on 2018-03-29T07:17:16.752
      WARNING: All illegal access operations will be denied in a future release
      
      # Created on 2018-03-29T07:17:27.578
      Killed
      

      If we add forkCount=0 to the configuration, we cannot reproduce the problem, but then we're actually hiding it of course.

      Can you help us indicating what we can do to investigate this problem? More logging? Which steps to debug? Etc, etc, ...

      Attachments

        Activity

          People

            Unassigned Unassigned
            jochus Jochen Hebbrecht
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated: