Patch review request - Test bug 7123972 test/java/lang/annotation/loaderLeak/Main.java fails intermittently
yiming.wang at oracle.com
Mon Jun 25 08:06:20 UTC 2012
On 2012/6/21 20:16, David Holmes wrote:
> Hi Eric,
> On 21/06/2012 8:57 PM, Eric Wang wrote:
>> Hi David,
>> Thanks for your review, I have updated the code by following your
>> suggestion. please see the attachment.
>> I'm not sure whether there's a better way to guarantee object finalized
>> by GC definitely within the given time. The proposed fix may work in
>> most cases but may still throw InterruptException if execution is
>> timeout (2 minutes of JTreg by default).
> There is no way to guarantee finalization in a specific timeframe, but
> if a simple test hasn't executed finalizers in 2 minutes then that in
> itself indicates a problem.
> Can you post a full webrev for this patch? I don't like seeing it out
> of context and am wondering exactly what we are trying to GC here.
>> On 2012/6/21 14:32, David Holmes wrote:
>>> Hi Eric,
>>> On 21/06/2012 4:05 PM, Eric Wang wrote:
>>>> I come from Java SQE team who are interested in regression test bug
>>>> Here is the first simple fix for bug 7123972
>>>> <http://monaco.us.oracle.com/detail.jsf?cr=7123972>, Can you please
>>>> to review and comment? Attachment is the patch Thanks!
>>>> This bug is caused by wrong assumption that the GC is started
>>>> immediately to recycle un-referenced objects after System.gc() called
>>>> one or two times.
>>>> The proposed solution is to make sure the un-referenced object is
>>>> recycled by GC before checking if the reference is null.
>>> Your patch makes its own assumptions - specifically that finalization
>>> must eventually run. At a minimum you should add
>>> System.runFinalization() calls after the System.gc() inside the loop.
>>> Even that is no guarantee in a general sense, though it should work
>>> for hotspot.
Hi Alan & David,
Thank you for your comments, sorry for reply this mail late as i was
just back from the dragon boat holiday.
I have updated the code again based on your suggestions: rename the flag
variable, increase the sleep time and remove it from problem list.
The attachment is the full webrev for this patch, Can you please review
again? Thanks a lot!
More information about the core-libs-dev