RFR: 8375055: C2: Better dead loop detection printout [v4]

Quan Anh Mai qamai at openjdk.org
Tue Jan 13 11:20:55 UTC 2026


On Tue, 13 Jan 2026 10:56:50 GMT, Aleksey Shipilev <shade at openjdk.org> wrote:

>> Chasing the maddeningly intermittent CTW failure. When C2 fails dead loop verification checks, it prints:
>> 
>> 
>> # Internal Error (/home/shipilev/shipilev-jdk/src/hotspot/share/opto/phaseX.cpp:784), pid=64465, tid=917
>> # assert(no_dead_loop) failed: dead loop detected
>> 
>> 
>> It also dumps the bad node graph to tty. This is not really convenient in automated testing and/or driver tests like CTW. With this fix, we now print:
>> 
>> 
>> #  Internal Error (/home/shade/trunks/jdk/src/hotspot/share/opto/phaseX.cpp:776), pid=973305, tid=973372
>> #  fatal error: Dead loop detected, node references itself: CastPP
>> 
>> 
>> ...which allows to have more clues where things may go wrong, and allows to classify the failures better as well.
>> 
>> Additional testing:
>>  - [x] Ad-hoc crashes with selected seeds
>>  - [x] Linux x86_64 server fastdebug, `hotspot_compiler`
>>  - [x] Linux x86_64 server fastdebug, `applications/ctw/modules`
>
> Aleksey Shipilev has updated the pull request incrementally with two additional commits since the last revision:
> 
>  - Also print node idx
>  - Indenting

Marked as reviewed by qamai (Committer).

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

PR Review: https://git.openjdk.org/jdk/pull/29185#pullrequestreview-3655250434


More information about the hotspot-compiler-dev mailing list