harmony-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Pavel Pervov (JIRA)" <j...@apache.org>
Subject [jira] Commented: (HARMONY-5844) [drlvm] class unloading wastes memory
Date Tue, 17 Feb 2009 09:14:59 GMT

    [ https://issues.apache.org/jira/browse/HARMONY-5844?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12674156#action_12674156
] 

Pavel Pervov commented on HARMONY-5844:
---------------------------------------

Generally speaking, exceptions produced during loading should not be loaded by the class loader
other than the class loader itself of delegation parent of this classloader. This way, exceptions
recorded as loading failures must not be the only classes referenced from outside this class
loader or they must belong to the class loader being unloaded.

The first case is class loading issue (which is very unlikely), and the second case is class
unloading issue of GC being unable to correctly trace cyclic dependency inside single class
loader (exception, recorded in the class entity, beloging to the class loader in question).
It looks like missing case in DRLVM class unloading algorithm.

> [drlvm] class unloading wastes memory
> -------------------------------------
>
>                 Key: HARMONY-5844
>                 URL: https://issues.apache.org/jira/browse/HARMONY-5844
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>            Reporter: Alexey Varlamov
>            Assignee: Chunrong Lai
>
> Simple class unloading scenario shows that DRLVM leaks memory (and finally crashes).
To reproduce, run StressTest of lazy.test suite and watch that process gradually consumes
more and more memory. If compared to RI, the last keeps memory flat during very long runs.
> Memory leaks roughly in the same rate for any execution mode, compiled or interpreted.
> For convenience, there is standalone launcher org.apache.harmony.vm.test.lazyresolution.StressTest
which can vary stress load, e.g.: 
> working_vm$ cd build\windows_x86_msvc_release\tests\lazy.tests\classes 
> classes$ java -cp .;junit.jar -Dlazy.test.iterations=100 -Dlazy.test.threads=10 org.apache.harmony.vm.test.lazyresolution.StressTest

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