Uploaded image for project: 'JBoss Enterprise Application Platform 4 and 5'
  1. JBoss Enterprise Application Platform 4 and 5
  2. JBPAPP-6530

BaseClassLoader leaking memory after undeploy

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Resolved (View Workflow)
    • Priority: Minor
    • Resolution: Done
    • Affects Version/s: EAP_EWP 5.1.2
    • Fix Version/s: EAP_EWP 5.3.0.ER1
    • Component/s: None
    • Labels:
      None
    • Environment:

      JBoss Enterprise Application Platform 5.1.0
      Sun JDK / OpenJDK

    • Steps to Reproduce:
      Hide

      1) Start JBoss 5.1 EAP with the admin-console web application deployed.
      2) Make a request to /admin-console/ URL.
      3) Undeploy the web application, by removing admin-console from the filesystem (or moving it outside the deploy folder, or renaming it to .bak, etc.).

      Subsequent iterations of these steps should result in more of these leaking objects being left over.

      Show
      1) Start JBoss 5.1 EAP with the admin-console web application deployed. 2) Make a request to /admin-console/ URL. 3) Undeploy the web application, by removing admin-console from the filesystem (or moving it outside the deploy folder, or renaming it to .bak, etc.). Subsequent iterations of these steps should result in more of these leaking objects being left over.
    • Release Notes Text:
      A memory leak was encountered in previous versions of JBoss EAP when an application that uses EL inside JSP (such as the admin-console) was unemployed. This leak has been corrected by adding a call to purgeBeanClasses in an undeploy method.
    • Release Notes Docs Status:
      Documented as Resolved Issue
    • Docs QE Status:
      NEW
    • Target Release:

      Description

      This occurs when undeploying an application, which uses EL inside JSP. The admin-console application can be used as an example. After undeploying the application, taking a heap dump, and analyzing in Eclipse Memory Analyzer, the classloader for this application (org.jboss.classloader.spi.base.BaseClassLoader) is left over with its root being held by com.sun.naming.internal.ResourceManager in a WeakHashMap named propertiesCache. Would it be possible for this classloader to be cleaned up when the application is undeployed?

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              baranowb Bartosz Baranowski
              Reporter:
              aogburn Aaron Ogburn
              Writer:
              Russell Dickenson Russell Dickenson (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved: