-
Bug
-
Resolution: Fixed
-
P4
-
16, 17
-
b12
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8263280 | 16.0.2 | Aleksey Shipilev | P4 | Resolved | Fixed | b01 |
JDK-8262867 | 16.0.1 | Aleksey Shipilev | P4 | Resolved | Fixed | b08 |
$ CONF=linux-x86_64-server-fastdebug make run-test TEST=runtime/cds/serviceability/ReplaceCriticalClassesForSubgraphs.java TEST_VM_OPTS=-XX:-CompactStrings
[0.055s][info][cds,heap] subgraph sun.util.locale.BaseLocale cannot be used because JVMTI ClassFileLoadHook is enabled
[0.057s][info][cds,heap] subgraph jdk.internal.math.FDBigInteger cannot be used because JVMTI ClassFileLoadHook is enabled
[0.057s][info][cds,heap] subgraph jdk.internal.loader.ArchivedClassLoaders cannot be used because full module graph is disabled
[0.057s][info][cds,heap] subgraph jdk.internal.module.ArchivedBootLayer cannot be used because full module graph is disabled
[0.057s][info][cds,heap] subgraph java.lang.Module$ArchivedData cannot be used because full module graph is disabled
[0.066s][info][cds,heap] subgraph java.lang.Module$ArchivedData cannot be used because full module graph is disabled
[0.066s][info][cds,heap] Verify heap before initializing static field(s) in java.util.ImmutableCollections
[0.071s][info][cds,heap] initialize_from_archived_subgraph java.util.ImmutableCollections 0x0000000800086e90 (early)
[0.071s][info][cds,heap] Verify heap after initializing static field(s) in java.util.ImmutableCollections
[0.085s][info][cds,heap] Verify heap before initializing static field(s) in java.lang.Integer$IntegerCache
[0.092s][info][cds,heap] initialize_from_archived_subgraph java.lang.Integer$IntegerCache 0x000000080003f520 (early)
[0.092s][info][cds,heap] Verify heap after initializing static field(s) in java.lang.Integer$IntegerCache
[0.109s][info][cds,heap] subgraph jdk.internal.module.ArchivedBootLayer cannot be used because full module graph is disabled
[0.109s][info][cds,heap] Verify heap before initializing static field(s) in java.lang.module.Configuration
[0.120s][info][cds,heap] initialize_from_archived_subgraph java.lang.module.Configuration 0x0000000800190498 (early)
[0.120s][info][cds,heap] Verify heap after initializing static field(s) in java.lang.module.Configuration
[0.127s][info][cds,heap] subgraph jdk.internal.loader.ArchivedClassLoaders cannot be used because full module graph is disabled
[0.134s][info][cds,heap] Verify heap before initializing static field(s) in jdk.internal.module.ArchivedModuleGraph
[0.140s][info][cds,heap] initialize_from_archived_subgraph jdk.internal.module.ArchivedModuleGraph 0x0000000800193bf8 (early)
[0.141s][info][cds,heap] Verify heap after initializing static field(s) in jdk.internal.module.ArchivedModuleGraph
[0.163s][info][cds,heap] subgraph sun.util.locale.BaseLocale cannot be used because JVMTI ClassFileLoadHook is enabled
wb.isSharedClass(class java.lang.Long): true == true
If I can come to here without crashing, things should be OK
];
stderr: [Agent library loaded with options = java/lang/Long,XXX,XXX
CLASS_NAME = java/lang/Long, FROM = XXX, TO = XXX
openjdk version "17-internal" 2021-09-14
OpenJDK Runtime Environment (fastdebug build 17-internal+0-adhoc.shade.jdk)
OpenJDK 64-Bit Server VM (fastdebug build 17-internal+0-adhoc.shade.jdk, mixed mode, sharing)
]
exitValue = 0
java.lang.RuntimeException: 'initialize_from_archived_subgraph java.lang.Long$LongCache' missing from stdout/stderr
I think when -XX:-CompactStrings are applied, the module graph contains IntegerCache, not LongCache.
[0.055s][info][cds,heap] subgraph sun.util.locale.BaseLocale cannot be used because JVMTI ClassFileLoadHook is enabled
[0.057s][info][cds,heap] subgraph jdk.internal.math.FDBigInteger cannot be used because JVMTI ClassFileLoadHook is enabled
[0.057s][info][cds,heap] subgraph jdk.internal.loader.ArchivedClassLoaders cannot be used because full module graph is disabled
[0.057s][info][cds,heap] subgraph jdk.internal.module.ArchivedBootLayer cannot be used because full module graph is disabled
[0.057s][info][cds,heap] subgraph java.lang.Module$ArchivedData cannot be used because full module graph is disabled
[0.066s][info][cds,heap] subgraph java.lang.Module$ArchivedData cannot be used because full module graph is disabled
[0.066s][info][cds,heap] Verify heap before initializing static field(s) in java.util.ImmutableCollections
[0.071s][info][cds,heap] initialize_from_archived_subgraph java.util.ImmutableCollections 0x0000000800086e90 (early)
[0.071s][info][cds,heap] Verify heap after initializing static field(s) in java.util.ImmutableCollections
[0.085s][info][cds,heap] Verify heap before initializing static field(s) in java.lang.Integer$IntegerCache
[0.092s][info][cds,heap] initialize_from_archived_subgraph java.lang.Integer$IntegerCache 0x000000080003f520 (early)
[0.092s][info][cds,heap] Verify heap after initializing static field(s) in java.lang.Integer$IntegerCache
[0.109s][info][cds,heap] subgraph jdk.internal.module.ArchivedBootLayer cannot be used because full module graph is disabled
[0.109s][info][cds,heap] Verify heap before initializing static field(s) in java.lang.module.Configuration
[0.120s][info][cds,heap] initialize_from_archived_subgraph java.lang.module.Configuration 0x0000000800190498 (early)
[0.120s][info][cds,heap] Verify heap after initializing static field(s) in java.lang.module.Configuration
[0.127s][info][cds,heap] subgraph jdk.internal.loader.ArchivedClassLoaders cannot be used because full module graph is disabled
[0.134s][info][cds,heap] Verify heap before initializing static field(s) in jdk.internal.module.ArchivedModuleGraph
[0.140s][info][cds,heap] initialize_from_archived_subgraph jdk.internal.module.ArchivedModuleGraph 0x0000000800193bf8 (early)
[0.141s][info][cds,heap] Verify heap after initializing static field(s) in jdk.internal.module.ArchivedModuleGraph
[0.163s][info][cds,heap] subgraph sun.util.locale.BaseLocale cannot be used because JVMTI ClassFileLoadHook is enabled
wb.isSharedClass(class java.lang.Long): true == true
If I can come to here without crashing, things should be OK
];
stderr: [Agent library loaded with options = java/lang/Long,XXX,XXX
CLASS_NAME = java/lang/Long, FROM = XXX, TO = XXX
openjdk version "17-internal" 2021-09-14
OpenJDK Runtime Environment (fastdebug build 17-internal+0-adhoc.shade.jdk)
OpenJDK 64-Bit Server VM (fastdebug build 17-internal+0-adhoc.shade.jdk, mixed mode, sharing)
]
exitValue = 0
java.lang.RuntimeException: 'initialize_from_archived_subgraph java.lang.Long$LongCache' missing from stdout/stderr
I think when -XX:-CompactStrings are applied, the module graph contains IntegerCache, not LongCache.
- backported by
-
JDK-8262867 runtime/cds/serviceability/ReplaceCriticalClassesForSubgraphs.java fails without CompactStrings
- Resolved
-
JDK-8263280 runtime/cds/serviceability/ReplaceCriticalClassesForSubgraphs.java fails without CompactStrings
- Resolved
- relates to
-
JDK-8214086 [TESTBUG] Fix subgraph test cases in ReplaceCriticalClasses.java
- Resolved
- links to
-
Commit openjdk/jdk16u/6de0fae7
-
Commit openjdk/jdk/9f0f0c98
-
Review openjdk/jdk16u/60
-
Review openjdk/jdk/2783
(2 links to)