JDK-7043301 : assert(locals < caller->fp() || locals > (caller->fp() + 16)) failed: locals in save area
  • Type: Bug
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: hs21
  • Priority: P3
  • Status: Closed
  • Resolution: Fixed
  • OS: solaris_10
  • CPU: x86
  • Submitted: 2011-05-09
  • Updated: 2011-07-29
  • Resolved: 2011-07-18
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 Other
7Fixed hs21Fixed
Related Reports
Relates :  
Description
compiler/6910605/Test.java

;; Using jvm: "/export/local/common/jdk/baseline/solaris-sparcv9/jre/lib/sparcv9/server/libjvm.so"
#
# A fatal error has been detected by the Java Runtime Environment:
#
#  Internal Error (/tmp/jprt/P1/B/054833.kvn/source/src/cpu/sparc/vm/templateInterpreter_sparc.cpp:1751), pid=25746, tid=22
#  assert(locals<caller->fp() || locals> (caller->fp() + 16)) failed: locals in save area
#
# JRE version: 7.0-b140
# Java VM: Java HotSpot(TM) 64-Bit Server VM (21.0-b11-internal-201105050548.kvn.7042070-fastdebug compiled mode solaris-sparc compressed oops)
# Core dump written. Default location: /export/local/49626.JDK7.NIGHTLY.VM+solaris-sparcv9_javase_server_comp_JT_HS/results/workDir/compiler/6910605/Test/core or core.25746
#
# If you would like to submit a bug report, please visit:
#   http://bugreport.sun.com/bugreport/crash.jsp
#

---------------  T H R E A D  ---------------

Current thread (0x0000000100e46800):  JavaThread "MainThread" [_thread_in_Java, id=22, stack(0xffffffff4f200000,0xffffffff4f300000)]

Stack: [0xffffffff4f200000,0xffffffff4f300000],  sp=0xffffffff4f2fb980,  free space=1006k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V  [libjvm.so+0x123bb24]  void VMError::report_and_die()+0x794;;  void VMError::report_and_die()+0x794
V  [libjvm.so+0x6ea140]  void report_vm_error(const char*,int,const char*,const char*)+0x78;;  void report_vm_error(const char*,int,const char*,const char*)+0x78
V  [libjvm.so+0x113df88]  int AbstractInterpreter::layout_activation(methodOop,int,int,int,int,int,frame*,frame*,bool)+0x5b8;;  int AbstractInterpreter::layout_activation(methodOop,int,int,int,int,int,frame*,frame*,bool)+0x5b8
V  [libjvm.so+0x122e22c]  void vframeArrayElement::unpack_on_stack(int,int,frame*,bool,int)+0x61c;;  void vframeArrayElement::unpack_on_stack(int,int,frame*,bool,int)+0x61c
V  [libjvm.so+0x122f398]  void vframeArray::unpack_to_stack(frame&,int)+0x308;;  void vframeArray::unpack_to_stack(frame&,int)+0x308
V  [libjvm.so+0x7025f0]  BasicType Deoptimization::unpack_frames(JavaThread*,int)+0x188;;  BasicType Deoptimization::unpack_frames(JavaThread*,int)+0x188
v  ~DeoptimizationBlob

[error occurred during error reporting (printing native stack), id 0xe0000000]

Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
v  ~DeoptimizationBlob

[error occurred during error reporting (printing Java stack), id 0xe0000000]

Comments
EVALUATION http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/3cfb240033d1
10-05-2011

EVALUATION During the fix for 7009361 I mistakenly simplified the computed_sp_adjustment by replacing it with rounded_cls but one if for the caller and the other is for the callee. This could result in some rare cases where the frame shrunk to be smaller than it should have been. The fix is to restore the original computation of this value.
09-05-2011