RFR(xxs): 8203032: PrintMetaspaceDcmd fails: 'Non-Class:' missing from stdout/stderr

Thomas Stüfe thomas.stuefe at gmail.com
Tue May 15 12:04:53 UTC 2018


Hi,

I was able to reproduce the original bug by passing
-javaoptions:-XX:-UseCompressedOops to the jtreg harness, and I
verified that my proposed fix actually works. No firther tests needed.

Now I only need a second (Reviewer) review, since Axel is only Committer.

..Thomas

On Mon, May 14, 2018 at 3:31 PM, Thomas Stüfe <thomas.stuefe at gmail.com> wrote:
> (webrev: http://cr.openjdk.java.net/~stuefe/webrevs/8203032-PrintMetaspaceDCmd-fails/webrev.00/webrev/)
>
> Thanks, Thomas
>
> On Mon, May 14, 2018 at 11:52 AM, Thomas Stüfe <thomas.stuefe at gmail.com> wrote:
>> Hi all,
>>
>> may I please have reviews for this small fix:
>>
>> Bug: https://bugs.openjdk.java.net/browse/JDK-8203032
>>
>> Fix:
>>
>> diff -r 2f79462aab9b
>> test/hotspot/jtreg/runtime/Metaspace/PrintMetaspaceDcmd.java
>> --- a/test/hotspot/jtreg/runtime/Metaspace/PrintMetaspaceDcmd.java
>>  Mon May 07 09:11:21 2018 +0200
>> +++ b/test/hotspot/jtreg/runtime/Metaspace/PrintMetaspaceDcmd.java
>>  Mon May 14 11:46:23 2018 +0200
>> @@ -33,8 +33,8 @@
>>   * @library /test/lib
>>   * @modules java.base/jdk.internal.misc
>>   *          java.management
>> - * @run main/othervm -XX:MaxMetaspaceSize=201M -XX:+VerifyMetaspace
>> -XX:+UseCompressedClassPointers PrintMetaspaceDcmd
>> with-compressed-class-space
>> - * @run main/othervm -XX:MaxMetaspaceSize=201M -XX:+VerifyMetaspace
>> -XX:-UseCompressedClassPointers PrintMetaspaceDcmd
>> without-compressed-class-space
>> + * @run main/othervm -XX:MaxMetaspaceSize=201M -Xmx100M
>> -XX:+UseCompressedOops -XX:+UseCompressedClassPointers
>> PrintMetaspaceDcmd with-compressed-class-space
>> + * @run main/othervm -XX:MaxMetaspaceSize=201M -Xmx100M
>> -XX:-UseCompressedOops -XX:-UseCompressedClassPointers
>> PrintMetaspaceDcmd without-compressed-class-space
>>   */
>>
>>
>> There had been two issues:
>>
>> 1) I let the test run with -XX:+VerifyMetaspace, but that one is a
>> debug only option, so the test fails in release build. Well, that was
>> just stupid :)
>>
>> My fix is to just remove the option, since I do not know how to
>> specify an option for debug VMs only.
>>
>> 2) The test requires the VM to be started with
>> +UseCompressedClassPointers, and assumed +UseCompressedOops would be
>> always set, because it is default. However, the test is started with
>> CompressedOops explicitly turned off. I do not understand why but my
>> assumtion is that it has to do with -XX:MaxRAMPercentage=8 and running
>> on a big machine, where 8% of the available RAM would bring the VM
>> above the max. 32G heapsize needed to have compressed oops.
>>
>> My fix is to first, specify -XX:+UseCompressedOops explicitly, and
>> second to limit the max heap size to -Xmx100M. I hope this will
>> overrule the -XX:MaxRAMPercentage=8 handed down from above? But since
>> I do not know exactly via which way this option came down, I cannot
>> reproduce and test. So, I would be obliged if someone could test if
>> this fix fixes the issues on Oracles tests.
>>
>>
>> Thanks, Thomas


More information about the hotspot-runtime-dev mailing list