2014-06-17 3 views
5

나는 을 사용하고 있습니다. htmlunit (version 2.15); WebClient 클래스에서 메모리 누수 문제가 발생했습니다. 모든 WebClient 인스턴스는 가비지 수집기로 정리되지 않습니다.HTMLUNIT v2.15 버그 스레드 교착 상태

이 문제는 스레드 교착 상태로 인한 것 같다 :

JavaScriptExecutor.run(JavaScriptExecutor.java:182) 

나는 각 인스턴스에 대해 webclient.closeAllWindows 전화를 시도했지만 작동하지 않습니다.
ALL webClient 객체에 대한 참조가 할당 해제 된 것 같습니다.

어떻게 적절하게 OOM을 피하기 위해 webClient 객체의 메모리를 지울 수 있습니까? 가비지 수집기는 스레드 잠금으로 인해 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