RFR: 8349105: Pagination: exception initializing in a background thread [v3]
Andy Goryachev
angorya at openjdk.org
Mon Feb 10 17:06:15 UTC 2025
On Fri, 7 Feb 2025 23:00:37 GMT, Andy Goryachev <angorya at openjdk.org> wrote:
>> ## Root Cause
>> Animation gets started in a background thread, which causes the animation handler to run in the FX application thread, thus creating simultaneous access to the control's fields (list of children in this case).
>>
>> ## Solution
>> Postpone the animation unless running in the FX application thread. There is no functional difference if the component is created/used in the FX application thread.
>
> Andy Goryachev has updated the pull request incrementally with one additional commit since the last revision:
>
> gc
You are probably right about `System.gc()` being called too often. I would say though that the purpose of this test is to uncover initialization issues rather than finding other problems with the controls, so it's probably ok as is.
For the OOME - there seems to be no leak, since the memory usage drops down to initial values either using `System.gc()` in the loop, or when running in the IDE with the large heap: the memory fills up rather quickly, then drops again down to low value when one hits "Run GC" in the VirtualVM for example.
(we also have no leak detected in the skin test and no memory issues logged against Pagination in JBS)
-------------
PR Comment: https://git.openjdk.org/jfx/pull/1698#issuecomment-2648689041
More information about the openjfx-dev
mailing list