Review quest for JDK-7067973: test/java/lang/management/MemoryMXBean/CollectionUsageThreshold.java hanging intermittently
Eric Wang
yiming.wang at oracle.com
Wed Nov 27 21:21:05 PST 2013
Hi Mandy,
Yes, I have tested and all settings are passed, as you mentioned the
test hangs with -XX:+UseG1GC -XX:+ExplicitGCInvokesConcurrent and
default heap size as no GC happens on Old Gen. That is why to add -Xmx2m
and big object to make sure GC happens.
I didn't realized the -Xconcgc is same as -XX:+UseConcMarkSweepGC, i
have updated the webrev:
http://cr.openjdk.java.net/~ewang/JDK-7067973/webrev.00/
<http://cr.openjdk.java.net/%7Eewang/JDK-7067973/webrev.00/>
Thanks,
Eric
On 2013/11/27 10:17, Mandy Chung wrote:
> Hi Eric,
>
> I'll defer this to the serviceability team to sponsor it and also get
> one more review.
>
> I don't think you need all 7 @runs. -Xconcgc is equivalent to setting
> -XX:+UseConcMarkSweepGC. For G1 and CMS, you should use
> -XX:+ExplicitGCInvokesConcurrent so that System.gc will force a GC in
> foreground that you can count the GC reliably. The test wants to get
> notified for each System.gc and if there is any GC caused by
> allocation failure, the test would fail due to the unexpected GC
> count. It seems that you may run into this issue setting -Xmx2m.
>
> Have you got the test passed in all settings? I'm seeing that the
> test hangs with -XX:+UseG1GC -XX:+ExplicitGCInvokesConcurrent without
> -Xmx2m. Looks like there is no GC in the old gen - I'm not familiar
> with G1 if it allocates the big object in the old gen. Jarolsav - can
> you help Eric diagnose this issue? I recalled you ran into something
> like that before - maybe Staffan?
>
> thanks
> Mandy
>
> On 11/25/2013 8:53 PM, Eric Wang wrote:
>> Hi Mandy,
>>
>> 1. for L34-40, executing tests with 7 settings is trying to cover
>> more cases (normal cases and special cases), especially last 3
>> settings, as found that the test hung if using vm option
>> "-XX:+ExplicitGCInvokesConcurrent" with one of 3 options
>> -XX:+UseG1GC, -XX:+UseConcMarkSweepGC or -Xconcgc
>>
>> 2. for L61, that is right, the test has been updated. please review.
>> http://cr.openjdk.java.net/~ewang/JDK-7067973/webrev.00/
>> <http://cr.openjdk.java.net/%7Eewang/JDK-7067973/webrev.00/>
>>
>> Thanks,
>> Eric
>> On 2013/11/26 8:37, Mandy Chung wrote:
>>> Hi Eric,
>>>
>>> On 11/24/2013 7:41 PM, Eric Wang wrote:
>>>> Hi Mandy & All,
>>>>
>>>> Sorry for late!
>>>> The webrev below is just finished based on the comments from peers,
>>>> please help to review.
>>>> http://cr.openjdk.java.net/~ewang/JDK-7067973/webrev.00/
>>>> <http://cr.openjdk.java.net/%7Eewang/JDK-7067973/webrev.00/>
>>>>
>>>
>>> Thanks for the patch that looks okay. Some comments:
>>>
>>> L34-40: can you explain why you want to run all 7 settings? I would
>>> expect one for each collector.
>>> L61: I think the static checker variable is meant to be a local
>>> variable (and looks like "pools" and "managers" don't need to be
>>> static variable).
>>>
>>> Mandy
>>>
>>>> Thanks,
>>>> Eric
>>>> On 2013/11/15 10:55, Mandy Chung wrote:
>>>>> Hi Eric,
>>>>>
>>>>> On 11/14/2013 6:16 PM, Eric Wang wrote:
>>>>>> Hi Everyone,
>>>>>>
>>>>>> I'm working on the bug
>>>>>> https://bugs.openjdk.java.net/browse/JDK-7067973.
>>>>>>
>>>>>> It is a test bug as the test doesn't guarantee memory allocated
>>>>>> from the Old Gen, if the used memory is zero and doesn't cross
>>>>>> the threshold, no notification is sent, so both the main thread
>>>>>> and Checker thread are blocked to wait for the GC notification.
>>>>>>
>>>>>> so the suggested fix is similar as the fix
>>>>>> ResetPeakMemoryUsage.java
>>>>>> <http://hg.openjdk.java.net/jdk8/tl/jdk/rev/a0896634ab46> to
>>>>>> create big object to make sure the old gen usage crosses the
>>>>>> threshold and run test with different GC vmoptions.
>>>>>
>>>>> What are you looking for specifically? I have provided the above
>>>>> information. I need to see the webrev to provide further feedback.
>>>>>
>>>>> Mandy
>>>>
>>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.openjdk.java.net/pipermail/serviceability-dev/attachments/20131128/38fcf412/attachment-0001.html
More information about the serviceability-dev
mailing list