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