-
Bug
-
Resolution: Fixed
-
P2
-
1.2.0
-
1.2fcs
-
sparc
-
solaris_2.4
-
Verified
Name: akC45999 Date: 06/08/98
jdk1.2b4H with JIT on Solaris dumps core when running following test.
The idea of the test is that no implementation of the interface method
is provided.
------------------------------------- file invokeinterface02401.jasm
// simplified version of the test
// javasoft.sqe.tests.vm.invokeinterface.invokeinterface024.invokeinterface02402;
public interface invokeinterface02401i {
public abstract Method f1:"(IF)I";
} // end invokeinterface02401i
public class invokeinterface02401
implements invokeinterface02401i
{
public Method <init>:"()V"
stack 1 locals 1
{
aload_0;
invokenonvirtual Method java/lang/Object.<init>:"()V";
return;
}
public static Method run:"([Ljava/lang/String;Ljava/io/PrintStream;)I"
stack 6 locals 4
{
new class invokeinterface02401;
dup;
invokenonvirtual Method invokeinterface02401.<init>:"()V";
try t1;
iconst_1;
fconst_1;
invokeinterface InterfaceMethod invokeinterface02401i.f1:"(IF)I", 3; // "If no method matching the resolved name and descriptor is selected, invokeinterface throws an AbstractMethodError."
endtry t1;
iconst_2;
ireturn;
catch t1 java/lang/AbstractMethodError;
iconst_0;
ireturn;
}
public static Method main:"([Ljava/lang/String;)V"
stack 2 locals 3
{
aload_0;
getstatic Field java/lang/System.out:"Ljava/io/PrintStream;";
invokestatic Method run:"([Ljava/lang/String;Ljava/io/PrintStream;)I";
bipush 95/*STATUS_TEMP*/;
iadd;
invokestatic Method java/lang/System.exit:"(I)V";
return;
}
} // end Class invokeinterface02401
------------------------------------- end of file setMaxPriority0102.java
Running the test:
novo64% jasm invokeinterface02401.jasm
novo64% setenv CLASSPATH .
java -verify invokeinterface02401
SIGSEGV 11* segmentation violation
si_signo [11]: SIGSEGV 11* segmentation violation
si_errno [0]: Error 0
si_code [1]: SEGV_MAPERR [addr: 0x0]
stackpointer=EFFFF16C
etc.
======================================================================