Review quest for JDK-7067973: test/java/lang/management/MemoryMXBean/ hanging intermittently

Eric Wang at
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: 

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.
>> <>
>> 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.
>>>> <>
>>> 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 
>>>>>> 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 
>>>>>> <> 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...

More information about the serviceability-dev mailing list