The CDS classlist is generated with the `-XX:DumpLoadedClassList` option, which 
writes the name of the classes as they are being loaded. Since class loading 
order is affected by thread switching, the classes may appear in a 
non-deterministic order.

Previously, the build compare script would sort the classlist before comparing. 
Since https://bugs.openjdk.java.net/browse/JDK-8272113, each class in the 
classlist has a new ID, so even after sorting, the contents would differ:


$ diff classlist.1 classlist.2
207,208c207,208
< jdk/internal/misc/VM id: 201
< jdk/internal/util/SystemProps id: 202
---
> jdk/internal/misc/VM id: 202
> jdk/internal/util/SystemProps id: 201


The fix is to strip the id before doing the file comparison.

Tested with:

`mach5 remote-build -b 
linux-aarch64-cmp-baseline,macosx-x64-cmp-baseline,linux-x64-cmp-baseline,linux-arm32-open-cmp-baseline,windows-x64-cmp-baseline`

-------------

Commit messages:
 - 8272113: Build compare script fails with differences in classlist

Changes: https://git.openjdk.java.net/jdk/pull/5041/files
 Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=5041&range=00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8272113
  Stats: 8 lines in 1 file changed: 6 ins; 0 del; 2 mod
  Patch: https://git.openjdk.java.net/jdk/pull/5041.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/5041/head:pull/5041

PR: https://git.openjdk.java.net/jdk/pull/5041

Reply via email to