JDK-6827657 : CR 6754146 still occurs in 5.0u18-rev-b03
  • Type: Bug
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: 5.0u18-rev
  • Priority: P2
  • Status: Closed
  • Resolution: Duplicate
  • OS: solaris_9
  • CPU: sparc
  • Submitted: 2009-04-08
  • Updated: 2011-01-19
  • Resolved: 2009-09-28
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.
Other
5.0-poolResolved
Related Reports
Duplicate :  
Relates :  
Relates :  
Relates :  
Description
C2 compiler crash with 1.5.0_18-rev-b03.
The stack trace is still pretty the same as in CR 6754146 which claims that it is fixed in 1.5.0_18-rev-b03.

Stack: [0xb4500000,0xb4580000),  sp=0xb457e4b8,  free space=505k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V  [libjvm.so+0x20c554];;  unsigned PhaseChaitin::Split(unsigned)+0x340c
V  [libjvm.so+0x2181e0];;  void PhaseChaitin::Register_Allocate()+0x728
V  [libjvm.so+0x21c1dc];;  void Compile::Code_Gen()+0x2b8
V  [libjvm.so+0x2847d0];;  Compile::Compile(ciEnv*,C2Compiler*,ciMethod*,int,int)+0xc10
V  [libjvm.so+0x27a874];;  void C2Compiler::compile_method(ciEnv*,ciMethod*,int)+0xb8
V  [libjvm.so+0x27b424];;  void CompileBroker::invoke_compiler_on_method(CompileTask*)+0x4d4
V  [libjvm.so+0x337f0c];;  void CompileBroker::compiler_thread_loop()+0x454
V  [libjvm.so+0x2e0758];;  void JavaThread::run()+0x2b8
V  [libjvm.so+0x68437c];;  void*_start(void*)+0x210

Comments
EVALUATION Many thanks to Tom R. who ported his Replay Compiler Crush tool to 1.5 sources and was able to reproduce the problem in debug VM. After that the bug was identified as 6445745. The related bug 6403625 fix was backported into 5u17 but 6445745 fix was not. After applying the next changes the test passed: % sccs diffs -C src/share/vm/opto/parse1.cpp ------- parse1.cpp ------- *** /tmp/sccs.pBa4vy Mon Apr 13 14:35:51 2009 --- src/share/vm/opto/parse1.cpp Mon Apr 13 14:30:54 2009 *************** *** 248,254 **** if (C->log() != NULL) { C->log()->elem("OSR_mismatch local_index='%d'",index); } ! set_local(index, top()); // and ignore it for the loads continue; } --- 248,254 ---- if (C->log() != NULL) { C->log()->elem("OSR_mismatch local_index='%d'",index); } ! set_local(index, null()); // and ignore it for the loads continue; } *************** *** 289,294 **** --- 289,300 ---- Node* l = local(index); if (l->is_top()) continue; // nothing here const Type *type = osr_block->local_type_at(index); + if (type->isa_oopptr() != NULL) { + if (!live_oops.at(index)) { + // skip type check for dead oops + continue; + } + } set_local(index, check_interpreter_type(l, type, bad_type_exit)); }
13-04-2009

WORK AROUND Exclude compilation of the method: com.evermind.server.http.EvermindHttpServletRequest.init
08-04-2009