Apache Sling ClassLoader Leak Detector
Switch branches/tags
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
src/main/java/org/apache/sling/extensions/leakdetector/internal
.gitignore
CODE_OF_CONDUCT.md
CONTRIBUTING.md
LICENSE
README.md
pom.xml

README.md

Build Status Maven Central JavaDocs License contrib

Apache Sling ClassLoader Leak Detector

This module is part of the Apache Sling project.

This bundle provides support for tracing classloader leaks which occur due to improper cleanup in bundles. Refer to SLING-3359 for background details.

The bundle registers a Felix Configuration Printer which dumps out a list of suspected classloaders which are not getting garbage collected. It can be accessed at http://localhost:8080/system/console/status-leakdetector

Possible classloader leak detected
Number of suspicious bundles - 1

* org.apache.sling.sample.leakdetector.bad-bundle (0.0.1.SNAPSHOT) - Classloader Count [2]
     - Bundle Id - 204
     - Leaked classloaders
         - Identity HashCode - 4a273519, Creation time 31.01.2014 15:22:58.407

JVM Arguments

By default on Oracle JDK the classloaders and related classes from Permgen are not garbage collected by default. This bundle relies on classloaders getting garbage collected for it work. So to enable that pass on following arguments

 -XX:+UseConcMarkSweepGC -XX:+CMSClassUnloadingEnabled