JDK-8269664 : CTW: guarantee(NULL == (void *)check_unique_concrete_method(ctxk, fm)) failed: verify dep
  • Type: Bug
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: 17,18
  • Priority: P2
  • Status: Closed
  • Resolution: Duplicate
  • Submitted: 2021-06-30
  • Updated: 2021-07-13
  • Resolved: 2021-07-13
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
17Resolved
Related Reports
Relates :  
Description
$ export JAVA_HOME=<point to fastdebug build>
$ export PATH=$JAVA_HOME/bin:$PATH
$ cd test/hotspot/jtreg/testlibrary/ctw
$ make
$ cd dist
$ wget https://cr.openjdk.java.net/~shade/8269664/atlas-graphdb-titan1-0.8-incubating.jar
$ ./ctw.sh atlas-graphdb-titan1-0.8-incubating.jar 

...

(/home/shade/trunks/jdk/src/hotspot/share/code/dependencies.cpp:1803), pid=1982157, tid=1982191
#  guarantee(NULL == (void *)check_unique_concrete_method(ctxk, fm)) failed: verify dep.
#
# JRE version: OpenJDK Runtime Environment (18.0) (fastdebug build 18-internal+0-adhoc.shade.jdk)
# Java VM: OpenJDK 64-Bit Server VM (fastdebug 18-internal+0-adhoc.shade.jdk, mixed mode, sharing, tiered, compressed oops, compressed class ptrs, g1 gc, linux-amd64)
# Problematic frame:
# V  [libjvm.so+0xad938f]  Dependencies::find_unique_concrete_method(InstanceKlass*, Method*, Klass**)+0x1bf

Current CompileTask:
C1:  15992 13460    b  1       org.apache.solr.request.DocValuesFacets::accumMultiSeg (102 bytes)

Stack: [0x00007fa60c724000,0x00007fa60c825000],  sp=0x00007fa60c822a70,  free space=1018k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V  [libjvm.so+0xad938f]  Dependencies::find_unique_concrete_method(InstanceKlass*, Method*, Klass**)+0x1bf
V  [libjvm.so+0xad99dd]  Dependencies::find_unique_concrete_method(InstanceKlass*, Method*, Klass*, Method*)+0x24d
V  [libjvm.so+0x90d93b]  ciMethod::find_monomorphic_target(ciInstanceKlass*, ciInstanceKlass*, ciInstanceKlass*, bool)+0x1db
V  [libjvm.so+0x7494fa]  GraphBuilder::invoke(Bytecodes::Code)+0xeaa
V  [libjvm.so+0x749fbb]  GraphBuilder::iterate_bytecodes_for_block(int)+0x73b
V  [libjvm.so+0x74bb3d]  GraphBuilder::iterate_all_blocks(bool)+0x8d
V  [libjvm.so+0x74cd4f]  GraphBuilder::GraphBuilder(Compilation*, IRScope*)+0x57f
V  [libjvm.so+0x75ce45]  IRScope::IRScope(Compilation*, IRScope*, int, ciMethod*, int, bool)+0x3e5
V  [libjvm.so+0x75cfd8]  IR::IR(Compilation*, ciMethod*, int)+0xf8
V  [libjvm.so+0x722021]  Compilation::build_hir() [clone .part.0]+0x261
V  [libjvm.so+0x7269d0]  Compilation::compile_java_method()+0x1c0
V  [libjvm.so+0x7277d4]  Compilation::compile_method()+0x1d4
V  [libjvm.so+0x7281ef]  Compilation::Compilation(AbstractCompiler*, ciEnv*, ciMethod*, int, BufferBlob*, bool, DirectiveSet*)+0x36f
V  [libjvm.so+0x729627]  Compiler::compile_method(ciEnv*, ciMethod*, int, bool, DirectiveSet*)+0x1a7
V  [libjvm.so+0xa3b009]  CompileBroker::invoke_compiler_on_method(CompileTask*)+0xf19
V  [libjvm.so+0xa3bcd8]  CompileBroker::compiler_thread_loop()+0x598
V  [libjvm.so+0x19bf98c]  JavaThread::thread_main_inner()+0x28c
V  [libjvm.so+0x19c5454]  Thread::call_run()+0x104
V  [libjvm.so+0x155725c]  thread_native_entry(Thread*)+0x10c


This only happens on the specially processed JAR file, hence the private download link.
Comments
Reproducible with UseVtableBasedCHA on but not off.
01-07-2021

ILW = crash, regression, -XX:-UseVtableBasedCHA workaround = HMM = P2
01-07-2021

Bisection points to JDK-8065760, making this bug a JDK 17 regression.
30-06-2021