-
Bug
-
Resolution: Unresolved
-
P3
-
18, 19, 20
Deliberately introducing a SIGSEGV during JIT compilation by the following change and running 'java', causes a timeout during error handling for me (release build on Linux x64, it requires some repetitions until it triggers):
diff --git a/src/hotspot/share/opto/loopopts.cpp b/src/hotspot/share/opto/loopopts.cpp
index 22e1a741981..ddbb595d69f 100644
--- a/src/hotspot/share/opto/loopopts.cpp
+++ b/src/hotspot/share/opto/loopopts.cpp
@@ -1500,7 +1500,7 @@ bool PhaseIdealLoop::try_merge_identical_ifs(Node* n) {
//
// clone pinned nodes thru the resulting regions
- push_pinned_nodes_thru_region(dom_if, new_true_region);
+ push_pinned_nodes_thru_region(dom_if, NULL);
push_pinned_nodes_thru_region(dom_if, new_false_region);
#
# A fatal error has been detected by the Java Runtime Environment:
#
# SIGSEGV (0xb) at pc=0x00007f97f33439f5, pid=946306, tid=946335
#
# JRE version: Java(TM) SE Runtime Environment (20.0) (build 20-internal-2022-11-24-1516579.tobias...)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (20-internal-2022-11-24-1516579.tobias..., mixed mode, tiered, compressed oops, compressed class ptrs, g1 gc, linux-amd64)
# Problematic frame:
# V [libjvm.so+0xb629f5] PhaseIdealLoop::push_pinned_nodes_thru_region(IfNode*, Node*)+0x15
#
# No core dump will be written. 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:
# /oracle/jdk3/hs_err_pid946306.log
[thread 946319 also had an error]
[thread 946336 also had an error]
[thread 946307 also had an error]
------ Timeout during error reporting after 120 s. ------
# [ timer expired, abort... ]
Aborted
The same happens when adding a 'guarantee(false, ...)'
#
# A fatal error has been detected by the Java Runtime Environment:
#
# Internal Error (loopopts.cpp:1502), pid=1014961, tid=1014979
# guarantee(false) failed: FAIL
#
# JRE version: Java(TM) SE Runtime Environment (20.0) (build 20-internal-2022-11-30-0744594.tohartma...)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (20-internal-2022-11-30-0744594.tohartma..., mixed mode, tiered, compressed oops, compressed class ptrs, g1 gc, linux-amd64)
# Problematic frame:
# V [libjvm.so+0xb6336c] PhaseIdealLoop::try_merge_identical_ifs(Node*)+0x22c
#
# Core dump will be written. Default location: /scratch/tohartma/jdk/core.1014961
#
# An error report file with more information is saved as:
# /scratch/tohartma/jdk/hs_err_pid1014961.log
[thread 1014974 also had an error]
[thread 1014980 also had an error]
[thread 1014962 also had an error]
------ Timeout during error reporting after 120 s. ------
# [ timer expired, abort... ]
Aborted (core dumped)
diff --git a/src/hotspot/share/opto/loopopts.cpp b/src/hotspot/share/opto/loopopts.cpp
index 22e1a741981..ddbb595d69f 100644
--- a/src/hotspot/share/opto/loopopts.cpp
+++ b/src/hotspot/share/opto/loopopts.cpp
@@ -1500,7 +1500,7 @@ bool PhaseIdealLoop::try_merge_identical_ifs(Node* n) {
//
// clone pinned nodes thru the resulting regions
- push_pinned_nodes_thru_region(dom_if, new_true_region);
+ push_pinned_nodes_thru_region(dom_if, NULL);
push_pinned_nodes_thru_region(dom_if, new_false_region);
#
# A fatal error has been detected by the Java Runtime Environment:
#
# SIGSEGV (0xb) at pc=0x00007f97f33439f5, pid=946306, tid=946335
#
# JRE version: Java(TM) SE Runtime Environment (20.0) (build 20-internal-2022-11-24-1516579.tobias...)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (20-internal-2022-11-24-1516579.tobias..., mixed mode, tiered, compressed oops, compressed class ptrs, g1 gc, linux-amd64)
# Problematic frame:
# V [libjvm.so+0xb629f5] PhaseIdealLoop::push_pinned_nodes_thru_region(IfNode*, Node*)+0x15
#
# No core dump will be written. 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:
# /oracle/jdk3/hs_err_pid946306.log
[thread 946319 also had an error]
[thread 946336 also had an error]
[thread 946307 also had an error]
------ Timeout during error reporting after 120 s. ------
# [ timer expired, abort... ]
Aborted
The same happens when adding a 'guarantee(false, ...)'
#
# A fatal error has been detected by the Java Runtime Environment:
#
# Internal Error (loopopts.cpp:1502), pid=1014961, tid=1014979
# guarantee(false) failed: FAIL
#
# JRE version: Java(TM) SE Runtime Environment (20.0) (build 20-internal-2022-11-30-0744594.tohartma...)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (20-internal-2022-11-30-0744594.tohartma..., mixed mode, tiered, compressed oops, compressed class ptrs, g1 gc, linux-amd64)
# Problematic frame:
# V [libjvm.so+0xb6336c] PhaseIdealLoop::try_merge_identical_ifs(Node*)+0x22c
#
# Core dump will be written. Default location: /scratch/tohartma/jdk/core.1014961
#
# An error report file with more information is saved as:
# /scratch/tohartma/jdk/hs_err_pid1014961.log
[thread 1014974 also had an error]
[thread 1014980 also had an error]
[thread 1014962 also had an error]
------ Timeout during error reporting after 120 s. ------
# [ timer expired, abort... ]
Aborted (core dumped)
- relates to
-
JDK-8271911 improve support of replay compilations for methods which use JSR292
- Resolved
-
JDK-8242181 [Linux] Show source information when printing native stack traces in hs_err files
- Resolved
-
JDK-8298213 sun/nio/cs/StreamEncoderClose.java crashed with UT enabled
- Open