Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-2121477 | 1.4.2_08 | Chris Phillips | P3 | Closed | Fixed | b01 |
When the attached .java and .cpp are executed in Linux/Itanium bix,
an crash occurs as the attached hs log files(crash-logs-142-tiger.tar.Z)
REPRODUCE:
1. Please compile J200314.java in javac and
NativeCall_0005fOverflow_0005fand_0005fDeopt.c and NativeCall_0005fOverflow_0005fand_0005fDeopt.c
in gcc on Linux (IA64) Box.
2. Invoke
"java -Djava.library.path=. -XX:CompileOnly=NativeCall_Overflow_and_Deopt.compiled J200314"
CONFIGURATION:
MPU : Intel Itenium 2
OS : Red Hat Enterprise Linux AS 3.0(Japanese)
JRE : 1.4.2_02 and 1.5.0-beta3-b55
NOTE:
The crash becomes not to occur when the following code block(FROM - TO)
is added.
====== line# 2580 in interpreter_ia64.cpp ===
....
__ call_VM_leaf(CAST_FROM_FN_PTR(address,
InterpreterRuntime::create_StackOverflowError), GR4_thread);
__ get_vm_result(GR8_exception);
__ add(pending_exception_addr, thread_(pending_exception));
__ st8(pending_exception_addr, GR8_exception);
{ /* FROM */
Label L;
const PredicateRegister is_recursive_call = PR15_SCRATCH;
__ cmp(is_recursive_call, PR0, 0, GR_Iprev_state, Assembler::notEqual);
__ br(is_recursive_call, L);
__ call_VM_leaf(CAST_FROM_FN_PTR(address,
SharedRuntime::exception_handler_for_return_address), GR_Lsave_RP);
__ add(pending_exception_addr, thread_(pending_exception));
__ mov(GR10, GR_RET);
__ ld8(GR8_exception, pending_exception_addr);
__ st8(pending_exception_addr, GR0);
__ mov(GR9_issuing_pc, GR_Lsave_RP);
__ mov(GR_Lsave_RP, GR10);
__ bind(L);
} /* TO */
// Unwind to caller's interpreter state.
__ pop_full_frame();
__ ret();
......
=============================================
an crash occurs as the attached hs log files(crash-logs-142-tiger.tar.Z)
REPRODUCE:
1. Please compile J200314.java in javac and
NativeCall_0005fOverflow_0005fand_0005fDeopt.c and NativeCall_0005fOverflow_0005fand_0005fDeopt.c
in gcc on Linux (IA64) Box.
2. Invoke
"java -Djava.library.path=. -XX:CompileOnly=NativeCall_Overflow_and_Deopt.compiled J200314"
CONFIGURATION:
MPU : Intel Itenium 2
OS : Red Hat Enterprise Linux AS 3.0(Japanese)
JRE : 1.4.2_02 and 1.5.0-beta3-b55
NOTE:
The crash becomes not to occur when the following code block(FROM - TO)
is added.
====== line# 2580 in interpreter_ia64.cpp ===
....
__ call_VM_leaf(CAST_FROM_FN_PTR(address,
InterpreterRuntime::create_StackOverflowError), GR4_thread);
__ get_vm_result(GR8_exception);
__ add(pending_exception_addr, thread_(pending_exception));
__ st8(pending_exception_addr, GR8_exception);
{ /* FROM */
Label L;
const PredicateRegister is_recursive_call = PR15_SCRATCH;
__ cmp(is_recursive_call, PR0, 0, GR_Iprev_state, Assembler::notEqual);
__ br(is_recursive_call, L);
__ call_VM_leaf(CAST_FROM_FN_PTR(address,
SharedRuntime::exception_handler_for_return_address), GR_Lsave_RP);
__ add(pending_exception_addr, thread_(pending_exception));
__ mov(GR10, GR_RET);
__ ld8(GR8_exception, pending_exception_addr);
__ st8(pending_exception_addr, GR0);
__ mov(GR9_issuing_pc, GR_Lsave_RP);
__ mov(GR_Lsave_RP, GR10);
__ bind(L);
} /* TO */
// Unwind to caller's interpreter state.
__ pop_full_frame();
__ ret();
......
=============================================
- backported by
-
JDK-2121477 IA64 - JVM crashes on Itanium 2 and AS3.0 box in 1.5b55 when stackoverflow occurs
-
- Closed
-