harmony-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Peter Novodvorsky (JIRA)" <j...@apache.org>
Subject [jira] Commented: (HARMONY-3010) [drlvm][thread manager] VM crashes with seg fault on the recursive call of a synchronized method
Date Wed, 07 Mar 2007 13:44:24 GMT

    [ https://issues.apache.org/jira/browse/HARMONY-3010?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12478768
] 

Peter Novodvorsky commented on HARMONY-3010:
--------------------------------------------

The problem is not in thread manager code. With the help of Pavel Afremov I've found that
stack overflow happens, but it cannot be thrown while execution happens in code called from
asm-helper (which is the case with thread_thin_monitor_try_enter). It tries to find previous
M2N frame but it appears to be M2N frame above our thread starter which doesn't allow to throw
exceptions from. 

The reason why the fault happens in thread_thin_monitor_try_enter is because it's the most
often called piece of code in the program.

Magics support in compiler could fix this problem.



> [drlvm][thread manager] VM crashes with seg fault on the recursive call of a synchronized
method
> ------------------------------------------------------------------------------------------------
>
>                 Key: HARMONY-3010
>                 URL: https://issues.apache.org/jira/browse/HARMONY-3010
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>            Reporter: Elena Semukhina
>         Assigned To: weldon washburn
>         Attachments: MyStack.java, MyStack2.java
>
>
> The attached test crashes with the following message on Linux SUSE9 ia32:
> SIGSEGV in VM code.
> Stack trace:
>         1: locktable_get_fat_monitor (/nfs/ins/proj/drl/coreapi/esemukhi/svn/drlvm/trunk/vm/thread/src/thread_native_thin_monitor.c:655)
>         2: hythread_thin_monitor_try_enter (/nfs/ins/proj/drl/coreapi/esemukhi/svn/drlvm/trunk/vm/thread/src/thread_native_thin_monitor.c:310)
>         3: IP is 0x416A05BD <native code>
>         4: ?? (??:-1)
> <end of stack trace>
> Segmentation fault
> If to remove the "synchronized" modifier from the "test()" method declaration, the test
passes.
> On SUSE9 Linux em64t the crash does not depend on the "synchronized" modifier: it just
crashes with the wording:
> Segmentation fault
> (see HARMONY-2972)
> The attached test is the slightly modified smoke test stress.Stack.

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