harmony-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Geir Magnusson Jr (JIRA)" <j...@apache.org>
Subject [jira] Commented: (HARMONY-971) [drlvm] StackOverflowError in native code is handled inaccurately
Date Sun, 24 Sep 2006 13:15:24 GMT
    [ http://issues.apache.org/jira/browse/HARMONY-971?page=comments#action_12437210 ] 
            
Geir Magnusson Jr commented on HARMONY-971:
-------------------------------------------

this patch doesn't apply cleanly (not surprising, given recent changes).  I'm going to try
to do it anyway.  If a clean one is *easy*, that would be appreciated, but I don't want to
put you out...

> [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