Details
-
Bug
-
Resolution: Fixed
-
P3
-
15, 16, 17, 18, 19
Backports
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8284270 | 18.0.2 | Tobias Hartmann | P3 | Resolved | Fixed | b02 |
JDK-8283828 | 17.0.4-oracle | Tobias Hartmann | P3 | Resolved | Fixed | b01 |
JDK-8284156 | 17.0.4 | Martin Doerr | P3 | Resolved | Fixed | b01 |
Description
assert(addp->is_AddP() && addp->outcnt() > 0) failed: Don't process dead nodes
To reproduce, run
test/hotspot/jtreg/compiler/arraycopy/TestArrayCopyAsLoadsStores.java
with additional flags:
-XX:-TieredCompilation -XX:+StressReflectiveCode -XX:-ReduceInitialCardMarks
commandline with jtreg:
path-to-jtreg/bin/jtreg -va -s -jdk:path-to-jdk/jdk/ -javaoptions:"-XX:-TieredCompilation -XX:+StressReflectiveCode -XX:-ReduceInitialCardMarks" open/test/hotspot/jtreg/compiler/arraycopy/TestArrayCopyAsLoadsStores.java
As far as I can see, it is the second run-statement in TestArrayCopyAsLoadsStores.java, which compared to the first run-statement uses the additional flags
-XX:+IgnoreUnrecognizedVMOptions -XX:+StressArrayCopyMacroNode
You can find the hs_err file in Attachment.
# To suppress the following error report, specify this argument
# after -XX: or in .hotspotrc: SuppressErrorAt=/escape.cpp:2494
#
# A fatal error has been detected by the Java Runtime Environment:
#
# Internal Error (/home/emanuel/Documents/closed-jdk/open/src/hotspot/share/opto/escape.cpp:2494), pid=256712, tid=256729
# assert(addp->is_AddP() && addp->outcnt() > 0) failed: Don't process dead nodes
#
# JRE version: Java(TM) SE Runtime Environment (19.0) (slowdebug build 19-internal-2022-02-28-1116307.emanuel...)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (slowdebug 19-internal-2022-02-28-1116307.emanuel..., mixed mode, compressed oops, compressed class ptrs, g1 gc, linux-amd64)
# Problematic frame:
# V [libjvm.so+0x9aa351] ConnectionGraph::find_second_addp(Node*, Node*)+0x4d
#
# Core dump will be written. Default location: Core dumps may be processed with "/usr/share/apport/apport %p %s %c %d %P %E" (or dumping to /home/emanuel/Documents/closed-jdk/JTwork/scratch/core.256712)
#
# An error report file with more information is saved as:
# /home/emanuel/Documents/closed-jdk/JTwork/scratch/hs_err_pid256712.log
#
# Compiler replay data is saved as:
# /home/emanuel/Documents/closed-jdk/JTwork/scratch/replay_pid256712.log
#
# If you would like to submit a bug report, please visit:
# https://bugreport.java.com/bugreport/crash.jsp
#
Current CompileTask:
C2: 1771 175 b compiler.arraycopy.TestArrayCopyAsLoadsStores::m1 (10 bytes)
Stack: [0x00007f10a5d1f000,0x00007f10a5e20000], sp=0x00007f10a5e1ab10, free space=1006k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V [libjvm.so+0x9aa351] ConnectionGraph::find_second_addp(Node*, Node*)+0x4d
V [libjvm.so+0x9a93cc] ConnectionGraph::is_oop_field(Node*, int, bool*)+0x288
V [libjvm.so+0x9a8e95] ConnectionGraph::add_field(Node*, PointsToNode::EscapeState, int)+0xcd
V [libjvm.so+0x9a2622] ConnectionGraph::add_node_to_connection_graph(Node*, Unique_Node_List*)+0x326
V [libjvm.so+0x9a0f7a] ConnectionGraph::compute_escape()+0x2b2
V [libjvm.so+0x9a0c27] ConnectionGraph::do_analysis(Compile*, PhaseIterGVN*)+0x117
V [libjvm.so+0x859959] Compile::Optimize()+0x7ab
V [libjvm.so+0x8530b5] Compile::Compile(ciEnv*, ciMethod*, int, Options, DirectiveSet*)+0x13cf
V [libjvm.so+0x748299] C2Compiler::compile_method(ciEnv*, ciMethod*, int, bool, DirectiveSet*)+0x185
V [libjvm.so+0x87088d] CompileBroker::invoke_compiler_on_method(CompileTask*)+0x899
V [libjvm.so+0x86f4e7] CompileBroker::compiler_thread_loop()+0x3df
V [libjvm.so+0x88fc3b] CompilerThread::thread_entry(JavaThread*, JavaThread*)+0x69
V [libjvm.so+0x124901f] JavaThread::thread_main_inner()+0x15d
V [libjvm.so+0x1248ebf] JavaThread::run()+0x167
V [libjvm.so+0x12467d0] Thread::call_run()+0x180
V [libjvm.so+0x105262b] thread_native_entry(Thread*)+0x18f
Attachments
Issue Links
- backported by
-
JDK-8283828 C2: assert(addp->is_AddP() && addp->outcnt() > 0) failed: Don't process dead nodes
- Resolved
-
JDK-8284156 C2: assert(addp->is_AddP() && addp->outcnt() > 0) failed: Don't process dead nodes
- Resolved
-
JDK-8284270 C2: assert(addp->is_AddP() && addp->outcnt() > 0) failed: Don't process dead nodes
- Resolved
- relates to
-
JDK-8256400 [lworld] C2 compilation fails with assert(addp->is_AddP() && addp->outcnt() > 0) failed: Don't process dead nodes
- Resolved
-
JDK-8238759 Clones should always keep the base pointer
- Resolved
- links to
-
Commit openjdk/jdk17u-dev/2c79c330
-
Commit openjdk/jdk18u/c9b8589a
-
Commit openjdk/jdk/d29c7e74
-
Review openjdk/jdk17u-dev/315
-
Review openjdk/jdk18u/59
-
Review openjdk/jdk/7728