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

Second stack overflow crashes HotSpot VM

XMLWordPrintable

    • sparc
    • solaris_7



      Name: dkC59003 Date: 10/15/99



      HotSpot 1.3fcs-K (solaris) crashes when StackOverflowError occurs in
      a loop.
      Win32 VM in mixed mode outputs this message once and silently exits
      which does not look correct as well.
      Classic and win32 VM in -Xint mode output expected triple
      "StackOverflowError exception occurred" message.
      Log and test source follow:

      $ java -version
      java version "1.3.0"
      Java(TM) 2 Runtime Environment, Standard Edition (build 1.3.0-K)
      Java HotSpot (TM) Client VM (build 1.3-K, interpreted mode)

      $ java test
      StackOverflowError exception occurred
      An irrecoverable stack overflow has occurred.
      #
      # HotSpot Virtual Machine Error, Unexpected Signal 11
      #
      # Error ID: 4F533F534F4C415249530E4350500790 01
      #

      ----------------------------------------------------------- test.java
      public class test {

          public static void main(String[] args) throws Exception {
         test t = new test();
      for (int k = 0; k < 3; k++) {
      try {
      t.proc();
      } catch(StackOverflowError e) {
      System.out.println("StackOverflowError exception occurred");
      }
      }
      System.out.println("End of the loop");
          }

          void proc() {
      proc();
          }
      }

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

      Name: ipC94532 Date: 12/07/99



      HotSpot crashes when second stack overflow occurs. Classic does not.

      JCK testsuite cannot be passed in singleJVM mode because
      of this bug: there are two tests in JCK that throw StackOverflowError
      (vm/concepts/exceptions/exceptions031/exceptions03101 and
      vm/concepts/exceptions/exceptions031/exceptions03102)

      Test program
      --------------------------------------------- test.java ---

      public class test {
         public static void main(String[] args) {
            overflow("First overflow");
            overflow("Second overflow");
         }
         static void runner() {
            runner();
         }
         static void overflow(String msg) {
            try {
               runner();
            } catch (StackOverflowError e) {
               System.out.println(msg);
            }
         }
      }

      -----------------------------------------------------------

      Solaris execution log
      -----------------------------------------------------------
      > uname -a

      SunOS novo12 5.7 Generic_Patch sun4u sparc SUNW,Ultra-2

      > javac test.java
      > java -version

      java version "1.3.0"
      Java(TM) 2 Runtime Environment, Standard Edition (build 1.3.0-P)
      Java HotSpot(TM) Client VM (build 1.3-P, interpreted mode)

      > java -classic -version

      java version "1.3.0"
      Java(TM) 2 Runtime Environment, Standard Edition (build 1.3.0-P)
      Classic VM (build 1.3.0-P, green threads, nojit)

      > java test

      First overflow
      An irrecoverable stack overflow has occurred.
      #
      # HotSpot Virtual Machine Error, Unexpected Signal 11
      #
      # Error ID: 4F533F534F4C415249530E43505007B5 01
      #

      > hserror 4F533F534F4C415249530E43505007B5

      os_solaris.cpp, 1973

      > java -classic test

      First overflow
      Second overflow

      -----------------------------------------------------------
      Being run on WinNT, HotSpot crashes too, without
      any diagnostics but with exitcode 128.

      --------------------------------------------- doit.bat ---
      @echo off
      h:/ld25/java/dest/jdk1.3.0P/win32/bin/java %1 %2 %3
      echo ---%errorlevel%---
      -----------------------------------------------------------

      Windows NT execution log
      -----------------------------------------------------------
      > doit.bat -version

      java version "1.3.0"
      Java(TM) 2 Runtime Environment, Standard Edition (build 1.3.0-P)
      Java HotSpot(TM) Client VM (build 1.3-P, mixed mode)
      ---0---

      > doit.bat -classic -version

      java version "1.3.0"
      Java(TM) 2 Runtime Environment, Standard Edition (build 1.3.0-P)
      Classic VM (build 1.3.0-P, native threads, nojit)
      ---0---

      > doit.bat test

      First overflow
      ---128---

      > doit.bat -classic test

      First overflow
      Second overflow
      ---0---

      -----------------------------------------------------------

      Failure reproduces under jdk1.3.0-A,J,M,N,O

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

            jcoomes John Coomes (Inactive)
            dkhukhrosunw Dmitry Khukhro (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: