[ 
https://issues.apache.org/jira/browse/GERONIMO-3053?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Kevan Miller closed GERONIMO-3053.
----------------------------------

    Resolution: Fixed

First, there was a bug/feature in our ClassLoader cloning algorithm. We weren't 
properly cloning a ClassLoader DAG. Result was we had multiple copies of the 
same ClassLoader. Searching this now redundant ClassLoader structure caused a 
lot of java.util.Zipfile instances to be created. These instances weren't being 
leaked, and would eventually be GC'ed. So, this was inefficient, but could have 
worked...

However, JRE allocates non-heap memory for each Zipfile. This memory is part of 
the process memory and is separate from heap/permgen memory.  Zipfiles didn't 
consume a lot of heap memory. So, JRE was not in a big rush to GC the Zipfiles. 
Eventually, we'd run out of this process memory. When this happens, the JRE 
throws an OutOfMemoryError, like so:

[EMAIL PROTECTED]
Exception in thread "Thread-182" java.lang.OutOfMemoryError
        at java.util.zip.Inflater.init(Native Method)
        at java.util.zip.Inflater.<init>(Inflater.java:75)
        at java.util.zip.ZipFile.getInflater(ZipFile.java:375)
        at java.util.zip.ZipFile.getInputStream(ZipFile.java:320)
        at java.util.zip.ZipFile.getInputStream(ZipFile.java:286)
        at java.util.jar.JarFile.getInputStream(JarFile.java:387)
        at 
sun.misc.URLClassPath$JarLoader$1.getInputStream(URLClassPath.java:620) 

> OutOfMemoryErrors during deployment
> -----------------------------------
>
>                 Key: GERONIMO-3053
>                 URL: https://issues.apache.org/jira/browse/GERONIMO-3053
>             Project: Geronimo
>          Issue Type: Bug
>      Security Level: public(Regular issues) 
>    Affects Versions: 2.0-M4
>         Environment: Linux, Sun JRE
>            Reporter: Kevan Miller
>         Assigned To: Kevan Miller
>             Fix For: 2.0-M5
>
>
> While running multiple deploy/undeploy commands, you can get 
> OutOfMemoryErrors.

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

Reply via email to