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

Michail Chernov michail.chernov at oracle.com
Wed Dec 24 14:42:22 UTC 2014


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


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