RFR: 8062536: [TESTBUG] Conflicting GC combinations in jdk tests

Yekaterina Kantserova yekaterina.kantserova at oracle.com
Thu Nov 6 10:27:24 UTC 2014


Hi Evgeniya,

As David has pointed out these jps tests are not testing gc. The 
-XX:+UseParallelGC is just an arbitrary chosen test flag. There should 
not be any conflicts either since these tests are running in driver mode:

...
  * @run driver TestJpsJar
...

which means no flags from above are accepted.

Thanks,
Katja



On 11/06/2014 11:05 AM, Evgeniya Stepanova wrote:
> Hi David,
>
> tag added because tests contain string
>  cmd.addAll(JpsHelper.getVmArgs());
>
> and JpsHelper defines
> ...
> public static final String[] VM_ARGS = {"-Xmx512m", "-XX:+UseParallelGC"};
> ...
> public static List<String> getVmArgs() throws IOException {
>         if (testVmArgs == null) {
>             testVmArgs = new ArrayList<>();
>             testVmArgs.addAll(Arrays.asList(VM_ARGS));
>             testVmArgs.add("-XX:Flags=" + 
> getVmFlagsFile().getAbsolutePath());
>         }
>         return testVmArgs;
>     }
>
> Tests itself wouldn't fail if we use another GC, tag added for 
> cleanup-if we use for example SerialGC we must be sure that tests 
> passed with this GC, not with another one. Now you will assume that 
> concrete test passed with Serial GC, but it run only with Parallel GC. 
> Plus there is no any sense to run test twice in TC (with different GC, 
> since it use only Parallel)
>
> Thanks,
> Evgeniya Stepanova
> On 06.11.2014 6:20, David Holmes wrote:
>> Hi Evgeniya,
>>
>> On 6/11/2014 1:33 AM, Evgeniya Stepanova wrote:
>>> Hi,
>>>
>>> Please review changes for 8062536, the OpenJDK/jdk part of the 
>>> JDK-8019361
>>>
>>> bug: https://bugs.openjdk.java.net/browse/JDK-8062536
>>> fix: http://cr.openjdk.java.net/~eistepan/8062536/webrev.00/
>>>
>>> Problem: Some tests explicitly set GC and fail when another GC is set
>>> outside
>>
>> I don't see why you have done this for the
>>
>> test/sun/tools/jps/TestJps*.java
>>
>> tests. They don't set any GC flags.
>>
>>> Solution: Such tests marked with the jtreg tag "requires" to skip test
>>> if there is a conflict
>>
>> Just wondering: Does a skipped test get a .jtr file showing it was 
>> skipped; or does it only appear in the higher-level jtreg log?
>>
>> Thanks,
>> David
>>
>>> Tested locally with different GC flags (-XX:+UseG1GC,
>>> -XX:+UseParallelGC, -XX:+UseSerialGC, -XX:+UseConcMarkSweep and without
>>> any GC flag). Tests are being excluded as expected. No tests failed
>>> because of the conflict.
>>>
>>> Thanks,
>>> Evgeniya Stepanova
>>>
>>> //
>
> -- 
> /Evgeniya Stepanova/

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openjdk.java.net/pipermail/hotspot-gc-dev/attachments/20141106/f012f007/attachment-0001.html>


More information about the hotspot-gc-dev mailing list