United StatesChange Country, Oracle Worldwide Web Sites Communities I am a... I want to...
Bug ID: JDK-7123910 Some CTW tests crash VM: is_loaded() && that->is_loaded()
JDK-7123910 : Some CTW tests crash VM: is_loaded() && that->is_loaded()

Details
Type:
Bug
Submit Date:
2011-12-22
Status:
Closed
Updated Date:
2012-03-24
Project Name:
JDK
Resolved Date:
2012-03-24
Component:
hotspot
OS:
generic
Sub-Component:
compiler
CPU:
generic
Priority:
P3
Resolution:
Fixed
Affected Versions:
hs23
Fixed Versions:
hs23 (b12)

Related Reports
Backport:
Backport:

Sub Tasks

Description
Some CTW tests crashed the VM during HS23b08 for JDK7u4 pit. The failure is not reproducible with -Xint, but is reproducible with both -client and -server.

                                    

Comments
EVALUATION

[t@50 l@50]: up
Current function is ciKlass::is_subtype_of
   69     assert(is_loaded() && that->is_loaded(), "must be loaded");

[t@50 l@50]: print this->print()
<ciObjArrayKlass name=[Lorg/aopalliance/intercept/MethodInterceptor; ident=700  address=0x3205738>

[t@50 l@50]: print that->print()
<ciObjArrayKlass name=[Ljava/lang/Object; ident=709 PERM address=0x30922f8>

=>[2] ciKlass::is_subtype_of(this = 0x3205738, that = 0x30922f8), line 69 in "/net/irkutsk.us.oracle.com/export/home/kvn/work2/hg/7119644/src/share/vm/ci/ciKlass.cpp"
  [3] GraphKit::static_subtype_check(this = 0xfffffcfffb4d0aa8, superk = 0x30922f8, subk = 0x3205738), line 2433 in "/net/irkutsk.us.oracle.com/export/home/kvn/work2/hg/7119644/src/share/vm/opto/graphKit.cpp"
  [4] GraphKit::gen_checkcast(this = 0xfffffcfffb4d0aa8, obj = 0x320d7a0, superklass = 0x320e2e0, failure_control = (nil)), line 2656 in "/net/irkutsk.us.oracle.com/export/home/kvn/work2/hg/7119644/src/share/vm/opto/graphKit.cpp"
  [5] Parse::do_checkcast(this = 0xfffffcfffb4d0aa8), line 95 in "/net/irkutsk.us.oracle.com/export/home/kvn/work2/hg/7119644/src/share/vm/opto/parseHelper.cpp"
  [6] Parse::do_one_bytecode(this = 0xfffffcfffb4d0aa8), line 2223 in "/net/irkutsk.us.oracle.com/export/home/kvn/work2/hg/7119644/src/share/vm/opto/parse2.cpp"
                                     
2011-12-22
EVALUATION

Parse::do_checkcast() calls GraphKit::gen_checkcast() and it crashes because the object's klass is not loaded. It is not caught by the checks in Parse::do_checkcast() because obj is a pointer to an array.
                                     
2012-01-24
EVALUATION

http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/9a28ddfc1f4a
                                     
2012-01-26
EVALUATION

http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/9a28ddfc1f4a
                                     
2012-03-22



Hardware and Software, Engineered to Work Together