]
Arto Huusko updated JBAS-5270:
------------------------------
Attachment: simpleejb.ear
The simple EAR file used to produce the issue.
ClassLoader not unloaded on undeploy
------------------------------------
Key: JBAS-5270
URL:
http://jira.jboss.com/jira/browse/JBAS-5270
Project: JBoss Application Server
Issue Type: Bug
Security Level: Public(Everyone can see)
Components: ClassLoading
Affects Versions: JBossAS-4.2.1.GA
Environment: JDK 1.6.0_04 amd64
Reporter: Arto Huusko
Assigned To: Scott M Stark
Attachments: simpleejb.ear
When an EAR is undeployed, its ClassLoader and classes loaded by it are not unloaded,
which leads to out of memory error in permanent generation on redeploy.
It appears that the ClassLoader becomes an orphaned ClassLoader (see
http://blogs.sun.com/edwardchou/entry/find_orphaned_classloaders), and apparently JVM is
unable to GC such ClassLoader instances (if it were, I don't understand the point of
the blog about orphaned loaders).
My simple test ear contains one stateless session EJB (2.1), with a simple
"echo" method (takes string, returns string). Jhat shows that the only reference
to the ClassLoader instance comes from static field m3 in class $ProxyNN, where $ProxyNN
is loaded by the same ClassLoader (in case it makes any difference, m3 points to the
create method of the local home interface of the session).
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: