【问题标题】:The forked VM terminated without properly saying goodbye. VM crash or System.exit called分叉的 VM 没有正确告别就终止了。 VM 崩溃或调用 System.exit
【发布时间】:2020-12-07 13:16:37
【问题描述】:

我编写测试。我正在使用 Cucumber 6.8.1TestNG 7.0.0。对于并行化,我连接了 ma​​ven-surefire-plugin 2.22.2但我现在没有并行测试,目前我只一个一个地运行所有测试.

大多数测试运行良好(大约 45 个测试)。但是有几个有问题的测试,即:在运行这样的测试时,我得到错误“The forked VM terminate without proper say goodbye.VM crash or System.exit called?” 以下是全文:

我在谷歌搜索过这个错误。我已经读过,它与 ma​​ven-surefire-plugin 相关联。在互联网上,人们提供了不同的方法来解决这个问题。例如,更改 maven 插件的版本。目前我有 2.22.2 版本。我尝试了不同的版本:3.0.0-M5、3.0.0-M4、3.0.0-M3、3.0.0-M2、3.0.0-M1、2.22.1、2.22.0、2.21.0、2.20。结果是一样的:我得到了错误。

我也尝试过写论据 -Xmx1024m -XX: MaxPermSize = 256m 在 maven-surefire-plugin 配置中。它也没有帮助。

而且我不认为这是由于某些资源的不足。在运行这些有问题的测试期间,监控并没有显示出特别大的资源消耗:

请给我一些其他的想法好吗?

【问题讨论】:

  • 您是否将转储文件称为错误消息请求?
  • 您是否检查过您的代码或您正在调用的代码在任何地方都没有调用System.exit

标签: maven cucumber cucumber-jvm maven-surefire-plugin


【解决方案1】:

根据您的日志,崩溃的测试,有一个测试类没有正确完成。尝试找出正在调用的库或代码 System.exit()Runtime.getRuntime.halt()。 由于 OSS 库的实现退出进程,人们在系统退出时遇到这些问题。请参阅hint in stackowerflow 并尝试在 Java 中的 SystemManager 的帮助下找到邪恶。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-06-09
    • 2014-01-05
    • 1970-01-01
    • 1970-01-01
    • 2017-11-09
    • 1970-01-01
    相关资源
    最近更新 更多