Permgen or Metaspace leak at org.apache.cxf.common.util.ProxyClassLoader in JBoss EAP 6.4 CP04 and CP05
Environment
- Red Hat JBoss Enterprise Application Platform (EAP) 6.4 CP04 and CP05
- Apache CXF 2.7.17
Issue
- Permgen or metaspace usage was increased after upgrading EAP 6.4 CP04/CP05 from EAP 6.4 CP03.
- Metaspace or Permgen leak at
org.apache.cxf.common.util.ProxyClassLoaderin JBoss EAP 6.4 CP04 and CP05
Resolution
- Upgrade to JBoss EAP 6.4 CP06 (or later) coming with Apache CXF 2.7.18 which incorporates a fix for Content from issues.apache.org is not included.CXF-6599 .
Root Cause
- A Content from github.com is not included.patch are newly included in Apache CXF 2.7.17. This is a root cause of Metaspace and Permgen memory leak at
org.apache.cxf.common.util.ProxyClassLoader. - Same issue was reported on Content from comments.gmane.org is not included.CXF mailing list. And it's fixed in JIRA Content from issues.apache.org is not included.CXF-6599 with these two commits Content from github.com is not included.1 and Content from github.com is not included.2, which were incorporated in the Apache CXF 2.7.18 or later.
Diagnostic Steps
Ask for the following information for further review:
-
heap dump from the OOME
-
server logs and gc logs
-
GC.class_statswithjcmdafter enabling-XX:+UnlockDiagnosticVMOptions:$JAVA_HOME/bin/jcmd <JBOSS_JAVA_PID> GC.class_stats -all -csv
Components
Category
This solution is part of Red Hat’s fast-track publication program, providing a huge library of solutions that Red Hat engineers have created while supporting our customers. To give you the knowledge you need the instant it becomes available, these articles may be presented in a raw and unedited form.