RFR: 8263775: C2: igv_print() crash unexpectedly when called from debugger
Yi Yang
yyang at openjdk.java.net
Thu Mar 18 09:35:49 UTC 2021
On Thu, 18 Mar 2021 09:12:41 GMT, Christian Hagedorn <chagedorn at openjdk.org> wrote:
>> When investigating another c2 crash, I found igv_print crashed unexpectedly when called from the debugger. The problem is no matter whether we have created an igv printer in `Compile::igv_print_method_to_file`:
>>
>> https://github.com/openjdk/jdk/blob/444a80b920f7cb61b4607d9d245d410bf872b27f/src/hotspot/share/opto/compile.cpp#L4792-L4800
>>
>> `Compile:: should_print`(called by `print_method()`) is not aware of _debug_file_printer, it would create a new one, and entering into unexpected network_stream initialization(See hs_err on JBS):
>>
>> https://github.com/openjdk/jdk/blob/444a80b920f7cb61b4607d9d245d410bf872b27f/src/hotspot/share/opto/compile.hpp#L628-L638
>>
>> For debugging purposes, we can skip checking should_print(), printing graph directly. (But even if applying this patch, igv_print can not work well since it seems produces an ill-formed ideal graph whose tags are not enclosed, thus can not be recognized by idealgraphvisualizer, this looks like a related by different fix, so I might create another PR to address this?)
>>
>> Thanks!
>> Yang
>
>> (But even if applying this patch, igv_print can not work well since it seems produces an ill-formed ideal graph whose tags are not enclosed, thus can not be recognized by idealgraphvisualizer, this looks like a related by different fix, so I might create another PR to address this?)
>
> When does this happen? Can you reliably reproduce this? I also noticed in the past that sometimes when you want to print the graph during some graph modification then IGV could have problems showing the graph. Yes, please open a new bug for that.
Hi @chhagedorn , thanks for your review! It happens when VM crashes before VM exits normally, the ideal graph xml will be ill-formed, this is fairly a common case when debugging another crash/bug.
(This PR looks trivial, so one reviewer might enough)
-------------
PR: https://git.openjdk.java.net/jdk/pull/3065
More information about the hotspot-compiler-dev
mailing list