JDK-8009460 : C2compiler crash in machnode::in_regmask(unsigned int)
  • Type: Bug
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: 7u10
  • Priority: P2
  • Status: Closed
  • Resolution: Fixed
  • Submitted: 2013-03-05
  • Updated: 2014-11-17
  • Resolved: 2013-03-12
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 7 JDK 8 Other
7u40Fixed 8 b81Fixed hs24Fixed
Related Reports
Relates :  
Description
 
SHORT SUMMARY:

HotSpot VM crashed during register allocation phase on C2 compiler thread 
when compiling some kind of java methods.

INDICATORS:

The stack trace from hs_err log indicated the crash occurred during register 
allocation.

 Stack: [0x00007f0d2638c000,0x00007f0d2648d000],  sp=0x00007f0d26488980,  
free space=1010k
 Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native 
code)
 V  [libjvm.so+0x6995cd]  MachNode::in_RegMask(unsigned int) const+0x3d
 V  [libjvm.so+0x345325]  PhaseChaitin::gather_lrg_masks(bool)+0x425
 V  [libjvm.so+0x347b9f]  PhaseChaitin::Register_Allocate()+0x26f
 V  [libjvm.so+0x3ba24d]  Compile::Code_Gen()+0x3ad
 V  [libjvm.so+0x3bce55]  Compile::Compile(ciEnv*, C2Compiler*, ciMethod*, 
int, bool, bool)+0xe15
 V  [libjvm.so+0x32eb62]  C2Compiler::compile_method(ciEnv*, ciMethod*, 
int)+0x142
 V  [libjvm.so+0x3c1d73]  
CompileBroker::invoke_compiler_on_method(CompileTask*)+0x323
 V  [libjvm.so+0x3c2edd]  CompileBroker::compiler_thread_loop()+0x43d
 V  [libjvm.so+0x8650c8]  JavaThread::thread_main_inner()+0xc8
 V  [libjvm.so+0x865218]  JavaThread::run()+0x138
 V  [libjvm.so+0x746c00]  java_start(Thread*)+0x100

COUNTER INDICATORS:

None

TRIGGERS:

The crash always occurs when HotSpot VM compiles some kind of java methods.

KNOWN WORKAROUND:

Give -XX:CompileCommand=exclude,<class,method> option for each java method 
causing a crash.

PRESENT SINCE:

7u6

HOW TO VERIFY:

No in-house reproducer. Need to be verified by the customer.

NOTES FOR SE:

None

REGRESSION:

No
 

Comments
In PhaseMacroExpand::expand_allocate_common(): - The Allocate -> MemBarStoreStore link is not broken if the graph has been transformed and the pattern matching that AllocateNode::storestore() uses cannot locate the MemBarStoreStore from the Allocate node. - fast_oop_rawmem is added as a precedence edge in one of the cases where a new MemBarStoreStore is created but it's not needed
05-03-2013