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