JDK-6284125 : assert(is_instance_klass(),"bad cast"); using -XX:+CountCompiledCalls
  • Type: Bug
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: 6
  • Priority: P5
  • Status: Closed
  • Resolution: Duplicate
  • OS: solaris_10
  • CPU: x86
  • Submitted: 2005-06-10
  • Updated: 2014-06-10
  • Resolved: 2014-06-10
Related Reports
Duplicate :  
Relates :  
Description
By accident today while trying to collect sizes of i/vtable stub sizes on
x86/amd I found that the following will cause an assertion failure:

java -d64 -XX:+ShowMessageBoxOnError -XX:+CountCompiledCalls -Xcomp  -version

The assert is:

assert(is_instance_klass(),"bad cast");

and the call stack looks like:

  [7] ciObject::as_instance_klass(this = 0x50c918), line 192 in "ciObject.hpp"
  [8] TypeInstPtr::make(ptr = BotPTR, k = 0x50c918, xk = 0, o = (nil), offset = 92), line 2182 in "type.cpp"
  [9] Compile::flatten_alias_type(this = 0xfffffd7fb2bfd048, tj = 0x55fcb0), line 830 in "compile.cpp"
  [10] Compile::find_alias_type(this = 0xfffffd7fb2bfd048, adr_type = 0x55fcb0, no_create = 0), line 1014 in "compile.cpp"
  [11] Compile::alias_type(this = 0xfffffd7fb2bfd048, adr_type = 0x55fcb0), line 384 in "compile.hpp"
  [12] Compile::get_alias_index(this = 0xfffffd7fb2bfd048, at = 0x55fcb0), line 388 in "compile.hpp"
  [13] Compile::can_alias(this = 0xfffffd7fb2bfd048, adr_type = 0x55fcb0, alias_idx = 5), line 1151 in "compile.cpp"
  [14] insert_anti_dependences(LCA = 0x689e30, load = 0x63ce80, bbs = CLASS), line 369 in "gcm.cpp"
  [15] PhaseCFG::schedule_late(this = 0xfffffd7fb2bfc618, visited = CLASS, stack = CLASS, node_latency = CLASS), line 892 in "gcm.cpp"
  [16] PhaseCFG::GlobalCodeMotion(this = 0xfffffd7fb2bfc618, matcher = CLASS, unique = 590U, proj_list = CLASS), line 1074 in "gcm.cpp"
  [17] Compile::Code_Gen(this = 0xfffffd7fb2bfd048), line 1347 in "compile.cpp"
  [18] Compile::Compile(this = 0xfffffd7fb2bfd048, ci_env = 0xfffffd7fb2bfd930, compiler = 0x51d0f8, target = 0x5d80a8, osr_bci = -1, subsume_loads = 1), line 486 in "compile.cpp"
  [19] C2Compiler::compile_method(this = 0x51d0f8, env = 0xfffffd7fb2bfd930, target = 0x5d80a8, entry_bci = -1), line 28 in "c2compiler.cpp"
  [20] CompileBroker::invoke_compiler_on_method(task = 0x5ce2a8), line 1396 in "compileBroker.cpp"
###@###.### 2005-06-10 19:04:45 GMT