RFR: 8273317: crash in cmovP_cmpP_zero_zeroNode::bottom_type()

Vladimir Kozlov kvn at openjdk.java.net
Fri Oct 15 18:57:48 UTC 2021


On Sat, 4 Sep 2021 02:58:56 GMT, SUN Guoyun <duke at openjdk.java.net> wrote:

> Hi all,
> 
> When I implement a new instruct in adfile for match CMoveP with Cmp node,like this:
> 
> match(Set dst (CMoveP (Binary cop (CmpP op1 zero)) (Binary dst zero)));
> 
> this means right child of CmpP is immediate zero and right child of CmovP also is immediate zero, then an exception will occur:
> 
> <pre><code class="shell">
> #
> # A fatal error has been detected by the Java Runtime Environment:
> #
> # SIGSEGV (0xb) at pc=0x000000fff410fcc4, pid=11130, tid=11146
> #
> # JRE version: OpenJDK Runtime Environment (17.0) (build 17-internal+0-jenkins-slave-20210821140615-jdk-ls-a526852e137)
> # Java VM: OpenJDK 64-Bit Server VM (17-internal+0-jenkins-slave-20210821140615-jdk-ls-a526852e137, compiled mode, compressed oops, compressed class ptrs, g1 gc, linux-loongarch64)
> # Problematic frame:
> # V [libjvm.so+0x21fcc4] cmovP_cmpP_zero_zeroNode::bottom_type() const+0x44
> #
> # No core dump will be written. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
> #
> # If you would like to submit a bug report, please visit:
> # https://bugreport.java.com/bugreport/crash.jsp
> #
> </code></pre>
> 
> In this case, cmovP_ cmpP_ zero_ zeroNode only has three input nodes, so an exception is triggered. This is a patch to fix this problem. Please help review it 
> 
> Thanks,
> Sun Guoyun

Someone in Oracle have to run this patch through testing to make sure it passed. Changes affect shared code.

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

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


More information about the hotspot-compiler-dev mailing list