eclipse-pde / eclipse.pde

Eclipse Public License 2.0
24 stars 58 forks source link

TargetDefinition leak #1246

Closed basilevs closed 1 month ago

basilevs commented 2 months ago

While investigating a potential memory leak in RCPTT I've discovered that org.eclipse.pde.internal.core.target.TargetPlatformService.deleteTarget(ITargetHandle) does not clean up org.eclipse.pde.internal.core.TargetPlatformHelper.fgCachedTargetDefinitionMap.

Moreover I could not find an API that performs cleanup of both TargetPlatformService and TargetPlatformHelper, so the workaround ought to be managing both explicitly on every deletion.

Suggested fix: make TargetPlatformService.deleteTarget() cleanup the TargetPlatformHelper cache.