United StatesChange Country, Oracle Worldwide Web Sites Communities I am a... I want to...
Bug ID: JDK-5057116 EXECUTION STOPPED: on return to interpreted call, restored SP is corrupted
JDK-5057116 : EXECUTION STOPPED: on return to interpreted call, restored SP is corrupted

Details
Type:
Bug
Submit Date:
2004-06-03
Status:
Closed
Updated Date:
2012-10-08
Project Name:
JDK
Resolved Date:
2004-06-15
Component:
hotspot
OS:
solaris_9
Sub-Component:
runtime
CPU:
sparc
Priority:
P3
Resolution:
Fixed
Affected Versions:
5.0
Fixed Versions:
1.4.2_06 (06)

Related Reports
Backport:

Sub Tasks

Description
Running the attached java program with -XX:+SafepointALot would cause
a vm failure in the debug vm.

                                    

Comments
EVALUATION

This is caused by posting an async exception during the interpreter
runtime entry point:  InterpreterRuntime::nmethod_entry_point().

This is an especially troublsome entry point because we look to be
be called from the interpreter because of the return pc but the
frame can be a call_stub, c2i, or interpreter frame. If it is
a call_stub when the async exception is installed we will unwind the
frame improperly and corrupt the SP.


###@###.### 2004-06-03
                                     
2004-06-03
SUGGESTED FIX

interfaceSupport.hpp:

  // Another special case for nmethod_entry_point so the nmethod that the
  // interpreter is about to branch to doesn't get flushed before as we
  // branch to it's interpreter_entry_point.  Skip stress testing here too.
+ // Also we don't allow async exceptions because it is just too painful.
  #define IRT_ENTRY_FOR_NMETHOD(result_type, header)                       result_type header {                                                     nmethodLocker _nmlock(nm);                                       !     ThreadInVMfromJavaNoAsyncException __tiv(thread);                                      __ENTRY(result_type, header, thread)
  
  #define IRT_END }
  
  
                                     
2004-08-18
CONVERTED DATA

BugTraq+ Release Management Values

COMMIT TO FIX:
1.4.2_06
generic
tiger-rc

FIXED IN:
1.4.2_06
tiger-rc

INTEGRATED IN:
1.4.2_06
tiger-b56
tiger-rc


                                     
2004-08-18



Hardware and Software, Engineered to Work Together