2012-01-10 112 views
2

我有一套Junit測試,每次我在本地運行時都會通過測試。我已經設置了一個工作來運行該套件,哈德森使用ANT來調用測試。該套件在哈德遜機器中傳遞了相當長的一段時間。但從最近3天開始,一次測試失敗(隨機)。而我們並沒有改變代碼。錯誤是:隨機測試案例失敗 - 分叉的JVM異常退出。

錯誤消息

Forked Java VM exited abnormally. Please note the time in the report does not reflect the time until the VM exit. 

堆棧跟蹤

junit.framework.AssertionFailedError: Forked Java VM exited abnormally. Please note the time in the report does not reflect the time until the VM exit. 

我找不到對谷歌正確答案。我查了here

但它似乎沒有幫助。

哈德森機的詳細資料: Windows 2003服務器的Java 1.6.0.29

+0

可能重複[「分叉的Java虛擬機退出異常」錯誤從junit測試](http://stackoverflow.com/questions/1846329/forked-java-vm-exited-abnormally-error-from-junit-測試),但你可能想看看這裏:http://softwaresalariman.blogspot.com/2008/09/netbeans-junit-java-vm-exited.html – dmeister 2012-01-10 07:32:12

+0

在博客作者已經提到不要叉新的JVM,但在我的情況下是不可能的。它可能看起來重複,但這個問題也有解決方案:) – 2012-01-10 10:18:16

+2

檢查內存使用哈德森建設project.My它是一個java bug。 – ayengin 2012-01-11 20:37:46

回答

0

你還可以訪問控制檯日誌失敗哈德森建立?如果JVM正在「意外」退出,您可能會發現JVM缺陷導致其崩潰,這不會出現在JUnit日誌中(我認爲這是您獲取錯誤消息/堆棧跟蹤的地方),但可能會在Ant的輸出中做。

或者:

  • 是否運行Ant版本?我聽說過在Ant之前的一個bug 1.7.1導致System.exit()在某些情況下被調用。
  • 您可能想要檢查您的代碼是否沒有捕捉到它不應該有的例外(例如catch Throwable)。