Maven surefire 突然开始失败
Maven sure fire started to fail suddenly
我有一个 Jenkins 工作,上周五开始工作,从昨天开始失败。这是我的设置
Maven 3.3.9
Oracle JDK 1.8 u144
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.18.1</version>
</plugin>
我尝试添加 -e 和 -X 选项,甚至增加日志级别,但我在日志中看到的唯一消息是:
Caused by: org.apache.maven.plugin.PluginExecutionException: Execution default-test of goal org.apache.maven.plugins:maven-surefire-plugin:9c6abc2:test failed: The forked VM terminated without saying properly goodbye. VM crash or System.exit called ?
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:145)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:207)
... 31 more
Caused by: java.lang.RuntimeException: The forked VM terminated without saying properly goodbye. VM crash or System.exit called ?
这是我尝试过的事情列表(全部来自 Whosebug):
- 3.0.0-M3
- 版本 2.21.0
- reuseForks=false
- useSystemClassLoader=false
- trimStackTrace=假
- argLine=Xmx2048m -XX:MaxPermSize=512m,尝试增加内存,因为我认为分叉的 VM 正在崩溃
- useSystemClassLoader=true 和 useManifestOnlyJar=false
- 甲骨文 Java 8 u144
- 甲骨文 Java 8 u141
我注意到的另一件事是,当执行分叉的 JVM 时,似乎没有传递 "argLine"。例如,这是来自日志:
-------------------------------------------------------
T E S T S
-------------------------------------------------------
Forking command line: /bin/sh -c cd /data/apps/jenkins/workspace/Build_Deploy_Full_Dev/myapp/core && /data/apps/java/jdk1.8.0_144/jre/bin/java -jar /data/apps/jenkins/workspace/Build_Deploy_Full_Dev/myapp/core/target/surefire/surefirebooter1916960086357827445.jar /data/apps/jenkins/workspace/Build_Deploy_Full_Dev/myapp/core/target/surefire/surefire2156897915383473994tmp /data/apps/jenkins/workspace/Build_Deploy_Full_Dev/myapp/core/target/surefire/surefire_03179213296845219723tmp
可以看出,调用分叉的JVM 的命令行没有参数。另外,作为最后的澄清,我的测试没有调用任何像 "System.exit" 这样的调用。我将不胜感激任何帮助!
我 运行 从安装了 Jenkins 的同一台服务器构建,但是从 Jenkins 外部构建,换句话说,从命令行构建。我得到了一个成功的构建,这表明 Maven 和我的依赖项都不是问题原因的一部分。重启完成后,构建开始正常工作。
我有一个 Jenkins 工作,上周五开始工作,从昨天开始失败。这是我的设置
Maven 3.3.9
Oracle JDK 1.8 u144
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.18.1</version>
</plugin>
我尝试添加 -e 和 -X 选项,甚至增加日志级别,但我在日志中看到的唯一消息是:
Caused by: org.apache.maven.plugin.PluginExecutionException: Execution default-test of goal org.apache.maven.plugins:maven-surefire-plugin:9c6abc2:test failed: The forked VM terminated without saying properly goodbye. VM crash or System.exit called ?
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:145)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:207)
... 31 more
Caused by: java.lang.RuntimeException: The forked VM terminated without saying properly goodbye. VM crash or System.exit called ?
这是我尝试过的事情列表(全部来自 Whosebug):
- 3.0.0-M3
- 版本 2.21.0
- reuseForks=false
- useSystemClassLoader=false
- trimStackTrace=假
- argLine=Xmx2048m -XX:MaxPermSize=512m,尝试增加内存,因为我认为分叉的 VM 正在崩溃
- useSystemClassLoader=true 和 useManifestOnlyJar=false
- 甲骨文 Java 8 u144
- 甲骨文 Java 8 u141
我注意到的另一件事是,当执行分叉的 JVM 时,似乎没有传递 "argLine"。例如,这是来自日志:
-------------------------------------------------------
T E S T S
-------------------------------------------------------
Forking command line: /bin/sh -c cd /data/apps/jenkins/workspace/Build_Deploy_Full_Dev/myapp/core && /data/apps/java/jdk1.8.0_144/jre/bin/java -jar /data/apps/jenkins/workspace/Build_Deploy_Full_Dev/myapp/core/target/surefire/surefirebooter1916960086357827445.jar /data/apps/jenkins/workspace/Build_Deploy_Full_Dev/myapp/core/target/surefire/surefire2156897915383473994tmp /data/apps/jenkins/workspace/Build_Deploy_Full_Dev/myapp/core/target/surefire/surefire_03179213296845219723tmp
可以看出,调用分叉的JVM 的命令行没有参数。另外,作为最后的澄清,我的测试没有调用任何像 "System.exit" 这样的调用。我将不胜感激任何帮助!
我 运行 从安装了 Jenkins 的同一台服务器构建,但是从 Jenkins 外部构建,换句话说,从命令行构建。我得到了一个成功的构建,这表明 Maven 和我的依赖项都不是问题原因的一部分。重启完成后,构建开始正常工作。