Community
Participate
Working Groups
Build Identifier: latest in CVS as of Sept 9, 2010 When using a server that is an instance of IServer we find the org.eclipse.wst.server.ui.internal.cnf.ServerLabelProvider class getImage() method creates new Image objects each time that an image is requested which is causing the leak. Reproducible: Always Steps to Reproduce: 1. Easy way to reproduce is to set a breakpoint after the server state is changed to starting but before the actual launch code is called. This will allow the state to stay in starting and cause the memory to keep leaking which can be observed with a process management tool.
Created attachment 178054 [details] v1.0 possible fix
I've tested the patch and it looks good. I've had many servers (upto 7) in different states, started, starting, stopped, stopping and had tried to reproduce the problem but things looked stable. Usually I would hit the problem after about 30 minutes but with the patch it was running for more than 1 hour without issue.
Thanks for the testing Rajiv.
Created attachment 178070 [details] v1.1
Comment on attachment 178070 [details] v1.1 Fixing the patch description. This patch adds a few extra checks.
* Explain why you believe this is a stop-ship defect. Or, if it is a "hotbug" (requested by an adopter) please document it as such. This is an important bug to fix. In some cases the leak can be taking a lot of the memory and eventually crash the JVM with 'No more SWT handle' or Out of memory exceptions. * Is there a work-around? If so, why do you believe the work-around is insufficient? No workaround * How has the fix been tested? Is there a test case attached to the bugzilla record? Has a JUnit Test been added? Rajiv and I have done testing, for the part the code has an impact. The image overlay and the loading of the images. Refer to comment #2 for more information about the testing. I did extra testing to ensure that the extra checks on the 1.1 patch are coded properly and do not affect the behaviour. * Give a brief technical overview. Who has reviewed this fix? The fix is to create a cache of the image and retrieved the cached imaged instead of always creating new overlay images. We also added a few extra to avoid extra loading. * What is the risk associated with this fix? Minimal
Changed committed to 3.2M
Changes released to 3.2M
changes committed and released to HEAD
New Gerrit change created: https://git.eclipse.org/r/108989