【问题标题】:"The forked VM terminated without properly saying goodbye" on EC2 with RDS带有 RDS 的 EC2 上的“分叉的 VM 在没有正确说再见的情况下终止”
【发布时间】:2015-03-12 20:42:48
【问题描述】:

我在 AWS EC2 服务器上运行 jenkins,访问 AWS RDS 上的 mysql 数据库。 在本地运行 mvn clean install 时一切正常,但是当 jenkins 在 EC2 服务器上运行时,我收到此错误:

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.18.1:test (default-test) on project plenty: Execution default-test of goal org.apache.maven.plugins:maven-surefire-plugin:2.18.1:test failed: The forked VM terminated without properly saying goodbye. VM crash or System.exit called?
[ERROR] Command was /bin/sh -c cd /var/lib/jenkins/jobs/Plenty-api/workspace/plenty && /usr/lib/jvm/java-7-oracle/jre/bin/java -XX:MaxPermSize=128m -jar /var/lib/jenkins/jobs/Plenty-api/workspace/plenty/target/surefire/surefirebooter9140193949835996613.jar /var/lib/jenkins/jobs/Plenty-api/workspace/plenty/target/surefire/surefire21120104041831905tmp /var/lib/jenkins/jobs/Plenty-api/workspace/plenty/target/surefire/surefire_08001606298289854825tmp

有什么想法吗?

【问题讨论】:

    标签: mysql maven amazon-web-services jenkins amazon-ec2


    【解决方案1】:

    哦,是的,从 EasyPeasyException(你的一个测试类调用 System.exit();)到完整的 DeepShitException(我在本地有一次,重新安装了 VM,之后一切都很好)。

    如果它不是您调用System.exit() 的测试类(或依赖项)之一,您将不得不找到VM 崩溃的转储并将它们添加到问题中以获得进一步帮助(不幸的是,我无法处理存储在此类转储文件中的任何内容 - 但找到解决方案通常需要团队合作:))。

    这也记录在插件文档中:http://maven.apache.org/surefire/maven-surefire-plugin/faq.html#vm-termination

    【讨论】:

    • 我想我找到了原因:Java HotSpot(TM) 64-Bit Server VM warning: INFO: os::commit_memory(0x00000000f4d82000, 52944896, 0) failed; error='Cannot allocate memory' (errno=12) # # 内存不足,Java 运行环境无法继续。 # 本机内存分配 (malloc) 未能分配 52944896 字节用于提交保留内存。
    猜你喜欢
    • 2018-03-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-09
    相关资源
    最近更新 更多