JDK-6960865 : ldc of unloaded class throws an assert in ciTypeFlow
  • Type: Bug
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: 7
  • Priority: P3
  • Status: Closed
  • Resolution: Fixed
  • OS: generic
  • CPU: generic
  • Submitted: 2010-06-12
  • Updated: 2011-03-08
  • Resolved: 2011-03-08
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 6 JDK 7 Other
6u21pFixed 7Fixed hs19Fixed
Description
nsk/stress/jck60/jck60003
nsk/stress/jck60/jck60013

http://sqeweb.sfbay/nfs/tools/gtee/results/JDK7/NIGHTLY/VM/2010-06-09/Comp_Baseline/vm/solaris-i586/server/comp/solaris-i586_server_comp_nsk.stress.testlist/ResultDir/jck60003/
http://sqeweb.sfbay/nfs/tools/gtee/results/JDK7/NIGHTLY/VM/2010-06-09/Comp_Baseline/vm/solaris-i586/server/comp/solaris-i586_server_comp_nsk.stress.testlist/ResultDir/jck60013/

http://sqeweb.sfbay/nfs/tools/gtee/results/JDK7/NIGHTLY/VM/2010-06-09/Comp_Baseline/vm/solaris-sparc/server/comp/solaris-sparc_server_comp_nsk.stress.testlist/ResultDir/jck60003/
http://sqeweb.sfbay/nfs/tools/gtee/results/JDK7/NIGHTLY/VM/2010-06-09/Comp_Baseline/vm/solaris-sparc/server/comp/solaris-sparc_server_comp_nsk.stress.testlist/ResultDir/jck60013/

http://sqeweb.sfbay/nfs/tools/gtee/results/JDK7/NIGHTLY/VM/2010-06-09/Comp_Baseline/vm/solaris-amd64/server/comp/solaris-amd64_server_comp_nsk.stress.testlist/ResultDir/jck60003/
http://sqeweb.sfbay/nfs/tools/gtee/results/JDK7/NIGHTLY/VM/2010-06-09/Comp_Baseline/vm/solaris-amd64/server/comp/solaris-amd64_server_comp_nsk.stress.testlist/ResultDir/jck60013/


#
#  Internal Error (/tmp/jprt/P1/B/015726.jrose/source/src/share/vm/ci/ciObject.hpp:68), pid=6628, tid=10
#  assert(_handle != NULL) failed: null oop
#
# JRE version: 7.0-b96
# Java VM: OpenJDK Server VM (19.0-b02-201006100157.jrose.hotspot-fastdebug compiled mode solaris-x86 )
# If you would like to submit a bug report, please visit:
#   http://java.sun.com/webapps/bugreport/crash.jsp
#

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

Current thread (0x081a6800):  JavaThread "CompilerThread1" daemon [_thread_in_vm, id=10, stack(0xb4ad0000,0xb4b50000)]

Stack: [0xb4ad0000,0xb4b50000],  sp=0xb4b4e140,  free space=1f8b4b50000k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V  [libjvm.so+0x1cd8363];;  __1cHVMErrorGreport6MpnMoutputStream__v_+0x70b
V  [libjvm.so+0x1cd94ea];;  __1cHVMErrorOreport_and_die6M_v_+0x582
V  [libjvm.so+0xab3d11];;  __1cPreport_vm_error6Fpkci11_v_+0x5ad
V  [libjvm.so+0x827d34];;  __1cHciKlassLjava_mirror6M_pnKciInstance__+0xd44
V  [libjvm.so+0x7ffcec];;  __1cFciEnvbAget_constant_by_index_impl6MnSconstantPoolHandle_iipnPciInstanceKlass__nKciConstant__+0xd48
V  [libjvm.so+0x800be9];;  __1cFciEnvVget_constant_by_index6MnSconstantPoolHandle_iipnPciInstanceKlass__nKciConstant__+0x30d
V  [libjvm.so+0x8820fa];;  __1cQciBytecodeStreamMget_constant6M_nKciConstant__+0x7da
V  [libjvm.so+0x89c444];;  __1cKciTypeFlowLStateVectorGdo_ldc6MpnQciBytecodeStream__v_+0x24
V  [libjvm.so+0x89ef66];;  __1cKciTypeFlowLStateVectorSapply_one_bytecode6MpnQciBytecodeStream__b_+0x526
V  [libjvm.so+0x8a9d78];;  __1cKciTypeFlowKflow_block6Mpn0AFBlock_pn0ALStateVector_pn0AGJsrSet__v_+0x424
V  [libjvm.so+0x8ac05a];;  __1cKciTypeFlowNdf_flow_types6Mpn0AFBlock_bpn0ALStateVector_pn0AGJsrSet__v_+0x78a
V  [libjvm.so+0x8adf0c];;  __1cKciTypeFlowHdo_flow6M_v_+0x46c
V  [libjvm.so+0x83209d];;  __1cIciMethodRget_flow_analysis6M_pnKciTypeFlow__+0x115
V  [libjvm.so+0x793ead];;  __1cNCallGeneratorKfor_inline6FpnIciMethod_f_p0_+0x49
V  [libjvm.so+0x98b8d7];;  __1cHCompile2t6MpnFciEnv_pnKC2Compiler_pnIciMethod_ibb_v_+0x1127
V  [libjvm.so+0x78de69];;  __1cKC2CompilerOcompile_method6MpnFciEnv_pnIciMethod_i_v_+0x11d
V  [libjvm.so+0x9a8e1f];;  __1cNCompileBrokerZinvoke_compiler_on_method6FpnLCompileTask__v_+0x1197
V  [libjvm.so+0x9a6f3e];;  __1cNCompileBrokerUcompiler_thread_loop6F_v_+0xcfe
V  [libjvm.so+0x1bda115];;  __1cVcompiler_thread_entry6FpnKJavaThread_pnGThread__v_+0x2d
V  [libjvm.so+0x1bcd0ae];;  __1cKJavaThreadRthread_main_inner6M_v_+0x1a2
V  [libjvm.so+0x1bcccf8];;  __1cKJavaThreadDrun6M_v_+0x618
V  [libjvm.so+0x17d9f90];;  java_start+0x708
C  [libc.so.1+0xa7045];;  _thr_setup+0x4e
C  [libc.so.1+0xa7330];;  _lwp_start+0x0


Current CompileTask:
C2:1203   b  javasoft.sqe.tests.api.java.io.Serialization.ObjectStreamClass.LookupTests.<clinit>()V (227 bytes)

Comments
EVALUATION http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/b918d354830a
14-06-2010

EVALUATION ciKlass::java_mirror handles array klasses. An unloaded array klass needs to respond, like an unloaded instance klass, with get_unloaded_klass_mirror. To do this right, move the "if not loaded" logic from ciInstanceKlass up to ciKlass.
12-06-2010