United StatesChange Country, Oracle Worldwide Web Sites Communities I am a... I want to...
Bug ID: JDK-6875577 CTW fails with /hotspot/src/share/vm/opto/memnode.cpp:1794
JDK-6875577 : CTW fails with /hotspot/src/share/vm/opto/memnode.cpp:1794

Details
Type:
Bug
Submit Date:
2009-08-25
Status:
Closed
Updated Date:
2011-03-08
Project Name:
JDK
Resolved Date:
2011-03-08
Component:
hotspot
OS:
generic
Sub-Component:
compiler
CPU:
x86
Priority:
P4
Resolution:
Fixed
Affected Versions:
hs16
Fixed Versions:
hs17 (b02)

Related Reports
Backport:
Backport:
Relates:

Sub Tasks

Description
Note: issue is C2 specific.

It reproduced on linux,solaris, i586, amd64, sparc. I did not check windows.

Looks like the compiler fails for class which contains an array net.jini.core.lookup.ServiceID refs however this type is not in classpath. If so then such issue unlikely to be reproduced in real VM. Probably CTW tests should be improved.

To reproduce (with jdk6u18) run:
/net/vmsqe.russia/export/jdk/re/6u18/promoted/ea/b01/binaries/solaris-i586/fastdebug/bin/java  -XX:-ShowMessageBoxOnError     -Xverify:all  -XX:+CompileTheWorld -Xbootclasspath/p:/net/vmsqe.russia/export/testbase/ctw/build/../jars/ibiblio/maven2/jini/jini-ext/2.1/jini-ext-2.1.jar

...
Ouptut;
CompileTheWorld (200) : netscape/plugin/composer/PluginKiller
# To suppress the following error report, specify this argument
# after -XX: or in .hotspotrc:  SuppressErrorAt=/memnode.cpp:1794
#
# A fatal error has been detected by the Java Runtime Environment:
#
#  Internal Error (/export0/BUILD_AREA/jdk6_18/hotspot/src/share/vm/opto/memnode.cpp:1794), pid=18837, tid=10
#  Error: assert(ak->is_loaded(),"")
#
# JRE version: 6.0_18-b01
# Java VM: Java HotSpot(TM) Server VM (16.0-b08-fastdebug mixed mode solaris-x86 )
# An error report file with more information is saved as:
# /tmp/hs_err_pid4902.log
#
# If you would like to submit a bug report, please visit:
#   http://java.sun.com/webapps/bugreport/crash.jsp
#
Current thread is 9
Dumping core ...
Abort

                                    

Comments
EVALUATION

http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/8fe1963e3964
                                     
2009-08-29
PUBLIC COMMENTS

Problem:
do_null_check checks for unloaded klass only for instances.
In the test case C2 tries to generate Object.clone() intrinsic
for array with unloaded element's klass.

Solution:
Fix do_null_check to check for unloaded klass for all oop pointers.
Add check for stopped() state into PreserveReexecuteState destructor
and assert into its contructor.
Add assert to check that allocation's CheckCastPP node used in
arraycopy has more precise type then Object. Otherwise it will
fold with new CheckCastPP node and incorrect graph will be generated.
                                     
2009-09-08



Hardware and Software, Engineered to Work Together