[ https://issues.apache.org/jira/browse/FELIX-6591?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Chris Rankin updated FELIX-6591: -------------------------------- External issue URL: https://github.com/apache/felix-dev/pull/193 > Memory leak in Felix Framework Security extension > ------------------------------------------------- > > Key: FELIX-6591 > URL: https://issues.apache.org/jira/browse/FELIX-6591 > Project: Felix > Issue Type: Bug > Components: Framework Security > Reporter: Chris Rankin > Priority: Major > Labels: MemoryLeak, memory-leak > > Our project loads and unloads a lot of bundles over time, and we have noticed > that the JVM quickly spends the majority of its time collecting its garbage. > We have identified the Framework Security extension as one source of this > problem. Specifically, the suspiciously large number of `Conditions` and > `Permissions` objects in every heap dump. > The `Permissions` objects are _definitely_ being leaking because > `Permission.Entry.hashCode()` should use `Arrays.hashCode(entry)` instead of > `entry.hashCode()` when `entry` is an array. > I have also reimplemented `Conditions` to listen for > `BundleEvent.UNINSTALLED` instead of relying on multiple `WeakHashMap`s. This > is consistent with a TODO comment for this class, and allows the `Conditions` > obejcts to be deleted _immediately_ instead of waiting for the garbage > collector to realise that they are no longer referenced. -- This message was sent by Atlassian Jira (v8.20.10#820010)