2014-06-17 20 views
5

Sto utilizzando htmlunit (versione 2.15); Ho notato un problema di perdita di memoria con la classe WebClient: tutte le istanze webClient non vengono pulite da Garbage Collector.HTMLUNIT v. 2.15 Blocco deadlock deadlock

Il problema sembra causato da fili deadlock:

JavaScriptExecutor.run(JavaScriptExecutor.java:182) 

ho provato a richiamare webclient.closeAllWindows per ogni grado, ma non funziona.
Sono sicuro che i riferimenti ALL agli oggetti webClient sono deallocati.

Come posso correttamente pulita la memoria da oggetti WebClient per evitare OOM? Garbage Collector non può eliminare oggetti webClient a causa del blocco del thread.
Ho cercato su google per ore ma non trovo alcuna soluzione funzionante.
Grazie.

+1

Questo sembra un po 'diverso rispetto al problema che ho affrontato qualche tempo fa, ma forse potrebbe far luce: http://stackoverflow.com/questions/7200886 –

+3

Ho dato un'occhiata a questa pagina [http://sourceforge.net/p/htmlunit/bugs/1259/](http://sourceforge.net/p/htmlunit/bugs/1259/). Sembra che abbiano trovato una soluzione in una versione precedente, ma continua a non funzionare .. – Azincourt

risposta

2

Ho scoperto lo stesso bug con 2.15 e creato un caso di test riproducibile che mostra il problema agli sviluppatori. Spero che lo affrontino rapidamente. Si può vedere il bug e il mio banco di prova qui ...

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

+0

Solo una nota gli sviluppatori hanno risolto il problema e ho provato la soluzione con SVN SNAPSHOT e risolve il problema. – Melloware

+0

Come seguito finale HTMLUnit 2.16 con questa correzione di bug è ufficialmente rilasciato il 20 aprile 2015 – Melloware