RFR (JAXP): 8146961: Fix PermGen memory leaks caused by static final Exceptions

Aleks Efimov aleksej.efimov at oracle.com
Thu Aug 18 10:13:12 UTC 2016


Joe, Christoph,

Thanks for your reviews!

With Best Regards,

Aleksej


On 18/08/16 08:47, Langer, Christoph wrote:
> +1, nice fix.
>
>> -----Original Message-----
>> From: core-libs-dev [mailto:core-libs-dev-bounces at openjdk.java.net] On Behalf
>> Of Joe Wang
>> Sent: Mittwoch, 17. August 2016 18:30
>> To: Aleks Efimov <aleksej.efimov at oracle.com>
>> Cc: core-libs-dev <core-libs-dev at openjdk.java.net>
>> Subject: Re: RFR (JAXP): 8146961: Fix PermGen memory leaks caused by static
>> final Exceptions
>>
>> Looks good, Aleksej. Thanks for coming up with a well-thought solution
>> to get rid of the static RE field.
>>
>> Best,
>> Joe
>>
>> On 8/17/16, 7:04 AM, Aleks Efimov wrote:
>>> Hi Joe, Aleksey,
>>> Thank you for reviewing the initial fix.
>>>
>>> I followed the Joe's suggestion (thanks for that) and removed static
>>> 'abort' field completely, the functionality was replaced by throwing
>>> the exception of newly added type - AbortException. The new webrev
>>> with removed 'abort' can be found here:
>>> http://cr.openjdk.java.net/~aefimov/8146961/9/01
>>>
>>> The Tomcat reproducer attached to the bug report fails without the fix
>>> and passes with the new version of the fix.
>>> The JPRT and JCK testing again shows no related jaxp tests failures.
>>>
>>> Best Regards,
>>> Aleksej
>>>
>>>
>>> On 15/08/16 21:09, Joe Wang wrote:
>>>> Hi Aleksej,
>>>>
>>>> I suggest we get rid of the static abort. If RuntimeException
>>>> happens, check where it happens. The first use case looks suspicious
>>>> as it just returns if it's an instance of RE. For the 2nd case in DOM
>>>> error report, let's throw a RuntimeException with the specified error
>>>> message if error happens, and there's no handler or the handler
>>>> failed to handle it. (would be better than an empty RE)
>>>>
>>>> Best,
>>>> Joe
>>>>
>>>> On 8/15/16, 10:38 AM, Aleks Efimov wrote:
>>>>> Hi,
>>>>>
>>>>> Please, help to review the fix for memory leak [1] in
>>>>> com.sun.org.apache.xerces.internal.dom.DOMNormalizer that is caused
>>>>> by usage of static final exceptions.
>>>>> This problem was already fixed in Apache Xerces project [2] and I
>>>>> would like to backport it to JDK9 Xerces implementation.
>>>>> Webrev with the changes:
>>>>> http://cr.openjdk.java.net/~aefimov/8146961/9/00
>>>>>
>>>>> The Tomcat reproducer attached to the bug report fails without the
>>>>> fix and passes with the fix.
>>>>> The JPRT and JCK testing shows no jaxp tests failures with the
>>>>> proposed fix.
>>>>>
>>>>> With Best Regards,
>>>>> Aleksej
>>>>>
>>>>> [1] https://bugs.openjdk.java.net/browse/JDK-8146961
>>>>> [2] https://issues.apache.org/jira/browse/XERCESJ-1667
>>>>>



More information about the core-libs-dev mailing list