|Re: Need help to analyse result given by MAT [message #507924 is a reply to message #507875]
||Fri, 15 January 2010 03:54
| Krum Tsvetkov
Registered: July 2009
This is a very interesting question.
I think the analysis you did is very good, but the problem seems to be tricky.
You found already that the classloaders are kept after the restart of the app, and you found one path to them - the one from the BirtEngine class. This class is marked as a GC root with the reason Native Heap, which should mean there is references somewhere from the native heap. And I can't tell why.
The Merged Shrotest paths gives you only one path per object. What you could try is to run Paths From GC roots on one of the objects and see if it will return you more paths. You can also look at the inbound references to a classloader (context menu, list objects -> with incoming references).
Howefer all these are just to search for another path, and will not answer the question why the BirtEngine classes are marked as "native heap" GC roots.
BTW, I remember I have seen some of my instances marked as "Native heap" and not removed as I was debugging, had a breakpoint on this place, and was using the "All Instances" context menu in the debugger. I couldn't explain it then. Were you by chance debugging when this happened?
Does this help in any way?
Powered by FUDForum
. Page generated in 0.02700 seconds