RFR: 8253495: CDS generates non-deterministic output [v6]
Calvin Cheung
ccheung at openjdk.java.net
Mon Mar 14 22:11:45 UTC 2022
On Fri, 11 Mar 2022 06:55:23 GMT, Ioi Lam <iklam at openjdk.org> wrote:
>> This patch makes the result of "java -Xshare:dump" deterministic:
>> - Disabled new Java threads from launching. This is harmless. See comments in jvm.cpp
>> - Fixed a problem in hashtable ordering in heapShared.cpp
>> - BasicHashtableEntry has a gap on 64-bit platforms that may contain random bits. Added code to zero it.
>> - Enabled checking of $JAVA_HOME/lib/server/classes.jsa in make/scripts/compare.sh
>>
>> Note: $JAVA_HOME/lib/server/classes_ncoops.jsa is still non-deterministic. This will be fixed in [JDK-8282828](https://bugs.openjdk.java.net/browse/JDK-8282828).
>>
>> Testing under way:
>> - tier1~tier5
>> - Run all *-cmp-baseline jobs 20 times each (linux-aarch64-cmp-baseline, windows-x86-cmp-baseline, .... etc).
>
> Ioi Lam has updated the pull request incrementally with one additional commit since the last revision:
>
> Added helper function CollectedHeap::zap_filler_array_with
CDS changes look good. One minor comment on a test.
test/hotspot/jtreg/runtime/cds/appcds/javaldr/LockDuringDumpAgent.java line 65:
> 63: if (elapsed >= timeout) {
> 64: System.out.println("This JVM may decide to not launch any Java threads during -Xshare:dump.");
> 65: System.out.println("This is OK because no string objects be in a locked state during heap dump.");
Should `no string objects be` be `no string objects could be`?
-------------
Marked as reviewed by ccheung (Reviewer).
PR: https://git.openjdk.java.net/jdk/pull/7748
More information about the build-dev
mailing list