RFR (JAXP): 8146961: Fix PermGen memory leaks caused by static final Exceptions
Joe Wang
huizhe.wang at oracle.com
Wed Aug 17 16:30:02 UTC 2016
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