On 8.1.2015 03:33, David Holmes wrote:
On 8/01/2015 3:12 AM, Jaroslav Bachorik wrote:
Please, review the following test change
Issue : https://bugs.openjdk.java.net/browse/JDK-8062450
Webrev: http://cr.openjdk.java.net/~jbachorik/8062450/webrev.00
The test times out when "-XX:+ExplicitGCInvokesConcurrent" is specified.
The test relies on the MemoryMXBean.gc() invocation returning only after
the GC run has been completed. This is not true when
"-XX:+ExplicitGCInvokesConcurrent" is set and the test timing is thrown
off-balance resulting in deadlock.
The proposed solution is to add an appropriate "@requires" JTREG stance
to prevent running this test with incompatible settings.
Seems okay - though I'm wondering whether:
@requires vm.opt.ExplicitGCInvokesConcurrent != "true"
has the same affect?
Seems to have the same effect - I tried running the test with
"-XX:+ExplicitGCInvokesConcurrent", "-XX:-ExplicitGCInvokesConcurrent"
and without this flag all together and the test was properly ignored
only when "-XX:+ExplicitGCInvokesConcurrent" is used.
And do you also need to guard against
ExplicitGCInvokesConcurrentAndUnloadsClasses ?
Didn't see this flag used in testing but it would be wise to guard
against it as well, thanks. I would throw in DisableExplicitGC too.
-JB-
David
Thanks,
-JB-