RFR: 8297343: TestStress*.java fail with "got different traces for the same seed"
    Roland Westrelin 
    roland at openjdk.org
       
    Thu Nov 24 15:35:29 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.
-------------
Commit messages:
 - comment
 - fix
Changes: https://git.openjdk.org/jdk/pull/11357/files
 Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=11357&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8297343
  Stats: 11 lines in 1 file changed: 9 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