RFR: 8332105: Exploded JDK does not include CDS [v2]
Amit Kumar
amitkumar at openjdk.org
Mon Jun 17 10:00:15 UTC 2024
On Mon, 17 Jun 2024 06:39:45 GMT, Thomas Stuefe <stuefe at openjdk.org> wrote:
>> An exploded JDK cannot be used with either -Xshare:on or -Xshare:auto. That causes tests like runtime/CompressedOops/CompressedCPUSpecificClassSpaceReservation.java to fail when running on an exploded JDK.
>>
>> Since an exploded JDK cannot use CDS, we should - for tests - treat it as if CDS had not been included.
>>
>>
>> ----
>>
>> Note that I was torn between two ways to fix this:
>>
>> - either this fix, which is rather simple and automatically updates the "vm.cds" `@requires` property
>> - or to expose "exploded-ness" as a boolean property via `WhiteBox` and `VMProps`(`jdk.exploded`). See this draft PR: https://github.com/openjdk/jdk/pull/19178 .
>>
>> The latter is cleaner and clearer, conveying the message of exploded-ness without muddling it with the CDS aspect. But OTOH the complexity may not be required.
>>
>> I can go either way, though I have a slight preference for this PR, which is why I posted it.
>
> Thomas Stuefe has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains two additional commits since the last revision:
>
> - Merge branch 'openjdk:master' into JDK-8332105-Exploded-JDK-should-count-as-if-CDS-had-not-been-included-in-the-build
> - JDK-8332105-Exploded-JDK-should-count-as-if-CDS-had-not-been-included-in-the-build
I still see some failures which are only failing in exploded-jvm;
java/foreign/TestLinker.java
java/lang/SecurityManager/CheckSecurityProvider.java
java/lang/StackWalker/VerifyStackTrace.java
java/lang/System/LoggerFinder/internal/BaseDefaultLoggerFinderTest/BaseDefaultLoggerFinderTest.java
java/lang/System/LoggerFinder/internal/BootstrapLogger/BootstrapLoggerTest.java
java/lang/System/LoggerFinder/internal/LoggerFinderLoaderTest/LoggerFinderLoaderTest.java
java/lang/invoke/RevealDirectTest.java
java/lang/invoke/lambda/LogGeneratedClassesTest.java
java/lang/reflect/records/IsRecordTest.java
java/lang/reflect/records/RecordPermissionsTest.java
java/lang/reflect/records/RecordReflectionTest.java
java/lang/runtime/ObjectMethodsTest.java
java/util/Currency/PropertiesTestRun.java
java/util/ResourceBundle/Bug6359330.java
java/util/TimeZone/TimeZoneDatePermissionCheckRun.java
java/util/logging/LogManager/Configuration/rootLoggerHandlers/BadRootLoggerHandlers.java
java/util/logging/LogManager/Configuration/rootLoggerHandlers/RootLoggerHandlers.java
java/util/logging/LogManager/Configuration/updateConfiguration/SimpleUpdateConfigWithInputStreamTest.java
java/util/logging/LogManager/Configuration/updateConfiguration/UpdateConfigurationTest.java
java/util/logging/Logger/getGlobal/TestGetGlobal.java
java/util/logging/Logger/getGlobal/TestGetGlobalByName.java
java/util/logging/Logger/getGlobal/TestGetGlobalConcurrent.java
java/util/logging/Logger/setResourceBundle/TestSetResourceBundle.java
java/util/logging/TestMainAppContext.java
jdk/internal/jimage/JImageReadTest.java
jdk/modules/etc/JmodExcludedFiles.java
sun/reflect/ReflectionFactory/ReflectionFactoryTest.java
sun/util/locale/provider/Bug8152817.java
Did you also notice them in tier1 with exploded-build ?
I only looked at `TestLinker.java` failure, It doesn't "seem" to be related to CDS:
TEST RESULT: Failed. Execution failed: `main' threw exception: java.util.ServiceConfigurationError: Locale provider adapter "CLDR"cannot be instantiated.
-------------
PR Comment: https://git.openjdk.org/jdk/pull/19188#issuecomment-2172935164
More information about the hotspot-dev
mailing list