Memory leak in EAP 6 JMX remoting
Issue
- Memory leak when requesting attributes using JMXConnectorFactory over remoting-jmx via management interface
- Repeated remote request of JMX attributes, as performed by a jmxquery plugin http://code.google.com/p/jmxquery/ causes heap space to grow to the limit and eventually the server to run out of memory. This is reproducible by executing the following command in a bash loop
java -cp ./jmxquery-1.2beta.jar:$JBOSS_HOME/bin/client/jboss-client.jar jmxquery.JMXQuery -U 'service:jmx:remoting-jmx://localhost:9999' -O java.lang:type=Memory -A HeapMemoryUsage -K used
Over time it is evident that memory is accumulated by thousands of instances of the following classes referenced from one instance of "java.util.HashMap$Entry[]", loaded by <system class loader>
org.jboss.remoting3.remote.RemoteConnection
org.jboss.remoting3.remote.RemoteControlChannel
org.jboss.remoting3.remote.RemoteControlHandler
Environment
- JBoss Enterprise Application Platform (EAP) 6.0
Subscriber exclusive content
A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.