[
https://issues.jboss.org/browse/WFLY-6173?page=com.atlassian.jira.plugin....
]
Martin Kouba commented on WFLY-6173:
------------------------------------
[~joeydaowang] [~jaikiran] Hi guys, I've tried the reproducer and it seems the leak
only occurs when Omnifaces JSF library is used. {{WeldModuleResourceLoader}} is a regular
per-module (per-BeanManager) service which does not require any cleanup after undeploy.
The problematic class is {{org.omnifaces.config.BeanManager}} - this enum holds a
reference to one of the webapp's {{BeanManager}}. We should probably idenfity all the
GC roots first.
Classes not unloaded after undeployment
---------------------------------------
Key: WFLY-6173
URL:
https://issues.jboss.org/browse/WFLY-6173
Project: WildFly
Issue Type: Bug
Components: CDI / Weld
Affects Versions: 8.2.0.Final, 10.0.0.Final
Reporter: Joey Wang
Assignee: Martin Kouba
Priority: Blocker
Fix For: 10.1.0.Final
Attachments: memory-leak.zip
I deployed a small web application with one single JSF and one managed bean, accessed the
page and then undeployed the application. I found the classes of this application had
never been unloaded via monitoring with Java VistualVM, also using
'-XX:+TraceClassUnloading' JVM option proved the classes not unloaded.
Then checking the heap dump of it, I found there were instance for each enum item (the
managed bean has one enum type field, which is always initialized when the managed bean
constructed) and one array instance including these enum instances.
Please refer to the attachment for the same application. I started to verify the
classloader memory leak issue because we found hot redeployment of our real application
swallow some memory each time, then after lots of redeployment the server was short of
memories.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)