geronimo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Kevan Miller (JIRA)" <>
Subject [jira] Closed: (GERONIMO-3053) OutOfMemoryErrors during deployment
Date Sat, 31 Mar 2007 03:30:25 GMT


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:

Exception in thread "Thread-182" java.lang.OutOfMemoryError
	at Method)
	at java.util.jar.JarFile.getInputStream(
	at sun.misc.URLClassPath$JarLoader$1.getInputStream( 

> OutOfMemoryErrors during deployment
> -----------------------------------
>                 Key: GERONIMO-3053
>                 URL:
>             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.

View raw message