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

Reply via email to