geronimo-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Kevan Miller <kevan.mil...@gmail.com>
Subject Re: Memory leak using Geronimo 2.1.4? Having 116760 instances of LifecycleEvent
Date Fri, 01 Oct 2010 17:01:08 GMT

On Oct 1, 2010, at 11:59 AM, boes wrote:

> I need help. How can I debug this problem?

You've got a good start -- a heap dump that shows a number of LifecycleEvent and Container
instances. They should definitely be investigated.

I've found YourKit to be very helpful in analyzing heapdumps. I've never used jhat, but have
used Eclipse MAT, which should do the job, also... 

Using the tool, you want to identify the GC roots of the LifeCycleEvent and/or Container objects.
By GC Root, I mean the chain of references which are preventing the objects from being GC'ed.


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

I don't recall seeing a similar problem. So, can't predict where the problem is, yet. What
are you doing with the server. Are you deploying/redeploying many applications? Are you stopping/starting
modules?

LIfecycleEvents get generated when Tomcat components change state (start, stop, etc). I think
I recall a timer-based lifecycle event, also.  

Given the number of Container[] objects, I would say they must be Container events... If you
can inspect the contents of the LifeCycleEvents, there should be a type field which will tell
you what type of events are being generated.

--kevan
Mime
View raw message