You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by "Alexey Varlamov (JIRA)" <ji...@apache.org> on 2006/10/12 13:41:36 UTC

[jira] Updated: (HARMONY-1833) [DRLVM] deadlock during finalization

     [ http://issues.apache.org/jira/browse/HARMONY-1833?page=all ]

Alexey Varlamov updated HARMONY-1833:
-------------------------------------

    Attachment: H-1833.patch

Fixed the deadlock and corrected OOME handling in the loop.
JNDI tests seems to pass now.

> [DRLVM] deadlock during finalization
> ------------------------------------
>
>                 Key: HARMONY-1833
>                 URL: http://issues.apache.org/jira/browse/HARMONY-1833
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>         Environment: SLES 9 32-bit SP2; CPU 2xXeon x64
> gcc 3.3.3 drlvm debug build
>            Reporter: Alexey Varlamov
>         Attachments: H-1833.patch
>
>
> The classlib tests hang sporadically, usually in JNDI module when running all classlib unit tests (single runs of JNDI alone always ok).
> Investigation shows that there are deadlocks happening between main thread (MT) and finalizer thread (FT): 
> 1) MT performs classloading, it grabs ClassLoader::_lock;
> 2) GC happens, FinalizerThread.startFinalization() is called, FT activates;
> 3) FT invokes some finalize() method, compilation starts and grabs g_compileLock;
> 4) FT waits for ClassLoader::_lock to allocate code_chunk_info;
> 5) MT proceeds to compilation of FinalizerThread.spawnBalanceThreads() and waits for g_compileLock;

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