Uploaded image for project: 'Harmony'
  1. Harmony
  2. HARMONY-1859

[drlvm][util] StackOverflowError handling leads to Segmentation fault on Linux with -Xem:opt and jet and is handled incorrectly with -Xint on both Win and Linux

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Minor
    • Resolution: Fixed
    • None
    • None
    • DRLVM
    • None

    Description

      Simple recursive method calling leads to Segmentation fault instead of StackOverflowError throwing on Linux with -Xem:opt and jet.
      It is handled incorrectly with -Xint on both Win and Linux .
      On Windows with -Xem:opt and jet StackOverflowError is thrown correctly.

      test for reproducing:

      public class test {
      public static void main(String [] args) {
      try

      { main(args); }

      catch (Throwable e)

      { System.out.println("was caught " + e); }

      }
      }
      to reproduce run script: bash run_lnx.sh
      To reproduce bash run.sh:
      -----------------------------------------------------------------------
      export HY=../ drl_20061013_lnx_ia32_0002_icc_r_H
      export LD_LIBRARY_PATH=$HY/bin
      export SUN=../jdk1.5.0_06
      $SUN/bin/javac -cp . test.java
      echo -------SUN---------
      $SUN/bin/java -cp . test
      echo ---------HY -Xem:jet--------
      $HY/bin/java -showversion
      $HY/bin/java -cp . -Xem:jet test
      echo ---------HY -Xem:opt--------
      $HY/bin/java -cp . -Xem:opt test
      echo -----------HY -Xint --------------
      $HY/bin/java -cp . -Xint test

      OUTPUT on Linux:
      -------SUN---------
      was caught java.lang.StackOverflowError
      ---------HY -Xem:jet--------
      Apache Harmony Launcher : (c) Copyright 1991, 2006 The Apache Software Foundation or its l
      java version "1.5.0"
      pre-alpha : not complete or compatible
      svn = r454528, (Oct 13 2006), Linux/ia32/icc 900, release build
      http://incubator.apache.org/harmony
      run_lnx.sh: line 10: 32502 Segmentation fault $HY/bin/java -cp . -Xem:jet test
      ---------HY -Xem:opt--------
      SIGSEGV in VM code.
      Stack trace:
      1: ?? (??:-1)
      2: ?? (??:-1)
      3: ?? (??:-1)
      4: ?? (??:-1)
      5: ?? (??:-1)
      6: ?? (??:-1)
      7: ?? (??:-1)
      8: ?? (??:-1)
      9: ?? (??:-1)
      10: ?? (??:-1)
      11: ?? (??:-1)
      12: ?? (??:-1)
      13: ?? (??:-1)
      14: ?? (??:-1)
      15: ?? (??:-1)
      16: ?? (??:-1)
      17: ?? (??:-1)
      18: ?? (??:-1)
      19: JIT_execute_method_default(void*, _jmethodID*, jvalue*, jvalue*) (??:-1)
      20: DrlEMImpl::executeMethod(_jmethodID*, jvalue*, jvalue*) (??:-1)
      <end of stack trace>
      run_lnx.sh: line 12: 32538 Segmentation fault $HY/bin/java -cp . -Xem:opt test
      ----------HY -Xint -----------

      java/lang/StackOverflowError : (null)
      at test.main (test.java: 15)
      at test.main (test.java: 7)
      at test.main (test.java: 7)
      at test.main (test.java: 7)
      at test.main (test.java: 7)
      ....

      OUTPUT on Windows:
      -------SUN---------
      was caught java.lang.StackOverflowError
      Apache Harmony Launcher : (c) Copyright 1991, 2006 The Apache Software Foundation or its licensors, as applicable.
      ---------HY with -Xem:jet--------
      was caught java.lang.StackOverflowError
      ---------HY with -Xem:opt--------
      was caught java.lang.StackOverflowError
      ----------HY with -Xint

      java/lang/StackOverflowError : (null)
      at test.main (test.java: 15)
      at test.main (test.java: 7)
      at test.main (test.java: 7)
      at test.main (test.java: 7)
      at test.main (test.java: 7)

      Attachments

        1. H-1859_fix_1.patch
          17 kB
          Pavel Afremov
        2. iterpreter_partial_fix_1.patch
          1.0 kB
          Pavel Afremov
        3. iterpreter_partial_fix_2.patch
          2 kB
          Pavel Afremov
        4. jit_additional_fix_1.patch
          0.8 kB
          Pavel Afremov
        5. soe.fix
          8 kB
          Mikhail Fursov

        Issue Links

          Activity

            People

              gshimansky Gregory Shimansky
              vera.v.aristova@intel.com Vera Aristova
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: