I'm using Geronimo 2.1.4 and yesterday one of our production servers ran into an OutOfMemory error after running fine for at least a month. I had to kill the geronimo java process as it did not react anymore. For another customer I have the same setup running more than a month now. Today I made a heap dump of the more-than-a-month-running geronimo with jmap and analyzed the heap dump with jhat. Here I show the top of the 'Instance Counts for All Classes (excluding platform)':
116760 instances of class org.apache.catalina.LifecycleEvent 116760 instances of class [Lorg.apache.catalina.Container; 8000 instances of class org.apache.geronimo.gbean.runtime.ReflectionMethodInvoker 6651 instances of class org.apache.geronimo.gbean.runtime.GBeanAttribute 6387 instances of class org.apache.geronimo.gbean.GAttributeInfo 5288 instances of class org.apache.geronimo.connector.outbound.connectiontracking.SharedConnectorInstanceContext 3634 instances of class org.apache.geronimo.kernel.repository.Artifact 3380 instances of class org.apache.geronimo.gbean.GOperationSignature 3233 instances of class org.apache.geronimo.gbean.runtime.GBeanOperation 3182 instances of class org.apache.geronimo.kernel.repository.Version 2726 instances of class org.apache.geronimo.gbean.GOperationInfo 2639 instances of class org.apache.tomcat.util.http.mapper.Mapper$Wrapper 2210 instances of class org.apache.geronimo.gbean.AbstractNameQuery 1719 instances of class org.apache.tomcat.util.buf.ByteChunk 1680 instances of class edu.emory.mathcs.backport.java.util.concurrent.CopyOnWriteArrayList$COWIterator 1670 instances of class org.apache.tomcat.util.buf.CharChunk 1611 instances of class org.apache.tomcat.util.buf.MessageBytes 1510 instances of class org.apache.log4j.CategoryKey 1217 instances of class org.apache.catalina.util.LifecycleSupport 1217 instances of class [Lorg.apache.catalina.LifecycleListener; 1200 instances of class [Lorg.apache.catalina.Session; If I choose the jhat list 'Instance Counts for All Classes (including platform)' the top shows: 195159 instances of class java.util.HashMap$Entry 170188 instances of class java.lang.String 135287 instances of class [C 116793 instances of class java.util.HashMap$ValueIterator 116760 instances of class org.apache.catalina.LifecycleEvent 116760 instances of class [Lorg.apache.catalina.Container; I need help. How can I debug this problem? Is it a Geronimo or a Tomcat issue? What part of Geronimo or Tomcat generates all these LifecycleEvents? Can it be a result of some programming errors in our application? I looked in the heap dump for classes from our own application and the first in the list only has 208 instances. Any ideas on what might be the cause of this huge number of instances in the heap? Thanks for the help -- View this message in context: http://apache-geronimo.328035.n3.nabble.com/Memory-leak-using-Geronimo-2-1-4-Having-116760-instances-of-LifecycleEvent-tp1615458p1615458.html Sent from the Users mailing list archive at Nabble.com.
