我们在虚拟测试机器上运行长时间构建的巡航控制一直存在问题。日志指示巡航控制在构建期间重新启动。这就是巡航控制.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:systestcruisecontrolsystest-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)
...
巡航控制正在运行蚂蚁任务,然后突然间它似乎重新启动,由第四行日志记录指示。有时构建会一直完成,有时会重新启动。
此问题发生在从 7 64 到 xp32 的不同版本的 Windows 上。虚拟机具有 5 GB 内存和双核处理器。构建可能需要 500 到 600 分钟,某些单独的 ant 任务可能需要 150 分钟。
请注意,我们有一台独立的 Windows 7 64 机器,它在巡航控制下运行相同的任务集,并且不会出现此问题。它运行构建的时间约为虚拟机的 1/7。
有人对此有任何想法吗?我最好的猜测是在包装进程或父 java 进程中触发超时。但是,wrapper.conf没有用于控制超时的变量。
我们正在使用巡航控制 2.8.4。
新增功能:
我刚刚在事件查看器中找到了以下两个事件,它们对应于巡航控制日志中巡航控制在构建过程中重新启动的时间。
JVM显示为挂起:等待来自 JVM 的信号超时。
JVM 未按请求退出,已终止
如何增加 JVM 的超时?
问题是 CruiseControl 包装器认为 JVM 已挂起。对 JVM 执行 ping 操作的包装器的超时时间为 30 秒。我现在已将其增加到一个小时。本页对此进行了说明。