来自 junit 测试的“分叉的 Java VM 异常退出”错误

2022-08-31 21:03:21

我有一个java junit测试,在开发计算机上单独运行时通过。我们还有一个 hudson 作业,它在带有 Java 1.5 的 Mac OS X 10.4 节点上运行所有通过 ant 调用的测试。直到最近,该测试一直在hudson版本中通过,但现在(没有相关的代码更改),每次都有一个测试失败,并出现以下错误:

错误信息

分叉的 Java VM 异常退出。请注意,报告中的时间并不反映 VM 退出之前的时间。

堆栈跟踪

junit.framework.AssertionFailedError:Forked Java VM 异常退出。请注意,报告中的时间并不反映 VM 退出之前的时间。

谷歌搜索显示许多其他人似乎遇到了同样的问题,但在那里我找不到任何答案。


答案 1

我遇到了类似的问题。我把 junit 测试作为蚂蚁任务运行。我添加了 showoutput=“yes” ant junit 属性并运行 ant junit 任务。然后,它显示了导致分叉的 jvm 退出的异常堆栈跟踪。


答案 2

对我来说,它是分叉VM(带有fork=“yes”的junit任务)中的“java.lang.OutOfMemoryError”,它使此消息出现在主VM中。

OutOfMemory在蚂蚁日志中是可见的(好吧,是可见的,因为它仍然存在)。

我使用蚂蚁1.7.1,所以没有希望升级蚂蚁。

在“Run>External tools>External tools>JRE”中放置与Eclipse.ini相同的VM参数后(-Xms40m -Xmx512m -XX:MaxPermSize=256M),问题就解决了。

我将分叉设置为“否”,以确保蚂蚁使用参数。


推荐