users@glassfish.java.net

Debugging a classloader leak with JHat

From: <glassfish_at_javadesktop.org>
Date: Mon, 20 Aug 2007 12:31:53 PDT

I've been trying to solve a Classloader leak for a long while now and after many days of fruitless research, here I am requesting your help.

First of all, my application is a pretty simple one after all. My ear contains 1 EJB and 1 Web-App which both use a set of jars which are packaged in the ear's lib directory. However, when I undeploy my application, all the classes from the EJB, the Web-App and also from one of the libraries which I included in the ear's lib directory remain stuck along with their classloader.

I've been dumping the heap using jmap and browsing through it using jhat but the only thing which I could find which seemed suspicious was that the WebApp's WebAppClassLoader had a huge list of references from the rootset, all of them passing through the class com.opensymphony.xwork2.inject.InternalContext .

After googling this up, I couldn't find anything related to classloader leaking issues so I'm pretty lost right now trying to find what will help my application undeploy properly. It seems like all the references from the rootset are endless lists of Threads which I don't know anything about.

If anyone can help me clear the fog, I'd appreciate it a lot!


Thanks
[Message sent by forum member 'dalzhim' (dalzhim)]

http://forums.java.net/jive/thread.jspa?messageID=231677