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

JIT fatal bug

XMLWordPrintable

    • 1.1.6
    • x86
    • windows_95
    • Verified



        Name: diC59631 Date: 05/21/98


        Category general:jit_symantec ?

        I have encountered the following problem when using JDK1.1.6 and the
        included JIT compiler on Windows95.

        The following simplified code runs fine:

        public class JITError {
          public static void main(String argv[]) {
            getX();
          }
          private static void getX() {
            int x=0;
            while (x!=0) {
              try {
                Class.forName("");
              } catch (Exception ex) {
              }
              x--;
            }
          }
        }
        javap -c -private JITError
        Method void getX()
           0 iconst_0
           1 istore_0
           2 goto 18
           5 ldc #1 <String "">
           7 invokestatic #7 <Method java.lang.Class forName(java.lang.String)>
          10 pop
          11 goto 15
          14 pop
          15 iinc 0 -1
          18 iload_0
          19 ifne 5
          22 return
        Exception table:
           from to target type
             5 11 14 <Class java.lang.Exception>

        ------------------------------------------------------------------------
        However with the following modification the JIT dll causes a windows error:
        Now comment out the x-- line:


        public class JITError {
          public static void main(String argv[]) {
            getX();
          }
          private static void getX() {
            int x=0;
            while (x!=0) {
              try {
                Class.forName("");
              } catch (Exception ex) {
              }
        // x--;
            }
          }
        }
        javap -c -private JITError
        Method void getX()
           0 iconst_0
           1 istore_0
           2 goto 18
           5 ldc #1 <String "">
           7 invokestatic #7 <Method java.lang.Class forName(java.lang.String)>
          10 pop
          11 goto 18
          14 pop
          15 goto 18
          18 iload_0
          19 ifne 5
          22 return
        Exception table:
           from to target type
             5 11 14 <Class java.lang.Exception>

        This causes the JIT Compiler error on windows 95:

        JAVA caused an invalid page fault in
        module SYMCJIT.DLL at 02cf:01f4704e.
        Registers:
        EAX=00000000 CS=02cf EIP=01f4704e EFLGS=00010293
        EBX=01d90c24 SS=02d7 ESP=0063ed34 EBP=01d91b98
        ECX=0063ee98 DS=02d7 ESI=01d9109c FS=0fdf
        EDX=01d91a64 ES=02d7 EDI=01d9109c GS=0000
        Bytes at CS:EIP:
        39 70 04 74 04 8b d0 eb f5 8b 30 89 32 c7 00 00
        Stack dump:
        0063ee98 01f1091a 01d90c24 01d9109c 0063ee98 0063ee98 01d91f94 00000000 01d92688 0000005b 01d91c24 01f46f7e 01d91f94 0063ee98 01d91f84 0000005b


        The only difference between the two sequencies of virtual code
        is:

          14 pop
          15 iinc 0 -1
          18 iload_0

        which is ok and

          14 pop
          15 goto 18
          18 iload_0

        which fails. ie goto goes redundantly goes to the following command.
        (Review ID: 30878)
        ======================================================================

              dviswanasunw Deepa Viswanathan (Inactive)
              dindrigo Daniel Indrigo (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

                Created:
                Updated:
                Resolved:
                Imported:
                Indexed: