This reproduces when JDK-8272970 is applied, which probably shakes out a different dependency graph than before. (EDIT: Oh wait, I probably misjudged this. That test is problemlisted by JDK-8271126, but the JDK-8272970 had a new name for the test config. The problemlist line mentions a confidential JDK-8271125, which I cannot see, so I am keeping this bug open in case this is caused by something else.).
This is the hunk from JDK-8272970 that needs to be applied:
https://cr.openjdk.java.net/~shade/8272976/JDK-8272976-partial-bug.patch
This does not reproduce if I add -XX:-UseVtableBasedCHA to the test configuration, so it is likely a regression from JDK-8266074.
$ CONF=linux-x86_64-server-fastdebug make run-test TEST=runtime/InvocationTests/invokevirtualTests.java
STDERR:
stdout: [INFO: Class file version: major: 62; minor: 0
Method access modifiers Call site location Status
# A.m() B.m() C.m() A pkgA B pkgB C pkgC
-------------------------------------------------------------------------------------------------
# To suppress the following error report, specify this argument
# after -XX: or in .hotspotrc: SuppressErrorAt=/dependencies.cpp:1883
#
# A fatal error has been detected by the Java Runtime Environment:
#
# Internal Error (/home/shade/trunks/jdk/src/hotspot/share/code/dependencies.cpp:1883), pid=3425343, tid=3425357
# assert(Dependencies::is_concrete_root_method(fm, ctxk) == Dependencies::is_concrete_method(m, ctxk)) failed: mismatch
Current thread (0x00007ff340238ba0): JavaThread "C2 CompilerThread0" daemon [_thread_in_vm, id=3425357, stack(0x00007ff3135fe000,0x00007ff3136ff000)]
Current CompileTask:
C2: 37554 13816 b 4 A::call (5 bytes)
Stack: [0x00007ff3135fe000,0x00007ff3136ff000], sp=0x00007ff3136fb5e0, free space=1013k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V [libjvm.so+0xad8e6f] Dependencies::find_unique_concrete_method(InstanceKlass*, Method*, Klass**)+0x13f
V [libjvm.so+0xad94dd] Dependencies::find_unique_concrete_method(InstanceKlass*, Method*, Klass*, Method*)+0x24d
V [libjvm.so+0x90425b] ciMethod::find_monomorphic_target(ciInstanceKlass*, ciInstanceKlass*, ciInstanceKlass*, bool)+0x1db
V [libjvm.so+0xb689ae] Compile::optimize_inlining(ciMethod*, ciInstanceKlass*, ciKlass*, ciMethod*, TypeOopPtr const*, bool) [clone .part.0]+0x17e
V [libjvm.so+0xb6975f] Compile::optimize_virtual_call(ciMethod*, ciInstanceKlass*, ciKlass*, ciMethod*, TypeOopPtr const*, bool, bool&, int&, bool)+0xef
V [libjvm.so+0xb716db] Parse::do_call()+0xf0b
V [libjvm.so+0x15a8a2f] Parse::do_one_bytecode()+0x11ff
V [libjvm.so+0x1595719] Parse::do_one_block()+0x619
V [libjvm.so+0x1596647] Parse::do_all_blocks()+0x127
V [libjvm.so+0x159b64a] Parse::Parse(JVMState*, ciMethod*, float)+0xb8a