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

Optimizing JIT compiler crashs with Segmentation violation

    XMLWordPrintable

Details

    • beta
    • x86
    • windows_nt

    Description



      Name: szC45993 Date: 09/21/99



      Tonga/testbase_js/src/nsk/coverage/ad_i486/ad_i486002 test
      destroys java (java version "1.2.2", Java(TM) HotSpot Server VM [2.0beta,
      mixed mode, build E]) on WinNT (Pentium II, 350MHz, 128Mb RAM,
      Windows NT 4.0 Workstation). The test provides generation
      of AbsFNode node in internal representation under the optimizing
      compilation process (see line "ad_i486002a.fff = (ff > 0.0f ? 0.0f - ff : ff-f);").
      The next AbsFNode node processing destroys compiler.

      See log and source below.

      [#] cd f:/ld24/java/zss/TONGA_WSs/testbase_js/src/nsk/coverage/ad_i486/ad_i486002
      [#] d:/from_C/jdk1.2.2W/bin/java -version
      java version "1.2.2"
      Java(TM) HotSpot Server VM (2.0beta, mixed mode, build E)
      [#] d:/from_C/jdk1.2.2W/bin/java -verify ad_i486002
      [1] + Done(139) d:/from_C/jdk1.2.2W/bin/java -verify ad_i486002
        189 Segmentation violation d:/from_C/jdk1.2.2W/bin/java
      [#]

      SOURCE:
      ========

      //--------------------- ad_i486002.java:
      // Ident: %Z%%M% %I% %E%
      // Copyright %G% Sun Microsystems, Inc. All Rights Reserved

      import java.io.PrintStream;

      class ad_i486002a {

        public static double fff = .7f;

      }

      public class ad_i486002 {

        public static void P_R_C_2(float f, float ff) {
      int k = 0;

      for (k = 100; k >= 2; k-=2) {
      ad_i486002a.fff = (ff > 0.0f ? 0.0f - ff : ff-f);
      }
        }

        public static void P_R_C_1() {
      int k = 0;
      float f1 = 1.0f;
      float f2 = 0.1f;

      ad_i486002a cna = new ad_i486002a();

      synchronized (cna) {
      for (k = 0; k <= 1000000; k++) {
      P_R_C_2(f1 - (f1 + f2), f2);
      }
      }
        }

        public static int run(String argv[], PrintStream out) {

      P_R_C_1();
      return 0;
        }

        public static void main(String argv[]) {
      System.exit(run(argv, System.out) + 95/*STATUS_TEMP*/);
        }
      }
      //---------------------


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

      Attachments

        Activity

          People

            mpalecznsunw Michael Paleczny (Inactive)
            zsssunw Zss Zss (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: