为什么巡航控制在构建过程中重新启动?

时间:2012-05-17 14:29:19

标签: cruisecontrol

我们一直遇到在虚拟测试机器上运行长版本的cruisecontrol问题。日志表明巡航控制在构建期间重新启动。这就是cruisecontrol.log所显示的内容。

...
2012-05-17 08:09:30,719 [Thread-30] INFO  ScriptRunner     - ccAnt..
2012-05-17 08:09:31,202 [Thread-30] INFO  ScriptRunner     - ccAnt..
2012-05-17 08:09:32,042 [Thread-30] INFO  ScriptRunner     - ccAnt..
2012-05-17 08:03:49,674 [WrapperSimpleAppMain] INFO  Main             - CruiseControl     Version 2.8.4 Compiled on January 5 2012 0831
2012-05-17 08:03:49,674 [WrapperSimpleAppMain] INFO  XMLConfigManager - reading     settings from config file [C:\systest\cruisecontrol\systest-cc-config.xml]
2012-05-17 08:03:50,328 [WrapperSimpleAppMain] FATAL PluginXMLHelper  - Error configuring plugin.
java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
...

Cruisecontrol正在运行ant任务,然后突然间它似乎重新启动了第四行日志记录。有时构建会一直完成,有时会重新启动。

从7 64到xp32的不同版本的Windows上会出现此问题。虚拟机具有5 GB的ram和双核处理器。构建可能需要500到600分钟,一些单独的ant任务可能需要150分钟。

请注意,我们有一台独立的Windows 7 64计算机,它在巡航控制下运行相同的任务集,但不会出现此问题。它在大约1/7的虚拟机时间运行构建。

有人对此有任何想法吗?我最好的猜测是在包装器进程或父进程中触发超时。 wrapper.conf没有用于控制超时的变量。

我们正在使用CruiseControl 2.8.4。

NEW:

我刚刚在事件查看器中发现了以下两个事件,这些事件对应于巡航控制日志中,当巡航控制在构建过程中重新启动时。

  

JVM出现挂起:等待来自JVM的信号超时。

     

JVM没有按要求退出,终止

如何增加JVM的超时?

1 个答案:

答案 0 :(得分:0)

问题是CruiseControl包装器认为JVM挂了。打包JVM的包装器超时为30秒。我现在把它增加到一个小时。这page explains it