You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@geronimo.apache.org by "Kevan Miller (JIRA)" <ji...@apache.org> on 2007/03/31 04:59:25 UTC

[jira] Created: (GERONIMO-3053) OutOfMemoryErrors during deployment

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.


[jira] Closed: (GERONIMO-3053) OutOfMemoryErrors during deployment

Posted by "Kevan Miller (JIRA)" <ji...@apache.org>.
     [ 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:

org.apache.geronimo.deployment.plugin.jmx.RemoteDeploymentManager@1c79dfc
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.