RFR: 8244579: Windows "User Objects" leakage with WebView

Arun Joseph ajoseph at openjdk.java.net
Wed May 20 19:20:17 UTC 2020


On Wed, 20 May 2020 15:16:11 GMT, Kevin Rushforth <kcr at openjdk.org> wrote:

>> Cause: The Window Class `RunLoopMessageWindow` is never registered (this happens because
>> registerRunLoopMessageWindowClass() is moved to MainThreadWin.cpp while openjfx uses MainThreadJava.cpp) and this
>> causes every SetTimer() call in
>> [RunLoopWin.cpp](https://github.com/openjdk/jfx/blob/master/modules/javafx.web/src/main/native/Source/WTF/wtf/win/RunLoopWin.cpp)
>> to create a new user object instead of reusing the same object over again.  Fix: Call
>> registerRunLoopMessageWindowClass() from MainThreadJava.cpp  Test: To verify open any webpage using WebView on WIndows,
>> with and without the fix and compare the number of user objects created using Windows Task Manager.
>
> Is there a way to create a test?

I think it will be difficult to write a test for this. While debugging, RunLoop was mostly used by threads managing
heap. It can't be directly accessed via JavaScript. Also, this issue only affects Windows. The best way would be to
monitor the user objects created.

-------------

PR: https://git.openjdk.java.net/jfx/pull/229


More information about the openjfx-dev mailing list