Uploaded image for project: 'JBoss Enterprise Application Platform'
  1. JBoss Enterprise Application Platform
  2. JBEAP-25589

(7.4.z) Memory leak on :reload operation

XMLWordPrintable

    • False
    • None
    • False

      ./standalone.sh
      watch -n 1 "./jboss-cli.sh -c :reload"
      
      # show leak
      wget   https://github.com/check-leak/check-leak/releases/download/0.11/check-leak-0.11.jar
      java -jar check-leak-0.11.jar remote --pid <PID_OF_EAP> --report /tmp/report --sleep 5000
      

      Tool https://github.com/check-leak/check-leak works on principle of reporting new maximum of instances per class. After some time report stabilize to this output

      *******************************************************************************************************************************
      Executing...
      Processing histogram
      |      30028608 bytes (+188832)|      938394 instances (+5901)|java.lang.ref.WeakReference (java.base@11.0.18)
      |       12036136 bytes (+75320)|      214931 instances (+1345)|java.beans.MethodDescriptor (java.desktop@11.0.18)
      |       11975448 bytes (+44040)|      498977 instances (+1835)|java.lang.String (java.base@11.0.18)
      |       11793080 bytes (+72520)|      294827 instances (+1813)|java.lang.ref.SoftReference (java.base@11.0.18)
      |       10034048 bytes (+61728)|      313564 instances (+1929)|java.util.Hashtable$Entry (java.base@11.0.18)
      |        8111448 bytes (+50760)|      337977 instances (+2115)|java.beans.MethodRef (java.desktop@11.0.18)
      |        5808288 bytes (+36792)|      242012 instances (+1533)|java.util.ArrayList (java.base@11.0.18)
      |        5145496 bytes (+34736)|      219097 instances (+1517)|[Ljava.lang.String; (java.base@11.0.18)
      |        4429656 bytes (+27720)|        61523 instances (+385)|java.beans.PropertyDescriptor (java.desktop@11.0.18)
      |        4011600 bytes (+24512)|        62047 instances (+383)|[Ljava.util.Hashtable$Entry; (java.base@11.0.18)
      |        2978256 bytes (+18384)|        62047 instances (+383)|java.util.Hashtable (java.base@11.0.18)
      |        1847288 bytes (+11560)|         12784 instances (+80)|[Ljava.beans.MethodDescriptor; (java.desktop@11.0.18)
      |          771096 bytes (+4224)|        32129 instances (+176)|java.util.Collections$SynchronizedSet (java.base@11.0.18)
      |          728880 bytes (+4560)|         15185 instances (+95)|java.lang.ThreadGroup (java.base@11.0.18)
      |          717504 bytes (+4480)|          7994 instances (+50)|[Ljava.lang.Thread; (java.base@11.0.18)
      |          575280 bytes (+3600)|         11985 instances (+75)|java.beans.BeanDescriptor (java.desktop@11.0.18)
      |          524144 bytes (+3280)|         11985 instances (+75)|[Ljava.beans.PropertyDescriptor; (java.desktop@11.0.18)
      |          494280 bytes (+2960)|         12357 instances (+74)|java.util.WeakHashMap$Entry (java.base@11.0.18)
      |          479400 bytes (+3000)|         11985 instances (+75)|java.beans.GenericBeanInfo (java.desktop@11.0.18)
      |          473008 bytes (+2960)|        29563 instances (+185)|java.util.Hashtable$EntrySet (java.base@11.0.18)
      |           129504 bytes (+400)|            801 instances (+5)|[Ljava.lang.ThreadGroup; (java.base@11.0.18)
      |            76704 bytes (+480)|          1598 instances (+10)|org.infinispan.factories.threads.BlockingThreadFactory$ISPNBlockingThreadGroup
      |            76704 bytes (+480)|          1598 instances (+10)|org.infinispan.factories.threads.NonBlockingThreadFactory$ISPNNonBlockingThreadGroup
      |            51136 bytes (+320)|            799 instances (+5)|java.beans.EventSetDescriptor (java.desktop@11.0.18)
      |            40512 bytes (+240)|            844 instances (+5)|java.util.concurrent.ConcurrentSkipListMap (java.base@11.0.18)
      |            38352 bytes (+240)|            799 instances (+5)|org.wildfly.transaction.client.provider.jboss.JBossJTALocalTransactionProvider
      |            31960 bytes (+200)|            799 instances (+5)|java.beans.WeakIdentityMap$Entry (java.desktop@11.0.18)
      |            25568 bytes (+160)|            799 instances (+5)|com.sun.beans.finder.BeanInfoFinder (java.desktop@11.0.18)
      |            25568 bytes (+160)|            799 instances (+5)|java.beans.ThreadGroupContext (java.desktop@11.0.18)
      |            25568 bytes (+160)|            799 instances (+5)|org.wildfly.transaction.client.provider.jboss.FileSystemXAResourceRegistry
      |            19192 bytes (+120)|            800 instances (+5)|[Ljava.beans.EventSetDescriptor; (java.desktop@11.0.18)
      |            19176 bytes (+120)|            799 instances (+5)|org.wildfly.security.auth.jaspi.DelegatingAuthConfigFactory
      |             13472 bytes (+80)|            842 instances (+5)|java.util.concurrent.ConcurrentSkipListSet (java.base@11.0.18)
      |             12784 bytes (+80)|            799 instances (+5)|com.arjuna.ats.internal.jbossatx.jta.XAResourceRecoveryHelperWrapper
      |             12784 bytes (+80)|            799 instances (+5)|com.arjuna.ats.internal.jbossatx.jta.jca.XATerminator
      |             12784 bytes (+80)|            799 instances (+5)|org.wildfly.security.auth.jaspi.ElytronAuthConfigFactory
      |             12784 bytes (+80)|            799 instances (+5)|org.wildfly.transaction.client.provider.jboss.JBossLocalTransactionProvider$$Lambda$665/0x00000001009a9040
      |             12784 bytes (+80)|            799 instances (+5)|org.wildfly.transaction.client.provider.jboss.JBossLocalTransactionProvider$XAImporterImpl
      

      This mean those classes reach new occurence maximum each time server is reloaded. Even running GC can't stop that observation. Maximum is continuosly rising. When I stop reloading server new maxima are not reported anymore. Increasing trend can be seen also in jconsole diagrams.

      Similar behaviour can be seen in EAP8. In EAP 74 the trend is much steeper, so maybe there is also different leak.

              thofman Tomas Hofman
              mchoma@redhat.com Martin Choma
              Votes:
              0 Vote for this issue
              Watchers:
              8 Start watching this issue

                Created:
                Updated:
                Resolved: