-
Bug
-
Resolution: Cannot Reproduce
-
P2
-
None
-
1.4.0
-
generic, x86
-
linux, solaris_7, windows_nt
Name: kaR10181 Date: 02/14/2001
****************************************************************************
Java VM specification reads:
...
InstantiationError: A symbolic reference has been encountered that is used in a class instance creation expression,
but an instance cannot be created because the reference turns out to refer to an interface or to an abstract class. This
can occur, for example, if a class that is originally not abstract is changed to be abstract after another class that
refers to the class in question has been compiled.
...
But JVM in Merlin b51 throws InstantiationException instead of InstantiationError.
Failing Test:
=============
vm/classfmt/ins/instr_020/instr_02001m1/instr_02001m1.html
vm/instr/invokespecial/invokespecial017/invokespecial01703m1/invokespecial01703m1.html
vm/instr/invokespecial/invokespecial017/invokespecial01702m1/invokespecial01702m1.html
vm/instr/invokespecial/invokespecial006/invokespecial00601m1/invokespecial00601m1.html
vm/instr/invokevirtual/invokevirtual003/invokevirtual00304m1/invokevirtual00304m1.html
vm/instr/invokevirtual/invokevirtual018/invokevirtual01802m1/invokevirtual01802m1.html
vm/instr/invokevirtual/invokevirtual007/invokevirtual00706m1/invokevirtual00706m1.html
vm/instr/invokevirtual/invokevirtual007/invokevirtual00702m1/invokevirtual00702m1.html
vm/instr/invokevirtual/invokevirtual020/invokevirtual02001m1/invokevirtual02001m1.html
vm/instr/invokestatic/invokestatic009/invokestatic00901m1/invokestatic00901m1.html
vm/instr/invokestatic/invokestatic007/invokestatic00702m1/invokestatic00702m1.html
vm/instr/invokestatic/invokestatic004/invokestatic00401m1/invokestatic00401m1.html
vm/instr/invokestatic/invokestatic004/invokestatic00402m1/invokestatic00402m1.html
vm/instr/invokestatic/invokestatic008/invokestatic00802m1/invokestatic00802m1.html
vm/instr/invokestatic/invokestatic008/invokestatic00801m1/invokestatic00801m1.html
vm/classfmt/vrf/vrfpsf203/vrfpsf20301m1/vrfpsf20301m1.html
vm/classfmt/vrf/vrfpsf202/vrfpsf20201m1/vrfpsf20201m1.html
vm/classfmt/vrf/vrfpsf202/vrfpsf20203m1/vrfpsf20203m1.html
vm/classfmt/vrf/vrfpsf202/vrfpsf20202m1/vrfpsf20202m1.html
vm/classfmt/vrf/vrfpsf204/vrfpsf20401m1/vrfpsf20401m1.html
vm/classfmt/vrf/vrfpsf204/vrfpsf20402m1/vrfpsf20402m1.html
vm/classfmt/vrf/vrfpsf204/vrfpsf20403m1/vrfpsf20403m1.html
vm/classfmt/cpl/cplmbr024/cplmbr02401m1/cplmbr02401m1.html
vm/classfmt/cpl/cplmbr023/cplmbr02302m1/cplmbr02302m1.html
vm/classfmt/cpl/cplmbr023/cplmbr02303m1/cplmbr02303m1.html
vm/constantpool/resolveField/resolveField003/resolveField00301m1/resolveField00301m1.html
vm/constantpool/resolveField/resolveField001/resolveField00101m1/resolveField00101m1.html
vm/constantpool/resolveField/resolveField002/resolveField00201m1/resolveField00201m1.html
vm/constantpool/accessControl/accessControl004/accessControl00401m1/accessControl00401m1.html
vm/constantpool/accessControl/accessControl002/accessControl00201m1/accessControl00201m1.html
vm/constantpool/accessControl/accessControl006/accessControl00601m1/accessControl00601m1.html
vm/constantpool/accessControl/accessControl005/accessControl00501m1/accessControl00501m1.html
vm/constantpool/accessControl/accessControl003/accessControl00301m1/accessControl00301m1.html
vm/constantpool/arrayClasses/arrayClasses004/arrayClasses00401m1/arrayClasses00401m1.html
vm/instr/invokespecial/invokespecial011/invokespecial01102m1/invokespecial01102m1.html
vm/instr/invokespecial/invokespecial011/invokespecial01103m1/invokespecial01103m1.html
vm/instr/invokespecial/invokespecial011/invokespecial01105m1/invokespecial01105m1.html
vm/instr/invokespecial/invokespecial011/invokespecial01104m1/invokespecial01104m1.html
vm/instr/invokespecial/invokespecial008/invokespecial00801m1/invokespecial00801m1.html
vm/instr/invokespecial/invokespecial017/invokespecial01701m1/invokespecial01701m1.html
vm/instr/invokespecial/invokespecial019/invokespecial01901m1/invokespecial01901m1.html
vm/instr/invokespecial/invokespecial018/invokespecial01801m1/invokespecial01801m1.html
vm/instr/invokeinterface/invokeinterface004/invokeinterface00405m1/invokeinterface00405m1.html
vm/instr/anewarray/anewarray008/anewarray00801m1/anewarray00801m1.html
vm/instr/checkcast/checkcast010/checkcast01001m1/checkcast01001m1.html
vm/instr/getstatic/getstatic008/getstatic00803m1/getstatic00803m1.html
vm/instr/getstatic/getstatic008/getstatic00801m1/getstatic00801m1.html
vm/instr/getstatic/getstatic008/getstatic00802m1/getstatic00802m1.html
vm/instr/getstatic/getstatic011/getstatic01101m1/getstatic01101m1.html
vm/instr/getstatic/getstatic006/getstatic00601m1/getstatic00601m1.html
vm/instr/getstatic/getstatic004/getstatic00403m1/getstatic00403m1.html
vm/instr/getstatic/getstatic010/getstatic01001m1/getstatic01001m1.html
vm/instr/getfield/getfield006/getfield00605m1/getfield00605m1.html
vm/instr/getfield/getfield011/getfield01101m1/getfield01101m1.html
vm/instr/getfield/getfield011/getfield01103m1/getfield01103m1.html
vm/instr/getfield/getfield011/getfield01102m1/getfield01102m1.html
vm/instr/getfield/getfield013/getfield01301m1/getfield01301m1.html
vm/instr/getfield/getfield013/getfield01302m1/getfield01302m1.html
vm/instr/instanceof/instanceof012/instanceof01201m1/instanceof01201m1.html
vm/instr/putfield/putfield005/putfield00504m1/putfield00504m1.html
vm/instr/putstatic/putstatic005/putstatic00503m1/putstatic00503m1.html
JCK :
=====
JCK1.3a
Test source location:
====================
/net/jdk/export/disk8/local.java/jck1.3a/JCK-runtime-13a/tests/vm/classfmt/ins/instr_020/instr_02001m1/nstr_02001m1.java
...
Platforms:
=============
Linux RedHat6.2
Windows NT
JDK, switches Info:
===================
-client
-client -Xcomp
java version "1.4.0-beta"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.0-beta-b51)
Java HotSpot(TM) Client VM (build 1.4beta-B51, mixed mode)
jtr file location:
==================
/net/jtgb4u4c.eng/export/sail7/JavaWebServer1.1.3/public_html/QA/merlin/b51/jck13a/linux/redhat6.2_smp_kde_client_comp_linux-5/workDir/vm/failed.html
How to reproduce:
====================
You my need to change pathes to java and JCK
#!/bin/sh
SWITCH="$@"
JAVA_HOME=/usr/local/java/jdk1.4/linux-i386
JCK=/net/jdk/export/disk8/local.java/jck1.3a
CLASSPATH=$JCK/classes:$JCK/javatest.jar
export CLASSPATH
executeClass="javasoft.sqe.tests.vm.classfmt.ins.instr_020.instr_02001m1.instr_02001m1"
$JAVA_HOME/bin/java -Xfuture ${executeClass}
RESULT="$?"
if [ $RESULT = 95 ]; then
echo Test passed
elif [ $RESULT = 97 ]; then
echo Test failed
else
echo Result is $RESULT
fi
Test output:
=============
Failed with unexpected runtime exception: java.lang.InstantiationException: java.lang.InstantiationError:
javasoft/sqe/tests/vm/classfmt/ins/instr_020/instr_02001m1/instr_02001m1i
Specific Machine Info:
=====================
Hostname: linux-5
=====================================================================
======================================================================