You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by "Gregory Shimansky (JIRA)" <ji...@apache.org> on 2007/04/16 16:51:15 UTC

[jira] Commented: (HARMONY-3666) [drlvm] crash handler sometimes deadlocks

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

Gregory Shimansky commented on HARMONY-3666:
--------------------------------------------

It appears that the group of functions on in glibc Linux which manage memory such as malloc, free, realloc and probably some other are using the same global lock for C heap. When some thread is executing such function and it is holding this global lock other threads cannot use these functions. It looks like fork uses malloc (or other C heap management functions) inside of its implementation, so when some thread in VM crashes and it tries to execute fork, it may dead lock with another thread that executes malloc/free.

> [drlvm] crash handler sometimes deadlocks 
> ------------------------------------------
>
>                 Key: HARMONY-3666
>                 URL: https://issues.apache.org/jira/browse/HARMONY-3666
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>         Environment: Linux@ia32
>            Reporter: Alexey Varlamov
>         Attachments: gdb_all_bt.2.txt, gdb_all_bt.txt
>
>
> Running AWT tests with release VM, ~ each 3rd run hangs during stack dump. Usually this happens if SIGSEGV happens early enough (up to 6-8 tests run), probably interfered with compilation. I did not seen hangs on debug build, probably because of different timings.
> Anyway, almost always VM just prints "SIGSEGV in VM code." and either hangs or aborts. 

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