<Swing Dev> RFR 6542439:Significant memory leak in BasicComboBoxUI and MetalComboBoxButton

Sergey Bylokhov Sergey.Bylokhov at oracle.com
Fri Aug 28 03:54:11 UTC 2020


+1

On 27.08.2020 01:33, Prasanta Sadhukhan wrote:
> Thanks Sergey for your review. I have added AquaComboBoxButton also in the fix as the regression test fails for Aqua L&F.
> 
> http://cr.openjdk.java.net/~psadhukhan/6542439/webrev.1/
> 
> mach5 job link is in JBS.
> 
> Regards
> Prasanta
> On 22-Aug-20 8:27 AM, Sergey Bylokhov wrote:
>> Looks fine.
>>
>> On 20.08.2020 06:54, Prasanta Sadhukhan wrote:
>>> Hi All,
>>>
>>> Please review a fix for an memory leak issue whereby the BasicComboBoxUI uses a CellRenderer pane to paint the renderer component
>>> retrieved via getListCellRenderer from the JList instance. CellRendererPane paint the component but it never removes it from its component hierarchy.
>>> JCombobox can produce dynamic renderer component instances in getListCellRenderer method. Each one of these instances
>>> will linger in memory because it remains in the component hierarchy of the CellRendererPane resulting in memory leak.
>>>
>>> This is solved for JList in JDK-5044798 <https://bugs.openjdk.java.net/browse/JDK-5044798>.
>>>
>>> The fix is now extended for BasicComboBoxUI where removeAll() of components is done after all painting is done.
>>>
>>> The JDK-5044798 <https://bugs.openjdk.java.net/browse/JDK-5044798> regression testcase is used for JComboBox with all L&Fs and other *ComboBoxUIs are fixed similarly.
>>>
>>> Bug: https://bugs.openjdk.java.net/browse/JDK-6542439
>>>
>>> webrev: http://cr.openjdk.java.net/~psadhukhan/6542439/webrev.0/
>>>
>>> Regards
>>> Prasanta
>>
>>


-- 
Best regards, Sergey.


More information about the swing-dev mailing list