Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-4146500

(jit) JIT'ed code dumps core when invokeinterface to absent method.

XMLWordPrintable

    • 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.

      ======================================================================

            never Tom Rodriguez
            rfqsunw Rfq Rfq (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: