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-1364) Stack parameters for Exception Handling not initialized and asserts on access
Date Fri, 08 Sep 2006 01:09:23 GMT
    [ http://issues.apache.org/jira/browse/HARMONY-1364?page=comments#action_12433288 ] 
            
Rana Dasgupta commented on HARMONY-1364:
----------------------------------------

The reason it passes on Linux is because the Linux codepath did not have an  assert to check
if the stack is not initialized and guarded correctly. I have attached a second patch that
includes this assert. It is now raised on my Suse 10 with SVN HEAD.

We need initilization and setting of the stack guard for the SOE machinery to work correctly,(
patch 1 ) and the asserts ( patch 2) are needed to check that the initialization is happening.




> Stack parameters for Exception Handling not initialized and asserts on access
> -----------------------------------------------------------------------------
>
>                 Key: HARMONY-1364
>                 URL: http://issues.apache.org/jira/browse/HARMONY-1364
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>         Environment: Tested on NT, but same code problem on Linux
>            Reporter: Rana Dasgupta
>         Attachments: assertfix
>
>
> Symptom: 
> -------------- On msvc build the following test hits an assert(0) in nt_exception_filter.cpp:240

> The stack parameters in the overflow exception handling code are uninitialized. This
is a regression, since the test worked before.
> Test case:
> ---------------
> public class Stack { 
>     static int depth = 0; 
>     public static void func() { 
>         depth++; 
>         func(); 
>     } 
>     public static void main(String[] args) { 
>         try { 
>             func(); 
>         } catch (Throwable th) { 
>             System.out.println("First SOE depth = " + depth); 
>             System.out.println ("Caught = " + th); 
>         } 
>     } 
> } 
> Fix: attached
> ----
> Testing:
> -----------
> Ran all smoke tests against "build test" target. There is one failure( unrelated  to
the current issue of stack overflow ) on my test machine, but that is both before and after
code changes. However, I am attaching failure log below.
> INFO: TEST test_jthread_get_all_threads start
> ERROR: Assertion '(thread_count)==(i)' failed at C:\Harmony\drlvm\vm\tests\unit\thread\test_ti_instrum.c:65
> ERROR: Assertion '(thread_count)==(0)' failed at C:\Harmony\drlvm\vm\tests\unit\thread\test_ti_instrum.c:39
> INFO: TEST test_jthread_get_all_threads: FAILED

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