harmony-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Pavel Afremov (JIRA)" <j...@apache.org>
Subject [jira] Updated: (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
Date Thu, 21 Jun 2007 14:37:26 GMT

     [ https://issues.apache.org/jira/browse/HARMONY-1859?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Pavel Afremov updated HARMONY-1859:
-----------------------------------

    Attachment: H-1859_fix_1.patch

Patch provide fix of crash inside VM code after SOE in stress condiotion. Good stress test
on SOE support.

To set up guard page after SOE additional stack is required. Fix consist in  rolling back
several frames to have enough stack.


> [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
> -----------------------------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: HARMONY-1859
>                 URL: https://issues.apache.org/jira/browse/HARMONY-1859
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>            Reporter: Vera Aristova
>            Priority: Minor
>         Attachments: H-1859_fix_1.patch, iterpreter_partial_fix_1.patch, iterpreter_partial_fix_2.patch,
jit_additional_fix_1.patch, soe.fix
>
>
> 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)

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message