Community
Participate
Working Groups
Created attachment 110604 [details] Screen shot of YourKit trace Build id: I20080812-0800 I was looking at a YourKit dump of memory in my self-hosting workspace. This is a workspace that I have been using for over a year. I noticed a "DeltaProcessingState" object that was very large. Drilling down, I see most of the space is used by the "externalTimeStamps" field, holding 750KB of memory. This is a hash table of Path->Long objects. Looking at the path objects, I see paths to *very* old plugins that I no longer have on disk (from 3.4 M2 period). It looks like this table isn't been cleaned up when my target platform changes, and so this map just keeps growing.
Created attachment 111688 [details] Proposed fix This fix now remembers the timestamps when the project is created, and removes unused timestamps when the project is deleted. The fix also makes sure to cleanup the timestamps on shutdown so that the leaks are completely cleared. Some tests where also adjusted as they relied on the leak. To verify, only the implementation can be checked.
Created attachment 111689 [details] Proposed fix Incomplete patch was attached
Fix released for 3.5M2
*** Bug 216446 has been marked as a duplicate of this bug. ***
Verified for 3.5M2 using I20080914-2000
*** Bug 245779 has been marked as a duplicate of this bug. ***