JDK-8239565 : sa/ClhsdbJhisto.java failed due to "assert(false) failed: unscheduable graph"
  • Type: Bug
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: 15
  • Priority: P2
  • Status: Closed
  • Resolution: Duplicate
  • OS: os_x
  • CPU: x86_64
  • Submitted: 2020-02-20
  • Updated: 2020-03-04
  • Resolved: 2020-03-03
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
15Resolved
Related Reports
Duplicate :  
Relates :  
Relates :  
Description
The following test failed in the JDK15 CI:

serviceability/sa/ClhsdbJhisto.java

Here's a snippet from the log file:

----------System.err:(54/4514)----------
Command line: ['/mesos/work_dir/jib-master/install/jdk-15+12-377/macosx-x64-debug.jdk/jdk-15/fastdebug/bin/java' '-cp' '/mesos/work_dir/slaves/7cfa21b9-afde-4338-a459-d3e0a13ec793-S841/frameworks/1735e8a2-a1db-478c-8104-60c8b0af87dd-0196/executors/babc0bef-3a44-4ba8-9518-9ddd53c5785e/runs/4b224af4-0348-4587-b6b1-67a93629484c/testoutput/test-support/jtreg_open_test_hotspot_jtreg_hotspot_cds_relocation/classes/0/serviceability/sa/ClhsdbJhisto.d:/mesos/work_dir/slaves/7cfa21b9-afde-4338-a459-d3e0a13ec793-S841/frameworks/1735e8a2-a1db-478c-8104-60c8b0af87dd-0196/executors/babc0bef-3a44-4ba8-9518-9ddd53c5785e/runs/4b224af4-0348-4587-b6b1-67a93629484c/testoutput/test-support/jtreg_open_test_hotspot_jtreg_hotspot_cds_relocation/classes/0/test/lib' 'LingeredAppWithInterface' '07df9948-374d-4ee1-b04e-8d54d1ed0591.lck' ]
 stdout: [hsdb> hsdb> !!! Unschedulable graph !!!
B557 idom=B521 depth=158  2510	Phi	===  1798  2511  2546  2547  2548  [[ 1783  1745 ]]  #memory  Memory: @BotPTR *+bot, idx=Bot; !jvms: Object::<init> @ bci:0 ReflectionFactory$GetReflectionFactoryAction::<init> @ bci:1 Class::getReflectionFactory @ bci:10 Class::getConstructor @ bci:18 VMObjectFactory::newObject @ bci:16 InstanceKlass::getFields @ bci:22 InstanceKlass::getFieldSignature @ bci:1 InstanceKlass::<init> @ bci:37
B544 idom=B542 depth=167  1746	decodeKlass_not_null	=== _  2572  [[ 1747  1745 ]] klass sun/jvm/hotspot/debugger/Address: 0x00007f98f7be0a00 *  Interface:klass sun/jvm/hotspot/debugger/Address: 0x00007f98f7be0a00 *
Failing node:  1745	loadKlass	=== _  2510  1746  [[ 1744 ]]  *  Klass: *
# To suppress the following error report, specify this argument
# after -XX: or in .hotspotrc:  SuppressErrorAt=/gcm.cpp:276
#
# A fatal error has been detected by the Java Runtime Environment:
#
#  Internal Error (/scratch/mesos/slaves/90726e33-be99-4e27-9d68-25dad266ef13-S2495/frameworks/1735e8a2-a1db-478c-8104-60c8b0af87dd-0196/executors/cbf54de2-c7d8-4123-80b0-2ceb6113e621/runs/d021cdfa-e0f2-4ba6-bc56-b5234c0cd94e/workspace/open/src/hotspot/share/opto/gcm.cpp:276), pid=53994, tid=43267
#  assert(false) failed: unscheduable graph
#
# JRE version: Java(TM) SE Runtime Environment (15.0+12) (fastdebug build 15-ea+12-377)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (fastdebug 15-ea+12-377, mixed mode, sharing, tiered, compressed oops, g1 gc, bsd-amd64)
# Core dump will be written. Default location: core.53994
#
# An error report file with more information is saved as:
# /mesos/work_dir/slaves/7cfa21b9-afde-4338-a459-d3e0a13ec793-S841/frameworks/1735e8a2-a1db-478c-8104-60c8b0af87dd-0196/executors/babc0bef-3a44-4ba8-9518-9ddd53c5785e/runs/4b224af4-0348-4587-b6b1-67a93629484c/testoutput/test-support/jtreg_open_test_hotspot_jtreg_hotspot_cds_relocation/scratch/0/hs_err_pid53994.log
#
# Compiler replay data is saved as:
# /mesos/work_dir/slaves/7cfa21b9-afde-4338-a459-d3e0a13ec793-S841/frameworks/1735e8a2-a1db-478c-8104-60c8b0af87dd-0196/executors/babc0bef-3a44-4ba8-9518-9ddd53c5785e/runs/4b224af4-0348-4587-b6b1-67a93629484c/testoutput/test-support/jtreg_open_test_hotspot_jtreg_hotspot_cds_relocation/scratch/0/replay_pid53994.log
#
# If you would like to submit a bug report, please visit:
#   https://bugreport.java.com/bugreport/crash.jsp
#
Current thread is 43267
Dumping core ...


Here's the crashing thread's stack:

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

Current thread (0x00007f98f6857800):  JavaThread "C2 CompilerThread0" daemon [_thread_in_native, id=43267, stack(0x000070000f519000,0x000070000f619000)]


Current CompileTask:
C2:   6452  641       4       sun.jvm.hotspot.oops.InstanceKlass::<init> (48 bytes)

Stack: [0x000070000f519000,0x000070000f619000],  sp=0x000070000f614b70,  free space=1006k
Native frames: (J=compiled Java code, A=aot compiled Java code, j=interpreted, Vv=VM code, C=native code)
V  [libjvm.dylib+0xb481b3]  VMError::report_and_die(int, char const*, char const*, __va_list_tag*, Thread*, unsigned char*, void*, void*, char const*, int, unsigned long)+0x6e5
V  [libjvm.dylib+0xb488cf]  VMError::report_and_die(Thread*, void*, char const*, int, char const*, char const*, __va_list_tag*)+0x47
V  [libjvm.dylib+0x3384d4]  report_vm_error(char const*, int, char const*, char const*, ...)+0x145
V  [libjvm.dylib+0x49c17b]  assert_dom(Block*, Block*, Node*, PhaseCFG const*)+0x15d
V  [libjvm.dylib+0x497608]  PhaseCFG::schedule_early(VectorSet&, Node_Stack&)+0x29a
V  [libjvm.dylib+0x499cc9]  PhaseCFG::global_code_motion()+0x1ad
V  [libjvm.dylib+0x49a291]  PhaseCFG::do_global_code_motion()+0x41
V  [libjvm.dylib+0x3042d4]  Compile::Code_Gen()+0x224
V  [libjvm.dylib+0x301fbb]  Compile::Compile(ciEnv*, C2Compiler*, ciMethod*, int, bool, bool, bool, DirectiveSet*)+0xbf1
V  [libjvm.dylib+0x2542c2]  C2Compiler::compile_method(ciEnv*, ciMethod*, int, DirectiveSet*)+0xe8
V  [libjvm.dylib+0x31432e]  CompileBroker::invoke_compiler_on_method(CompileTask*)+0x664
V  [libjvm.dylib+0x313abf]  CompileBroker::compiler_thread_loop()+0x283
V  [libjvm.dylib+0xabf38b]  JavaThread::thread_main_inner()+0x1a1
V  [libjvm.dylib+0xabef3d]  JavaThread::run()+0x23d
V  [libjvm.dylib+0xabb8e1]  Thread::call_run()+0x11b
V  [libjvm.dylib+0x93529c]  thread_native_entry(Thread*)+0xe0
C  [libsystem_pthread.dylib+0x3661]  _pthread_body+0x154
C  [libsystem_pthread.dylib+0x350d]  _pthread_body+0x0
C  [libsystem_pthread.dylib+0x2bf9]  thread_start+0xd
Comments
I pulled JDK-8239367 and the problem seems to be fixed now.
04-03-2020

I verify with a replay file that this is fixed by JDK-8239367
03-03-2020

I've been doing quite a bit of SA testing on macosx-x64-debug the past couple of days and have seen this turn up quite a few times in various tests. Seems to reproduce with serviceability/sa/TestRevPtrsForInvokeDynamic.java a lot more than with any other test. This test problem listed. I took it off to see if it would fail because the bug referenced in ProblemList.txt has very little info. It never fails for the reason in the bug, but fails due to this bug quite frequently.
03-03-2020

ILW = Assert during compilation due to unschedulable graph, intermittent with single test, no workaround but disable compilation = HLM = P3
21-02-2020

This showed up only once and I suspect that (similar to JDK-8239367 ) this is another regression from JDK-8238691. Roland, could you please have a look?
21-02-2020

See similar failure: JDK-8239367 RunThese30M.java failed due to "assert(false) failed: graph should be schedulable"
20-02-2020