JDK-8238723 : yank_alloc_node must remove membar
  • Type: Bug
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: 15
  • Priority: P2
  • Status: Closed
  • Resolution: Fixed
  • Submitted: 2020-02-09
  • Updated: 2020-07-15
  • Resolved: 2020-02-24
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 15
15 b12Fixed
Related Reports
Relates :  
Relates :  
Description
A number of tests are failing in tier 7 with this crash

compiler/intrinsics/object/TestClone.java
serviceability/jvmti/RedefineClasses/TestRedefineObject.java


#
# A fatal error has been detected by the Java Runtime Environment:
#
#  Internal Error (open/src/hotspot/share/opto/phaseX.hpp:512), pid=26909, tid=26924
#  assert(dead->outcnt() == 0 && !dead->is_top()) failed: node must be dead
#
# JRE version: Java(TM) SE Runtime Environment (15.0+10) (fastdebug build 15-ea+10-286)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (fastdebug 15-ea+10-286, compiled mode, sharing, compressed oops, g1 gc, linux-amd64)
# Problematic frame:
# V  [libjvm.so+0x9900b5]  PhaseIterGVN::remove_dead_node(Node*)+0xe5
#
# Core dump will be written. Default location: Core dumps may be processed with "/opt/core.sh %p" (or dumping to /opt/mach5/mesos/work_dir/slaves/fcf4c0c4-d73e-4321-860c-6613427db92b-S1779/frameworks/1735e8a2-a1db-478c-8104-60c8b0af87dd-0196/executors/b8d51d97-bf74-4d53-aa3b-cf2c16ac3f87/runs/efe4bc3b-60ab-46b1-b57f-485d42c26400/testoutput/test-support/jtreg_open_test_hotspot_jtreg_hotspot_serviceability/scratch/1/core.26909)
#
# If you would like to submit a bug report, please visit:
#   https://bugreport.java.com/bugreport/crash.jsp
#

---------------  S U M M A R Y ------------

Command Line: -Dtest.class.path.prefix=/opt/mach5/mesos/work_dir/slaves/fcf4c0c4-d73e-4321-860c-6613427db92b-S1779/frameworks/1735e8a2-a1db-478c-8104-60c8b0af87dd-0196/executors/b8d51d97-bf74-4d53-aa3b-cf2c16ac3f87/runs/efe4bc3b-60ab-46b1-b57f-485d42c26400/testoutput/test-support/jtreg_open_test_hotspot_jtreg_hotspot_serviceability/classes/3/serviceability/jvmti/RedefineClasses/TestRedefineObject.d:/opt/mach5/mesos/work_dir/jib-master/install/jdk-15+10-286/src.full/open/test/hotspot/jtreg/serviceability/jvmti/RedefineClasses:/opt/mach5/mesos/work_dir/slaves/fcf4c0c4-d73e-4321-860c-6613427db92b-S1779/frameworks/1735e8a2-a1db-478c-8104-60c8b0af87dd-0196/executors/b8d51d97-bf74-4d53-aa3b-cf2c16ac3f87/runs/efe4bc3b-60ab-46b1-b57f-485d42c26400/testoutput/test-support/jtreg_open_test_hotspot_jtreg_hotspot_serviceability/classes/3/test/lib -Dtest.src=/opt/mach5/mesos/work_dir/jib-master/install/jdk-15+10-286/src.full/open/test/hotspot/jtreg/serviceability/jvmti/RedefineClasses -Dtest.src.path=/opt/mach5/mesos/work_dir/jib-master/install/jdk-15+10-286/src.full/open/test/hotspot/jtreg/serviceability/jvmti/RedefineClasses:/opt/mach5/mesos/work_dir/jib-master/install/jdk-15+10-286/src.full/open/test/lib -Dtest.classes=/opt/mach5/mesos/work_dir/slaves/fcf4c0c4-d73e-4321-860c-6613427db92b-S1779/frameworks/1735e8a2-a1db-478c-8104-60c8b0af87dd-0196/executors/b8d51d97-bf74-4d53-aa3b-cf2c16ac3f87/runs/efe4bc3b-60ab-46b1-b57f-485d42c26400/testoutput/test-support/jtreg_open_test_hotspot_jtreg_hotspot_serviceability/classes/3/serviceability/jvmti/RedefineClasses/TestRedefineObject.d -Dtest.class.path=/opt/mach5/mesos/work_dir/slaves/fcf4c0c4-d73e-4321-860c-6613427db92b-S1779/frameworks/1735e8a2-a1db-478c-8104-60c8b0af87dd-0196/executors/b8d51d97-bf74-4d53-aa3b-cf2c16ac3f87/runs/efe4bc3b-60ab-46b1-b57f-485d42c26400/testoutput/test-support/jtreg_open_test_hotspot_jtreg_hotspot_serviceability/classes/3/serviceability/jvmti/RedefineClasses/TestRedefineObject.d:/opt/mach5/mesos/work_dir/slaves/fcf4c0c4-d73e-4321-860c-6613427db92b-S1779/frameworks/1735e8a2-a1db-478c-8104-60c8b0af87dd-0196/executors/b8d51d97-bf74-4d53-aa3b-cf2c16ac3f87/runs/efe4bc3b-60ab-46b1-b57f-485d42c26400/testoutput/test-support/jtreg_open_test_hotspot_jtreg_hotspot_serviceability/classes/3/test/lib -Dtest.vm.opts=-XX:MaxRAMPercentage=6 -Dtest.tool.vm.opts=-J-XX:MaxRAMPercentage=6 -Dtest.compiler.opts= -Dtest.java.opts=-Xcomp -XX:+CreateCoredumpOnCrash -ea -esa -XX:CompileThreshold=100 -XX:+UnlockExperimentalVMOptions -server -XX:-TieredCompilation -XX:-DoEscapeAnalysis -Dtest.jdk=/opt/mach5/mesos/work_dir/jib-master/install/jdk-15+10-286/linux-x64-debug.jdk/jdk-15/fastdebug -Dcompile.jdk=/opt/mach5/mesos/work_dir/jib-master/install/jdk-15+10-286/linux-x64-debug.jdk/jdk-15/fastdebug -Dtest.timeout.factor=10.0 -Dtest.root=/opt/mach5/mesos/work_dir/jib-master/install/jdk-15+10-286/src.full/open/test/hotspot/jtreg -Dtest.modules=java.base/jdk.internal.misc java.instrument java.management -Dtest.nativepath=/opt/mach5/mesos/work_dir/jib-master/install/jdk-15+10-286/linux-x64-debug.test/hotspot/jtreg/native --add-modules=java.base,java.instrument,java.management --add-exports=java.base/jdk.internal.misc=ALL-UNNAMED -XX:MaxRAMPercentage=6 -Xcomp -XX:+CreateCoredumpOnCrash -ea -esa -XX:CompileThreshold=100 -XX:+UnlockExperimentalVMOptions -XX:-TieredCompilation -XX:-DoEscapeAnalysis -Djava.library.path=/opt/mach5/mesos/work_dir/jib-master/install/jdk-15+10-286/linux-x64-debug.test/hotspot/jtreg/native -javaagent:agent.jar -Xlog:redefine+class+load=debug,redefine+class+timer=info com.sun.javatest.regtest.agent.MainWrapper /opt/mach5/mesos/work_dir/slaves/fcf4c0c4-d73e-4321-860c-6613427db92b-S1779/frameworks/1735e8a2-a1db-478c-8104-60c8b0af87dd-0196/executors/b8d51d97-bf74-4d53-aa3b-cf2c16ac3f87/runs/efe4bc3b-60ab-46b1-b57f-485d42c26400/testoutput/test-support/jtreg_open_test_hotspot_jtreg_hotspot_serviceability/serviceability/jvmti/RedefineClasses/TestRedefineObject.d/main.0.jta

Host: ol7-build-test-803, Intel(R) Xeon(R) Platinum 8167M CPU @ 2.00GHz, 8 cores, 58G, Oracle Linux Server release 7.6
Time: Sun Feb  9 00:34:26 2020 UTC elapsed time: 22 seconds (0d 0h 0m 22s)

---------------  T H R E A D  ---------------

Current thread (0x00007feec45cc800):  JavaThread "C2 CompilerThread0" daemon [_thread_in_native, id=26924, stack(0x00007feea1978000,0x00007feea1a79000)]


Current CompileTask:
C2:  22781 3218   !b        Agent::main (69 bytes)

Stack: [0x00007feea1978000,0x00007feea1a79000],  sp=0x00007feea1a74410,  free space=1009k
Native frames: (J=compiled Java code, A=aot compiled Java code, j=interpreted, Vv=VM code, C=native code)
V  [libjvm.so+0x9900b5]  PhaseIterGVN::remove_dead_node(Node*)+0xe5
V  [libjvm.so+0x105da8b]  PhaseMacroExpand::expand_allocate_common(AllocateNode*, Node*, TypeFunc const*, unsigned char*)+0xe7b
V  [libjvm.so+0x1063963]  PhaseMacroExpand::expand_macro_nodes()+0xcc3
V  [libjvm.so+0x872d2e]  Compile::Optimize()+0xd7e
V  [libjvm.so+0x873ff4]  Compile::Compile(ciEnv*, C2Compiler*, ciMethod*, int, bool, bool, bool, DirectiveSet*)+0x1084
V  [libjvm.so+0x6e2ce0]  C2Compiler::compile_method(ciEnv*, ciMethod*, int, DirectiveSet*)+0x110
V  [libjvm.so+0x880bfc]  CompileBroker::invoke_compiler_on_method(CompileTask*)+0x2cc
V  [libjvm.so+0x881b98]  CompileBroker::compiler_thread_loop()+0x458
V  [libjvm.so+0x15288f6]  JavaThread::thread_main_inner()+0x226
V  [libjvm.so+0x152da86]  Thread::call_run()+0xf6
V  [libjvm.so+0x1262a0e]  thread_native_entry(Thread*)+0x10e


Comments
URL: https://hg.openjdk.java.net/jdk/jdk/rev/1db771b65440 User: neliasso Date: 2020-02-24 10:47:57 +0000
24-02-2020

http://cr.openjdk.java.net/~neliasso/8238723/webrev.01/
17-02-2020

Testing fix.
17-02-2020

This seems to be a problem only when running with -XX:-DoEscapeAnalysis. So not a problem for production environments, but creating lots of noise in our testing.
17-02-2020

We're seeing ~8 failures in every Tier7 and ~4 failures in every Tier8. Is there an ETA on the fix for this issue? There are currently 116 failures linked to this bug as of Sunday AM...
16-02-2020

ILW = assert failure (H); two tests in tier7, always reproducible, recent regression (M); possibly disable compilation/optimization of affected method (M) = P2 It seems this assert failure issue started with jdk-15+10-266 build, with JDK-8237581 fix changes - 'Improve allocation expansion' Hi [~neliasso], Request your help to check this please. Thanks
10-02-2020