[ https://issues.apache.org/jira/browse/FELIX-6591?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Karl Pauls resolved FELIX-6591. ------------------------------- Fix Version/s: framework.security-2.8.4 Resolution: Fixed I applied the PR - thanks a lot. > 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 > Affects Versions: framework.security-2.8.3 > Reporter: Chris Rankin > Assignee: Karl Pauls > Priority: Major > Labels: MemoryLeak, memory-leak > Fix For: framework.security-2.8.4 > > > 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_ 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}} objects 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)