RFR: 8344822: CDS BulkLoaderTest.java#dynamic fails with COH

David Holmes dholmes at openjdk.org
Wed Nov 27 05:30:43 UTC 2024


On Wed, 27 Nov 2024 00:31:49 GMT, Ioi Lam <iklam at openjdk.org> wrote:

> Creating a dynamic CDS archive (with `-XX:ArchiveClassesAtExit=<foo>.jsa`) requires that the current JVM process is using a static archive (which is usually the default CDS archive included in the JDK). The tests fails because the JVM is executed with `-XX:+UseCompactObjectHeaders`, but the JDK doesn't include a default CDS archive that's compatible with such VM options.
> 
> The fix is to detect for this situation, and create a temporary static archive to be used by the test.
> 
> Unfortunately this detection requires WhiteBox, so all test cases that use `CDSAppTester` with `@run ... DYNAMIC` need to be modified to add the appropriate jtreg tags.

Seems reasonable.

Thanks

test/lib/jdk/test/lib/cds/CDSAppTester.java line 215:

> 213:                 opts.setArchiveName(tempBaseArchiveFile);
> 214:                 opts.addSuffix("-Djava.class.path=");
> 215:                 OutputAnalyzer out = CDSTestUtils.createArchive(opts);

Just to be clear, this creates the right kind of archive based on whether +UCOH is used or not?

-------------

Marked as reviewed by dholmes (Reviewer).

PR Review: https://git.openjdk.org/jdk/pull/22403#pullrequestreview-2463928360
PR Review Comment: https://git.openjdk.org/jdk/pull/22403#discussion_r1859960496


More information about the hotspot-runtime-dev mailing list