2014-06-17 36 views
5

Tôi đang sử dụng htmlunit (phiên bản 2.15); Tôi nhận thấy một vấn đề rò rỉ bộ nhớ với lớp WebClient: tất cả các cá thể webClient không được làm sạch bởi bộ thu gom rác.HTMLUNIT v. 2.15 Lỗi bế tắc lỗi

Vấn đề này dường như gây ra bởi chủ đề bế tắc:

JavaScriptExecutor.run(JavaScriptExecutor.java:182) 

Tôi cố gắng để gọi webclient.closeAllWindows cho từng trường hợp nhưng không hoạt động.
Tôi chắc chắn rằng TẤT CẢ các tham chiếu đối với các đối tượng webClient được deallocated.

Làm thế nào tôi có thể đúng cách làm sạch bộ nhớ từ webCác đối tượng địa lý để tránh OOM? Bộ gom rác không thể xóa các đối tượng webClient do khóa luồng.
Tôi đã googled hàng giờ nhưng tôi không tìm thấy giải pháp làm việc nào.
Cảm ơn.

+1

này trông hơi khác so với các vấn đề tôi phải đối mặt với một thời gian trước đây nhưng có lẽ có thể làm sáng tỏ: http://stackoverflow.com/questions/7200886 –

+3

Tôi đã xem trang này [http://sourceforge.net/p/htmlunit/bugs/1259/](http://sourceforge.net/p/htmlunit/bugs/1259/). Có vẻ như họ đã tìm ra giải pháp trong phiên bản trước, nhưng vẫn không hoạt động .. – Azincourt

Trả lời

2

Tôi đã phát hiện ra lỗi tương tự với 2.15 và tạo ra một trường hợp kiểm tra có thể lặp lại hiển thị vấn đề cho nhà phát triển. Hy vọng rằng họ sẽ giải quyết nó một cách nhanh chóng. Bạn có thể xem lỗi và trường hợp thử nghiệm của tôi ở đây ...

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

+0

Chỉ cần lưu ý rằng các nhà phát triển đã giải quyết vấn đề và tôi đã thử nghiệm ở đó với SVN SNAPSHOT và khắc phục sự cố. – Melloware

+0

Là bản tóm tắt cuối cùng HTMLUnit 2.16 với bản sửa lỗi này được phát hành chính thức vào ngày 20 tháng 4 năm 2015 – Melloware