Java Solaris Communities Sun Store Join SDN My Profile Why Join?
 
Bug Database
Bug Detail
Quick Lists
Top 25 Bugs
Top 25 RFE's
Recently Closed Bugs
Printable Page Printable Page


Bug Database
Bug ID: 6623167
Votes 0
Synopsis C2 crashed in StoreCMNode::Value
Category hotspot:compiler2
Reported Against
Release Fixed hs10(b22), hs12(b02) (Bug ID:2159273) , hs11(b12) (Bug ID:2159831) , 6-open(b11) (Bug ID:2164152)
State 10-Fix Delivered, bug
Priority: 2-High
Related Bugs
Submit Date 29-OCT-2007
Description
When run customer application for debugging bug 6611406, the app crashed in C2 compiler:

  [1] __lwp_kill(0x13, 0x6, 0xffffffffb2c9fbc0, 0xfffffd7fff2f4c1e, 0x0, 0x6), at 0xfffffd7fff2f42ea
  [2] _thr_kill(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0xfffffd7fff2ef2d3
  [3] raise(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0xfffffd7fff29ce19
  [4] abort(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0xfffffd7fff27c970
  [5] os::abort(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0xfffffd7ffee7ba74
  [6] VMError::report_and_die(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0xfffffd7ffef87375
  [7] JVM_handle_solaris_signal(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0xfffffd7ffe915803
  [8] signalHandler(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0xfffffd7ffe915a8e
  [9] __sighndlr(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0xfffffd7fff2f1216
  [10] call_user_handler(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0xfffffd7fff2e64a2
  [11] sigacthandler(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0xfffffd7fff2e6688
  ---- called from signal handler with signal 11 (SIGSEGV) ------
=>[12] StoreCMNode::Value(0x7e70d0, 0xfffffd7fe9b70008, 0x1, 0x1, 0x0, 0x1f797e0), at 0xfffffd7ffee569d0
  [13] PhaseIterGVN::transform_old(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0xfffffd7ffe8a0cc3
  [14] PhaseIterGVN::optimize(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0xfffffd7ffe95f0d7
  [15] Compile::Optimize(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0xfffffd7ffe9b4d85
  [16] Compile::Compile(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0xfffffd7ffebc442c
  [17] C2Compiler::compile_method(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0xfffffd7ffe9b267d
  [18] CompileBroker::invoke_compiler_on_method(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0xfffffd7ffe9b220d
  [19] CompileBroker::compiler_thread_loop(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0xfffffd7ffea63fa8
  [20] compiler_thread_entry(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0xfffffd7ffea5eb49
  [21] JavaThread::thread_main_inner(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0xfffffd7ffea04e0d
  [22] JavaThread::run(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0xfffffd7ffea0472e
  [23] java_start(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0xfffffd7ffee7b01c
  [24] _thr_setup(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0xfffffd7fff2f0edb
  [25] _lwp_start(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0xfffffd7fff2f1110
Posted Date : 2007-10-29 22:07:28.0
Work Around
N/A
Evaluation
VM crashed since in(MemNode::OopStore) is 0.
The node, it seems, is dead since it's inputs are

control(0),mem(top),adr(0),val(0),oopst(0)

If I am correct then the problem is that StoreCMNode::Value()
miss first inputs checks which we have, for example, in StoreCMNode::Value() :

const Type *StoreNode::Value( PhaseTransform *phase ) const {
  // Either input is TOP ==> the result is TOP
  const Type *t1 = phase->type( in(MemNode::Memory) );
  if( t1 == Type::TOP ) return Type::TOP;
  const Type *t2 = phase->type( in(MemNode::Address) );
  if( t2 == Type::TOP ) return Type::TOP;
  const Type *t3 = phase->type( in(MemNode::ValueIn) );
  if( t3 == Type::TOP ) return Type::TOP;
Posted Date : 2007-10-29 23:05:23.0
Comments
  
  Include a link with my name & email   


PLEASE NOTE: JDK6 is formerly known as Project Mustang