harmony-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Rana Dasgupta (JIRA)" <j...@apache.org>
Subject [jira] Commented: (HARMONY-971) [drlvm] StackOverflowError in native code is handled inaccurately
Date Tue, 03 Oct 2006 05:31:21 GMT
    [ http://issues.apache.org/jira/browse/HARMONY-971?page=comments#action_12439389 ] 
            
Rana Dasgupta commented on HARMONY-971:
---------------------------------------

We don't need this patch. This patch was a workaround for handling SOE when raised in suspend
disabled mode. The BBC patch includes enough lazy exception handling in VM code functionality
to handle this problem and the patch is no longer necessary. The bug does not repro and the
suggestion is that we close it.

> [drlvm] StackOverflowError in native code is handled inaccurately
> -----------------------------------------------------------------
>
>                 Key: HARMONY-971
>                 URL: http://issues.apache.org/jira/browse/HARMONY-971
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>            Reporter: Alexey Varlamov
>         Assigned To: Geir Magnusson Jr
>         Attachments: soefix
>
>
> On msvc debug build, the following test fails on assert(tmn_is_suspend_enabled());  exceptions.cpp:
143
> The stack trace is:
> >	vmcore.dll!create_exception(const char * exception_name=0x102932ec)  Line 143 +
0x20	C++
>  	vmcore.dll!exn_raise_by_name(const char * exception_name=0x102932ec)  Line 325 + 0x9
C++
>  	vmcore.dll!vectored_exception_handler(_EXCEPTION_POINTERS * nt_exception=0x06052c4c)
 Line 317 + 0xa	C++
>  	ntdll.dll!7c84f937() 	
> Test to reproduce:
> public class TestStackOverflow{
> 	static int i1 = 0;
> 	static int i2 = 0;
>     public static void main(String[] argv) {
>    		try {
>    			method1(0);
>    			System.err.println("Test failed: no stack overflow reported");
>    		} catch (StackOverflowError e) {
>    			System.err.println("Test passed");
> 			//System.err.println("Stack depth was = " + (i1 + i2) /*e.getStackTrace().length*/);
> 			//e.printStackTrace();
>    		} catch (Throwable t) {
>    			System.err.println("Test failed: "+t);
>    		}
>    		System.err.println("i1="+i1+" i2="+i2);
>    	}
>     	    
>    	private static void method1(int p) {
>    		
>    		System.err.print(".");
>    		method2(++i1);
>    	}
>    	private static void method2(int p) {
>    		
>    		System.err.print(",");
>    		method1(++i2);
>    	}
> }

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Mime
View raw message