RFR: 8297343: TestStress*.java fail with "got different traces for the same seed" [v2]

Roland Westrelin roland at openjdk.org
Fri Nov 25 15:44:44 UTC 2022


> Root cause from Roberto's analysis:
> 
> "The regression seems to be due to the introduction of non-determinism
> in the node dumps of otherwise identical compilations."
> 
> "The problem seems to be that JDK-6312651 dumps interface sets in an
> order that is determined by the raw pointers of the set elements. This
> is unstable across different runs and leads to different node dumps
> for otherwise identical compilations."
> 
> "Stable node dumps are useful for debugging (e.g. when diffing
> compiler traces from two different runs), so the solution is probably
> dumping interface sets in some order (e.g. lexicographic order of each
> interface dump) that does not depend on raw pointer values."
> 
> This patch implements Roberto's recommendation by sorting interfaces
> on their ciBaseObject::_ident.

Roland Westrelin has updated the pull request incrementally with two additional commits since the last revision:

 - Update src/hotspot/share/opto/type.cpp
   
   Co-authored-by: Tobias Hartmann <tobias.hartmann at oracle.com>
 - Update src/hotspot/share/opto/type.cpp
   
   Co-authored-by: Tobias Hartmann <tobias.hartmann at oracle.com>

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/11357/files
  - new: https://git.openjdk.org/jdk/pull/11357/files/6914074e..a4aea940

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=11357&range=01
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=11357&range=00-01

  Stats: 2 lines in 1 file changed: 0 ins; 0 del; 2 mod
  Patch: https://git.openjdk.org/jdk/pull/11357.diff
  Fetch: git fetch https://git.openjdk.org/jdk pull/11357/head:pull/11357

PR: https://git.openjdk.org/jdk/pull/11357


More information about the hotspot-compiler-dev mailing list