RFR (M): JDK-8038587: [TESTBUG] Create CDS tests to exercise region sizes and classlist

David Holmes david.holmes at oracle.com
Wed Apr 2 01:52:15 UTC 2014

On 2/04/2014 7:06 AM, Mikhailo Seledtsov wrote:
> Hi David,
>   Thank you for review and your feedback.
> The intent of this test is sanity check of basic functionality, making
> sure the shared classes are loaded w/o crashes or errors. Even though
> creating a shared archive with -Xshare:dump does exercise loading of the
> classes from the classlist, I believe SQE should verify it, by
> explicitly performing this operation. In my experience I have found that
> basic tests often find interesting bugs.
> I did drop the attempt to instantiate classes, because  the amount of
> classes in the class list that have default constructors and instantiate
> successfully is quite small, and not worth the trouble. Many classes
> fail instantiation due to the absence of UI, or other valid reasons.

Okay. Dropping that seems to alleviate most of my concerns.

> What I have found, however, as part of this exercise, is that the
> default SE classlist is optimized for the client, not the server.
> As for classes that are part of the classlist, but are really missing
> from rt.jar: will you consider this to be a bug?

No. The default classlist, as you note is defined for a particular 
scenario - at the moment "client" apps. But many of those classes are 
not present in Compact Profiles. So unless/until we have customized 
default classlists for Compact Profiles, missing classes can be 
expected. I don't see this as an issue that warrants such customized 


> Thank you,
> Misha
> On 4/1/2014 1:46 AM, David Holmes wrote:
>> Hi Misha,
>> On 28/03/2014 5:34 AM, Mikhailo Seledtsov wrote:
>>> Please review these 3 new CDS tests, an ongoing effort in implementation
>>> of the CDS test specification.
>>>      JBS: https://bugs.openjdk.java.net/browse/JDK-8038587
>>>      Webrev: http://cr.openjdk.java.net/~mseledtsov/8038587/webrev.00/
>>>      Testing:
>>>          Local testing on multiple platforms
>>>          JPRT to exercise the added tests:
>>> 2014-03-27-184953.mseledtsov.cds (PASS)
>>>          These tests found 2 bugs, and one potential issue
>> I don't quite get the point of the ClassListExerciser test. The
>> classlist may well contain classes that do not exist, or that can not
>> be instantiated in the test context, even if they have a no-arg
>> constructor. Simply creating an archive "exercises" the classlist, so
>> I'm really not sure what this test is intending to test.
>> Also this test won't work with SE Embedded as we have a customized
>> default classlist for the Embedded stack.
>> Thanks,
>> David
>>> Thank you,
>>> Misha

More information about the hotspot-runtime-dev mailing list