JDK-7035161 : assert(!o->is_null_object()) failed: null object not yet handled here.
  • Type: Bug
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: hs21
  • Priority: P3
  • Status: Closed
  • Resolution: Fixed
  • OS: solaris_10
  • CPU: x86
  • Submitted: 2011-04-08
  • Updated: 2011-04-25
  • Resolved: 2011-04-25
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
Description
#
# A fatal error has been detected by the Java Runtime Environment:
#
#  Internal Error (/tmp/jprt/P1/B/090431.dh198349/source/src/share/vm/opto/type.cpp:2485), pid=2171, tid=140557375420752
#  assert(!o->is_null_object()) failed: null object not yet handled here.
#
# JRE version: 7.0-b136
# Java VM: Java HotSpot(TM) 64-Bit Server VM (21.0-b07-internal-201104060904.dh198349.hotspot-fastdebug mixed mode linux-amd64 compressed oops)
# Core dump written. Default location: /export/local/46625.JDK7.NIGHTLY.VM+linux-amd64_vm_server_mixed_nsk.stress.testlist/results/ResultDir/jck12a006/core or core.2171
#
# 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 (0x00007fd60c1d4800):  JavaThread "C2 CompilerThread3" daemon [_thread_in_native, id=2196, stack(0x00007fd6105eb000,0x00007fd6106ec000)]

Stack: [0x00007fd6105eb000,0x00007fd6106ec000],  sp=0x00007fd6106e8350,  free space=1012k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V  [libjvm.so+0xbdd9c2]  VMError::report_and_die()+0x2f2;;  VMError::report_and_die()+0x2f2
V  [libjvm.so+0x5b5774]  report_vm_error(char const*, int, char const*, char const*)+0x84;;  report_vm_error(char const*, int, char const*, char const*)+0x84
V  [libjvm.so+0xb9baff]  TypeOopPtr::make_from_constant(ciObject*, bool)+0x1ff;;  TypeOopPtr::make_from_constant(ciObject*, bool)+0x1ff
V  [libjvm.so+0x940e46]  LoadNode::Value(PhaseTransform*) const+0x586;;  LoadNode::Value(PhaseTransform*) const+0x586
V  [libjvm.so+0xa46443]  PhaseGVN::transform_no_reclaim(Node*)+0xd3;;  PhaseGVN::transform_no_reclaim(Node*)+0xd3
V  [libjvm.so+0x947a95]  LoadNode::make(PhaseGVN&, Node*, Node*, Node*, TypePtr const*, Type const*, BasicType)+0x515;;  LoadNode::make(PhaseGVN&, Node*, Node*, Node*, TypePtr const*, Type const*, BasicType)+0x515
V  [libjvm.so+0x6b8dec]  GraphKit::make_load(Node*, Node*, Type const*, BasicType, int, bool)+0x10c;;  GraphKit::make_load(Node*, Node*, Type const*, BasicType, int, bool)+0x10c
V  [libjvm.so+0xa2e186]  Parse::do_get_xxx(Node*, ciField*, bool)+0x156;;  Parse::do_get_xxx(Node*, ciField*, bool)+0x156
V  [libjvm.so+0xa2ecb1]  Parse::do_field_access(bool, bool)+0x361;;  Parse::do_field_access(bool, bool)+0x361
V  [libjvm.so+0xa2c027]  Parse::do_one_bytecode()+0x3047;;  Parse::do_one_bytecode()+0x3047
V  [libjvm.so+0xa1d869]  Parse::do_one_block()+0x539;;  Parse::do_one_block()+0x539
V  [libjvm.so+0xa1dbd6]  Parse::do_all_blocks()+0x176;;  Parse::do_all_blocks()+0x176
V  [libjvm.so+0xa20edc]  Parse::Parse(JVMState*, ciMethod*, float)+0x18bc;;  Parse::Parse(JVMState*, ciMethod*, float)+0x18bc
V  [libjvm.so+0x4520f6]  ParseGenerator::generate(JVMState*)+0xb6;;  ParseGenerator::generate(JVMState*)+0xb6
V  [libjvm.so+0x614528]  Parse::do_call()+0x2e8;;  Parse::do_call()+0x2e8
V  [libjvm.so+0xa2c04d]  Parse::do_one_bytecode()+0x306d;;  Parse::do_one_bytecode()+0x306d
V  [libjvm.so+0xa1d869]  Parse::do_one_block()+0x539;;  Parse::do_one_block()+0x539
V  [libjvm.so+0xa1dbd6]  Parse::do_all_blocks()+0x176;;  Parse::do_all_blocks()+0x176
V  [libjvm.so+0xa20edc]  Parse::Parse(JVMState*, ciMethod*, float)+0x18bc;;  Parse::Parse(JVMState*, ciMethod*, float)+0x18bc
V  [libjvm.so+0x4520f6]  ParseGenerator::generate(JVMState*)+0xb6;;  ParseGenerator::generate(JVMState*)+0xb6
V  [libjvm.so+0x53ee7e]  Compile::Compile(ciEnv*, C2Compiler*, ciMethod*, int, bool, bool)+0xe1e;;  Compile::Compile(ciEnv*, C2Compiler*, ciMethod*, int, bool, bool)+0xe1e
V  [libjvm.so+0x450350]  C2Compiler::compile_method(ciEnv*, ciMethod*, int)+0x1d0;;  C2Compiler::compile_method(ciEnv*, ciMethod*, int)+0x1d0
V  [libjvm.so+0x5474bd]  CompileBroker::invoke_compiler_on_method(CompileTask*)+0x4cd;;  CompileBroker::invoke_compiler_on_method(CompileTask*)+0x4cd
V  [libjvm.so+0x548064]  CompileBroker::compiler_thread_loop()+0x554;;  CompileBroker::compiler_thread_loop()+0x554
V  [libjvm.so+0xb83a46]  JavaThread::thread_main_inner()+0xf6;;  JavaThread::thread_main_inner()+0xf6
V  [libjvm.so+0x9eef40]  java_start(Thread*)+0x100;;  java_start(Thread*)+0x100

Comments
EVALUATION Tom Rodriguez wrote: There's a bare oop across the call to ciField::type which might cause a safepoint resulting in the field being read from a stale oop.
10-04-2011

EVALUATION http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/3fa3c7e4d4f3
09-04-2011