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