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