多台机器,特别是8089(windows server 2003的64位机器),测试中经常出现TimeOut问题(有OutOfMemory原因,也在其他地方block过),几乎每次都出在event处。
根据网上google,我尝试过添加环境变量(在linux上也试过修改catalina.sh文件和profile文件),但是都没有效果。
上周五,根据同事jia的建议,我将event部分从bat的最后面提前到最前面。
最终的测试结果:没有出现TimeOut问题。
老大提醒:现在只能说,这种尝试方案,只是让这个问题没有再现(也可能是暂时没有再现)。
我们并没有找到这个问题的真正原因,所以不能肯定将来不再出现这个问题,所以要继续保持关注。
20091012追加->:
20090927下午,在8089机器上,我又做了一次bat测试(将event放置在最前面,policy放在最后面)。OutOfMemory问题又再现了,控制台终端的错误信息是:
[java] Exception in thread "main" java.lang.OutOfMemoryError: Java heap spa
ce
[java] at sun.nio.cs.UTF_8.newDecoder(UTF_8.java:47)
log文件显示,在**的for循环中停止了。
个人分析:
20090925下午的测试,这个问题没有再现,也许是测试前重启了机器的原因(清除内存)。
20090927下午的测试,这个问题再现,也许是内存本身就不够了。
尝试方案:在for循环中又增加了一些log打印语句。准备重启8089机器后,再次测试。
假如这个OutOfMemoryError问题再不出现的话,可以比较肯定我的猜测。
假如这个问题还是再现,那就看log语句,再想起他办法。
20090928下午:
上午的bat测试完成了,控制台终端的输出信息:
[java] 3) com.intel.dcmtest.functional.policycontrol.PolicyControlBasicEFF
[java] java.lang.OutOfMemoryError: Java heap space
[java] at java.util.HashMap.resize(HashMap.java:462)
[java] at java.util.LinkedHashMap.addEntry(LinkedHashMap.java:414)
[java] at java.util.HashMap.put(HashMap.java:385)
还是出现了一次OutOfMemoryError
但是,dcmtest.log文件中的信息显示,测试全部正常完成了,没有出现卡住的情况,测试结果介于前面两次之间。
说明:OutOfMemoryError这个问题,一直困扰着我们,到现在也没找到问题的根源。
继续关注,期待更新!
20091014追加->:
现在的临时处理办法是:
1.每天进行BAT大部队测试时,暂时先将event部分从中拿出,先保证测试结果报告中不出现timeout问题。
2.event部分再单独进行bat测试,昨天白天,我在6129版本,7个平台上的测试结果是:All OK!
老大建议:先为这次release尽量在几个平台上都做一下,以后还是要考虑怎么自动化的。