dragonwell-project / dragonwell8

Alibaba Dragonwell8 JDK
http://dragonwell-jdk.io
GNU General Public License v2.0
4.21k stars 497 forks source link

[Bug] RootNode will be cleared in IGVN #593

Closed kuaiwei closed 1 year ago

kuaiwei commented 1 year ago

Description In some case, C2 optimization will clear RootNode and cause crash

Steps to Reproduce Test renaissance benchmark with -XX:MemNodeLoopContinueThres=1

java -XX:MemNodeLoopContinueThres=1 -jar renaissance-jmh-0.14.1-8-gf4879ca.jar -f 0 -wi 3 -r 3

...

#
# A fatal error has been detected by the Java Runtime Environment:
#
#  SIGSEGV (0xb) at pc=0x0000ffff895fcc14, pid=130926, tid=0x0000ffff691d8150
#
# JRE version: OpenJDK Runtime Environment (8.0_382) (build 1.8.0_382-internal-kuaieik_2023_08_15_13_17-b00)
# Java VM: OpenJDK 64-Bit Server VM (25.382-b00 mixed mode linux-aarch64 compressed oops)
# Problematic frame:
# V  [libjvm.so+0x8dcc14]  PhaseCCP::transform(Node*)+0x24
#
# Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
#
# An error report file with more information is saved as:
# /home/kuaiwei.kw/lab/renaissance/hs_err_pid130926.log
[thread 281471795327312 also had an error]

Expected behavior No crash