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

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


On Fri, 25 Nov 2022 15:44:44 GMT, Roland Westrelin <roland at openjdk.org> wrote:

>> 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>

Thanks for reviewing this.

> You also need to remove the tests from the problem list.

Done.

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

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


More information about the hotspot-compiler-dev mailing list