Uploaded image for project: 'WildFly'
  1. WildFly
  2. WFLY-12676

memory leak, org.jboss.jca.core.connectionmanager.pool.idle.IdleRemover$IdleRemoverRunner is keeping deployment in memory after undeployment

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Blocker Blocker
    • 19.0.0.Beta1, 19.0.0.Final
    • 18.0.0.Final
    • JCA
    • None

      As part of looking at WFLY-12671, I found that org.jboss.jca.core.connectionmanager.pool.idle.IdleRemover$IdleRemoverRunner is leaking the application classloader (after undeployment) via org.jboss.jca.adapters.jdbc.local.LocalManagedConnectionFactory originalTCCL being kept after undeployment.

      See attached jcaleakmarlow.txt (also attached to WFLY-12671), which shows the leak.

      I tried waiting a few minutes after undeployment and the leak was still there. I also tried an even simpler app (2lc.jar) and still there is a leak. I also attached the heapdump (java_pid12802.0001.zip)

      To recreate:

      • Deploy simple (no app code will be executed) 2lc.jar app.
      • Undeploy by doing "rm 2lc.jar.deployed" in wildfly/standalone/deployments
      • Look at memory with MAT or other memory leak tool.

        1. jcaleakmarlow.txt
          3 kB
        2. java_pid12802.0001.zip
          41.06 MB
        3. 2lc.jar
          2 kB

              smaestri@redhat.com Stefano Maestri
              smarlow1@redhat.com Scott Marlow
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

                Created:
                Updated:
                Resolved: