RFR: 8263775: C2: igv_print() crash unexpectedly when called from debugger

Yi Yang yyang at openjdk.java.net
Thu Mar 18 06:17:58 UTC 2021


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

Checking if debugger igv printer already exists could fix this crash. (But even if applying this patch, igv_print can not work well since it 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

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

Commit messages:
 - fix igv_print crash

Changes: https://git.openjdk.java.net/jdk/pull/3065/files
 Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=3065&range=00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8263775
  Stats: 1 line in 1 file changed: 0 ins; 0 del; 1 mod
  Patch: https://git.openjdk.java.net/jdk/pull/3065.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/3065/head:pull/3065

PR: https://git.openjdk.java.net/jdk/pull/3065


More information about the hotspot-compiler-dev mailing list