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

A nonfatal internal JIT (3.00.078(x)) error 'LD: null preHeader' has occurred in

XMLWordPrintable

    • generic, x86
    • windows_98, windows_nt



      Name: krT82822 Date: 03/10/99


      [ sorce code ]--------------------------------

      class While
      {
          public static void main(String args[])
               {
      int i = 0;
      int j = 0;
      int k;

      while(i < 10)
      {
      while(j < 10)
      {
      j++;
      break;

      }
      i++;
      k = i * j;
      System.out.println(k);

      }
              }
      }
      (Review ID: 55305)
      ======================================================================

      Name: krT82822 Date: 08/29/99


      After having compiled the program 'c:\javac StateMachineTest.java' and executing it 'c:\java StateMachineTest' the following appeared on screen:

      begin screen dump:

      A nonfatal internal JIT (3.00.078(x)) error 'LD: null preHeader' has occured in:
      'StateMachineTest.main ([Ljava/lang/String;)V' : Interpreting method.

      Please report bug to.......

      end screen dump.

      I hope this is of some use to you.

      Here is the source code for StateMachineTest:

      class StateMachineTest { // start class
        int count, PresentState, TestLength;
        String TestString[];

        public boolean TestForPoint(String TestString[],int counter) { //start PointTest
          if(TestString[counter] == ".") // start if
             return true; // end if

          else // start else
             return false; // end else

        } // end PointTest

        public boolean TestForNumber(String TestString[],int counter){ // start Numbertest

          if(TestString[counter] == "0" || // start if
             TestString[counter] == "1" ||
             TestString[counter] == "2" ||
             TestString[counter] == "3" ||
             TestString[counter] == "4" ||
             TestString[counter] == "5" ||
             TestString[counter] == "6" ||
             TestString[counter] == "7" ||
             TestString[counter] == "8" ||
             TestString[counter] == "9")
             return true; // end if

          else // start else
             return false; // end else

        } // end Numbertest

        public boolean TestForE(String TestString[],int counter){ //start ETest

         if (TestString[counter] == "e") //Start if
             return true; // end if

         else // start else
             return false; // end else

        } // end Etest

        public static void main (String[] arguments){ // start main
          StateMachineTest s = new StateMachineTest();
          s.TestString = new String[5];
          s.TestString[0] = "1";
          s.TestString[1] = ".";
          s.TestString[2] = "3";
          s.TestString[3] = "e";
          s.TestString[4] = "3";
          s.PresentState = 0;
          s.count = 0;
          s.TestLength = s.TestString.length;
          System.out.println("---- Test beginning ----");

          //StateMachine WhileLoops

          while (s.count <= (s.TestLength - 1)) { // start test untill end of TestString

            while (s.PresentState == 0) { //State 0 start

            System.out.println("+++ Current TestString: " + s.TestString[s.count] + " Present state = " + s.PresentState + "+++");

              if (s.TestForPoint(s.TestString,s.count)) { // start 1. if
                  s.PresentState = 3;
                  System.out.println("### Going to = " + s.PresentState + "###");
                  s.count++;
                  break;

                  } //end 1. if

              if (s.TestForNumber(s.TestString,s.count)) { // start 2. if
                  s.PresentState = 1;
                  System.out.println("### Going to = " + s.PresentState + "###");
                  s.count++;
                  break;
                  } // end 2. if

              else { // start else
                  s.PresentState = 6;
                  System.out.println("### Going to = " + s.PresentState + "###");
                  s.count = s.TestLength;
                  break;
                  } // end else
            } // State 0 end

            while (s.PresentState == 1) { // State 1 start

              System.out.println("+++ Current TestString: " + s.TestString[s.count] + " Present state = " + s.PresentState + "+++");

             if (s.TestForPoint(s.TestString,s.count)) { // start 1. if
                  s.PresentState = 2;
                  System.out.println("### Going to = " + s.PresentState + "###");
                  s.count++;
                  break;
                  } // end 1. if

              if (s.TestForNumber(s.TestString,s.count)) { // Start 2. if
                  s.PresentState = 1;
                  System.out.println("### Going to = " + s.PresentState + "###");
                  s.count++;
                  break;
                  } // end 2. if

              if (s.TestForE(s.TestString,s.count)) { //Start 3. if
                  s.PresentState = 5;
                  System.out.println("### Going to = " + s.PresentState + "###");
                  s.count++;
                  break;
                  } // end 3. if

              else { // start else
                  s.PresentState = 6;
                  System.out.println("### Going to = " + s.PresentState + "###");
                  s.count = s.TestLength;
                  break;
                  } // end else

            } // state 1 end

            while (s.PresentState == 2) { // state 2 start

              System.out.println("+++ Current TestString: " + s.TestString[s.count] + " Present state = " + s.PresentState + "+++");

              if (s.TestForNumber(s.TestString,s.count)) { // start 1. if
                  s.PresentState = 2;
                  System.out.println("### Going to = " + s.PresentState + "###");
                  s.count++;
                  break;
                  } // end 1. if

              if (s.TestForE(s.TestString,s.count)) { // start 2, if
                  s.PresentState = 5;
                  System.out.println("### Going to = " + s.PresentState + "###");
                  s.count++;
                  break;
                  } // end 2. if

              else { // start else
                  s.PresentState = 6;
                  System.out.println("### Going to = " + s.PresentState + "###");
                  s.count = s.TestLength;
                  break;
                  } // end else

            } // state 2 end

            while (s.PresentState == 3) { // state 3 start

              System.out.println("+++ Current TestString: " + s.TestString[s.count] + " Present state = " + s.PresentState + "+++");

              if (s.TestForNumber(s.TestString,s.count)) { // start 1. if
                  s.PresentState = 2;
                  System.out.println("### Going to = " + s.PresentState + "###");
                  s.count++;
                  break;
                  } // end 1. if

              else { // start else
                  s.PresentState = 6;
                  System.out.println("### Going to = " + s.PresentState + "###");
                  s.count = s.TestLength;
                  break;
                  } // end else

            } // state 3 end

            while (s.PresentState == 4) { // state 4 start

              System.out.println("+++ Current TestString: " + s.TestString[s.count] + " Present state = " + s.PresentState + "+++");

              if (s.TestForNumber(s.TestString,s.count)) { // start 1. if
                  s.PresentState = 4;
                  System.out.println("### Going to = " + s.PresentState + "###");
                  s.count++;
                  break;
                  } // end 1. if

              else { // start else
                  s.PresentState = 6;
                  System.out.println("### Going to = " + s.PresentState + "###");
                  s.count = s.TestLength;
                  break;
                  } // end else

            } // state 4 end

            while (s.PresentState == 5) { // state 5 start

            System.out.println("+++ Current TestString: " + s.TestString[s.count] + " Present state = " + s.PresentState + "+++");

              if (s.TestForNumber(s.TestString,s.count)) { // start 1. if
                  s.PresentState = 4;
                  System.out.println("### Going to = " + s.PresentState + "###");
                  s.count++;
                  break;
                  } // end 1. if

              else { // start else
                  s.PresentState = 6;
                  System.out.println("### Going to = " + s.PresentState + "###");
                  s.count = s.TestLength;
                  break;
                  } // end else

            } // state 5 end

        } // end test untill end of TestString

        if (s.PresentState == 1) // result state 1
            System.out.println("TestString is an Integer - Found in State 1");

        if (s.PresentState == 2) // result state 2
            System.out.println("TestString is a Float - Found in State 2");

        if (s.PresentState == 4) // result state 4
            System.out.println("TestString is a Float - Found in State 4");

        if (s.PresentState == 6) // result test terminated due to invalid number
            System.out.println("Test terminated due to an error - check for valid TestString");

        System.out.println("--- End of Test ---");

        } // end main

        } // end class
      (Review ID: 94579)
      ======================================================================

            duke J. Duke
            kryansunw Kevin Ryan (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: