JDK-8262299 : C2 compilation fails with "modified node was not processed by IGVN.transform_old()"
  • Type: Bug
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: 16,17
  • Priority: P4
  • Status: Resolved
  • Resolution: Fixed
  • Submitted: 2021-02-24
  • Updated: 2021-03-03
  • Resolved: 2021-02-25
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 17
17 b12Fixed
Related Reports
Relates :  
Description
compiler/arraycopy/TestInstanceCloneAsLoadsStores.java triggers the following assert when executed with -XX:-ReduceInitialCardMarks -XX:-ReduceBulkZeroing -XX:-ReduceFieldZeroing:

CompileCommand: dontinline compiler/arraycopy/TestInstanceCloneAsLoadsStores.m* bool dontinline = true
 164  MergeMem  === _  1  49  96  96  1  96  169  174  179  184  189  [[]]  { N96:rawptr:BotPTR N96:java/lang/Object+8 * [narrowklass] - N96:java/lang/Object * N169:compiler/arraycopy/TestInstanceCloneUtils$D:exact+12 * N174:compiler/arraycopy/TestInstanceCloneUtils$D:exact+16 * N179:compiler/arraycopy/TestInstanceCloneUtils$D:exact+24 * N184:compiler/arraycopy/TestInstanceCloneUtils$D:exact+28 * N189:compiler/arraycopy/TestInstanceCloneUtils$D:exact+30 * }  Memory: @BotPTR *+bot, idx=Bot;
# To suppress the following error report, specify this argument
# after -XX: or in .hotspotrc:  SuppressErrorAt=/phaseX.cpp:1103
#
# A fatal error has been detected by the Java Runtime Environment:
#
#  Internal Error (/opt/mach5/mesos/work_dir/slaves/983c483a-6907-44e0-ad29-98c7183575e2-S14904/frameworks/1735e8a2-a1db-478c-8104-60c8b0af87dd-0196/executors/768c53e6-1238-4a69-aabb-67088d091392/runs/92dc5626-aaeb-42f5-bba5-36b6e98bdb2b/workspace/open/src/hotspot/share/opto/phaseX.cpp:1103), pid=2608, tid=2623
#  fatal error: modified node was not processed by IGVN.transform_old()

Current CompileTask:
C2:   1078  168    b        compiler.arraycopy.TestInstanceCloneAsLoadsStores::m1 (5 bytes)

Stack: [0x00007f9d40efb000,0x00007f9d40ffc000],  sp=0x00007f9d40ff74f0,  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+0x15ac3ee]  PhaseIterGVN::verify_PhaseIterGVN()+0xde
V  [libjvm.so+0xa0adc6]  Compile::Optimize()+0x216
V  [libjvm.so+0xa0deb5]  Compile::Compile(ciEnv*, ciMethod*, int, bool, bool, bool, bool, DirectiveSet*)+0x1905
V  [libjvm.so+0x83a09a]  C2Compiler::compile_method(ciEnv*, ciMethod*, int, bool, DirectiveSet*)+0x1ea
V  [libjvm.so+0xa1dd81]  CompileBroker::invoke_compiler_on_method(CompileTask*)+0xea1
V  [libjvm.so+0xa1ea08]  CompileBroker::compiler_thread_loop()+0x5a8
V  [libjvm.so+0x1840986]  JavaThread::thread_main_inner()+0x256
V  [libjvm.so+0x1846e00]  Thread::call_run()+0x100
V  [libjvm.so+0x1532fb6]  thread_native_entry(Thread*)+0x116

Comments
Changeset: a83e802b Author: Tobias Hartmann <thartmann@openjdk.org> Date: 2021-02-25 08:53:27 +0000 URL: https://git.openjdk.java.net/jdk/commit/a83e802b
25-02-2021

ILW = Assert during C2 compilation (does not affect product), single test with non-default flags, disable compilation of affected method = MLM = P4
24-02-2021