2014-06-17 51 views
5

我正在使用htmlunit(version 2.15);我注意到WebClient类存在内存泄漏问题:所有webClient实例都没有被垃圾回收器清理。HTMLUNIT v。2.15错误线程死锁

这个问题似乎引起线程死锁:

JavaScriptExecutor.run(JavaScriptExecutor.java:182) 

我试着打电话给每个实例webclient.closeAllWindows,但不起作用。
我确信全部对webClient对象的引用被释放。

我该如何正确干净从webClient对象的内存,以避免OOM?由于线程锁定,垃圾收集器无法删除webClient对象。
我搜索了几个小时,但没有找到任何工作解决方案。
谢谢。

+1

这看起来比我遇到了前一阵子的问题有点不同,但也许可以提供一些线索:http://stackoverflow.com/questions/7200886 –

+3

我看了这个页面[http://sourceforge.net/p/htmlunit/bugs/1259/](http://sourceforge.net/p/htmlunit/bugs/1259/)。似乎他们在以前的版本中找到了解决方案,但仍然无法正常工作。 – Azincourt

回答

2

我发现了与2.15相同的错误,并创建了一个可重现的测试用例,向开发人员显示该问题。希望他们能够很快解决它。你可以看到错误和我的测试案例在这里...

http://sourceforge.net/p/htmlunit/bugs/1638/

+0

只需注意开发人员解决该问题的方法,然后使用SVN SNAPSHOT进行测试并解决问题。 – Melloware

+0

作为最终跟进HTMLUnit 2.16,此错误修复于2015年4月20日正式发布 – Melloware