RFR: 8066122: CollectionUsageThreshold.java times out when run with -XX:+ExplicitGCInvokesConcurrent

Michail Chernov michail.chernov at oracle.com
Mon Jan 12 13:59:37 UTC 2015


Hi,

Can someone else take a look at this update please?

Thanks,
Michail


On 25.12.2014 15:24, Dmitry Fazunenko wrote:
> Looks good to me. But you need to get a reviewer's approval.
>
> Thanks,
> Dima
>
> On 25.12.2014 15:20, Michail Chernov wrote:
>> Hi Dmitry,
>>
>> Tests were changed, now they use @requires.
>>
>> http://cr.openjdk.java.net/~eistepan/~mchernov/8066122/webrev.03/
>>
>> Thanks,
>> Michail
>>
>> On 25.12.2014 14:53, Dmitry Fazunenko wrote:
>>> Hi Michail,
>>>
>>> I strongly believe, that the right way to fix this issue is adding 
>>> @requires as you proposed originally.
>>> If one specifies external VM options it is expected that all tested 
>>> VM will be run with those options.
>>> If a test can't be run with some options, adding @requires will help 
>>> to not run.
>>> Trying to alter the external flags within tests is like a hack we 
>>> had to do to avoid failures. Before @requires there wasn't another 
>>> alternative.
>>> But now, we have got a mechanism to express that a test doesn't work 
>>> with certain options. Let's use it.
>>>
>>> Thanks,
>>> Dima
>>>
>>>
>>> On 24.12.2014 17:42, Michail Chernov wrote:
>>>> Hi,
>>>>
>>>> Please take a look at this fix.
>>>>
>>>> Webrev: 
>>>> http://cr.openjdk.java.net/~eistepan/~mchernov/8066122/webrev.02/
>>>> Bug: https://bugs.openjdk.java.net/browse/JDK-8066122
>>>>
>>>> Thanks,
>>>> Michail
>>>>
>>>>
>>>> On 22.12.2014 17:21, Michail Chernov wrote:
>>>>> Hi Kim,
>>>>>
>>>>> About jtreg and options filtering out - I know that Boolean 
>>>>> options filtering is not bug, it is feature. For example, in case 
>>>>> if we define -XX:+SomeImportanatOptionForThisTest for testing and 
>>>>> this options is undefined by VM flags which we define during 
>>>>> testing, it causes to wrong test result.
>>>>>
>>>>> I looked through other tests and found that I was wrong - 
>>>>> improvement for test failure is more simpler than I thought. 
>>>>> Currently I don't make any change in testlibrary.
>>>>>
>>>>> Suggestid fix is to add -XX:-ExplicitGCInvokesConcurrentto all 
>>>>> RunUtil.runTestClearGcOpts and RunUtil.runTestKeepGcOpts invocation.
>>>>>
>>>>> http://cr.openjdk.java.net/~eistepan/~mchernov/8066122/webrev.02/
>>>>>
>>>>> Thanks,
>>>>> Michail
>>>>>
>>>>> On 17.12.2014 20:33, Kim Barrett wrote:
>>>>>> [This is still not a real review, just kibitzing so far - I’ve 
>>>>>> looked at the changes, but don’t yet feel I understand the 
>>>>>> surrounding code well enough to say I’ve reviewed them.]
>>>>>>
>>>>>> On Dec 17, 2014, at 11:01 AM, Michail Chernov 
>>>>>> <michail.chernov at oracle.com> wrote:
>>>>>>> Test was fixed, now it excludes -XX:+ExplicitGCInvokesConcurrent 
>>>>>>> option from test run.
>>>>>>> Also fixed LowMemoryTest.java - it failed with same reason as 
>>>>>>> CollectionUsageThreshold.java.
>>>>>>>
>>>>>>> http://cr.openjdk.java.net/~eistepan/~mchernov/8066122/webrev.01/
>>>>>>>
>>>>>>> Function getFilteredTestJavaOpts in Util.java was got from 
>>>>>>> hotspot repo http://hg.openjdk.java.net/jdk9/hs-gc/hotspot/ from 
>>>>>>> testlibrary, because Util.java in GC and Util.java in Runtime 
>>>>>>> repos are different. This function can be useful not only for 
>>>>>>> this case.
>>>>>>>
>>>>>>> Simply adding of -XX:-ExplicitGCInvokesConcurrent won't work 
>>>>>>> because JTREG filtersout it in case if 
>>>>>>> -XX:+ExplicitGCInvokesConcurrent is defined as VM option.
>>>>>> That bit about jtreg filtering out 
>>>>>> -XX:-ExplicitGCInvokesConcurrent seems backward, at least for a 
>>>>>> case like this.  I wouldn’t have expected global options 
>>>>>> applicable to all tests to override test-specific arguments. 
>>>>>> Also, it would seem that would make the other tests my earlier 
>>>>>> comment was referring to not work either.  So I’m confused about 
>>>>>> why there’s all this extra filtering going on in this change and 
>>>>>> why it would be needed.  Unless there are important differences 
>>>>>> in some of the underlying infrastructure, like the different 
>>>>>> testlibrary variants (jdk/test/lib/testlibrary vs hotspot’s 
>>>>>> testlibrary?).  Sorry I’m not being clearer about this - I’m 
>>>>>> suspicious there is a deeper problem, but don’t know enough to 
>>>>>> point to its whereabouts.  (And that’s assuming my suspicions are 
>>>>>> correct, and I’m not just confused.)
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>
>>>
>>>
>>>
>>
>
>
>




More information about the hotspot-gc-dev mailing list