Re: Memory leak in WOLips?

From: Mike Schrag (mschra..dimension.com)
Date: Tue May 15 2007 - 08:38:26 EDT

  • Next message: Guillaume Polet: "Re: Memory leak in WOLips?"

    By the way, I use Eclipse all day for many many (many) hours without
    a crash, so while this was definitely leaking, I'm not sure why yours
    would be outright crashing. This is the first I've heard of that
    behavior.

    ms

    On May 15, 2007, at 8:32 AM, Mike Schrag wrote:

    > Yes it would appear so ... Strange it was never noticed before. I
    > just committed a fix for this.
    >
    > ms
    >
    > On May 15, 2007, at 8:01 AM, Guillaume Polet wrote:
    >
    >> Hello everybody,
    >>
    >> once again, many thanks for this great tool that has been
    >> simplifying our work for several years now.
    >>
    >> I was wondering if any of you had knowledge about a possible
    >> memory leak in WOLips. I have this bug now for a little while, and
    >> I see the same error constantly in the logs: 'SWTError: No more
    >> handles'.
    >> So far, I cannot be 100% sure that WOlips is the cause of the
    >> crash I get constantly so I was wondering if any of you
    >> encountered the same problem or if you have found the cause of
    >> such problem.
    >>
    >> Here is what I have tested to try to isolate the problem:
    >> I opened my Eclipse on a new workspace in which I checked out a
    >> single Framework project containing lots of resources/web-
    >> resources (over 500) and a single Java class (which is empty).
    >> Then I change the setting "refresh automatically workspace" so
    >> that the automatic refresh is active.
    >> Finally, I take a command line, set the current directory to be
    >> the project I have checked out and type "touch *", wait for
    >> Eclipse to catch the modification, wait for Eclipse rebuild, then
    >> I re-execute the "touch *" a few times and Eclipse ends up by
    >> crashing (last time I tried, I only had to do it twice to make
    >> Eclipe crash).
    >>
    >> I have tested the same operation in a Java project (making the
    >> touch on java source code) and the problem never occurs. I
    >> reported my configuration and the stacktrace below.
    >>
    >> Thank you again,
    >>
    >>
    >> Guillaume Polet
    >>
    >> Denali S.A., "Bridging the gap between Business and IT"
    >> Rue de Clairvaux 8, B-1348 Louvain-la-Neuve, Belgium
    >> Office: +32 10 43 99 51 Fax: +32 10 43 99 52
    >> http://www.denali.be
    >>
    >> My configuration is the following:
    >> Eclipse 3.2 (M20060629-1905)
    >> OS: Windows XP
    >> JVM: JRE 1.5.0_09
    >> Memory: 2Gb
    >> CPU: Pentium D 2.8GHz
    >> Installed plugins:
    >> * WST
    >> * WOLips build 2.0.0.3921
    >> * Epic (Perl Editor)
    >> * VelocityEditor
    >> Cygwin is installed and its bin directory has been added to the
    >> PATH variable.
    >>
    >> The stacktrace I get:
    >> org.eclipse.swt.SWTError: No more handles
    >> at org.eclipse.swt.SWT.error(SWT.java:3400)
    >> at org.eclipse.swt.SWT.error(SWT.java:3297)
    >> at org.eclipse.swt.SWT.error(SWT.java:3268)
    >> at org.eclipse.swt.graphics.Image.init(Image.java:1803)
    >> at org.eclipse.swt.graphics.Image.init(Image.java:1901)
    >> at org.eclipse.swt.graphics.Image.<init>(Image.java:490)
    >> at org.eclipse.jface.resource.ImageDescriptor.createImage
    >> (ImageDescriptor.java:295)
    >> at org.eclipse.jface.resource.ImageDescriptor.createImage
    >> (ImageDescriptor.java:233)
    >> at org.eclipse.jface.resource.ImageDescriptor.createImage
    >> (ImageDescriptor.java:211)
    >> at
    >> org.objectstyle.wolips.ui.labeldecorator.ResourcesLabelDecorator.crea
    >> teImagewithName(Unknown Source)
    >> at
    >> org.objectstyle.wolips.ui.labeldecorator.ResourcesLabelDecorator.webS
    >> erverResourcesImage(Unknown Source)
    >> at
    >> org.objectstyle.wolips.ui.labeldecorator.ResourcesLabelDecorator.deco
    >> rateImage(Unknown Source)
    >> at
    >> org.eclipse.ui.internal.decorators.FullDecoratorDefinition.decorateIm
    >> age(FullDecoratorDefinition.java:114)
    >> at
    >> org.eclipse.ui.internal.decorators.FullImageDecoratorRunnable.run
    >> (FullImageDecoratorRunnable.java:28)
    >> at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37)
    >> at org.eclipse.core.runtime.Platform.run(Platform.java:843)
    >> at
    >> org.eclipse.ui.internal.decorators.DecoratorManager.safeDecorateImage
    >> (DecoratorManager.java:418)
    >> at
    >> org.eclipse.ui.internal.decorators.DecoratorManager.decorateImage
    >> (DecoratorManager.java:372)
    >> at org.eclipse.jface.viewers.DecoratingLabelProvider.getImage
    >> (DecoratingLabelProvider.java:89)
    >> at org.eclipse.jface.viewers.DecoratingLabelProvider.updateLabel
    >> (DecoratingLabelProvider.java:356)
    >> at org.eclipse.jface.viewers.StructuredViewer.buildLabel
    >> (StructuredViewer.java:2077)
    >> at org.eclipse.jface.viewers.TreeViewer.doUpdateItem
    >> (TreeViewer.java:252)
    >> at org.eclipse.jface.viewers.AbstractTreeViewer
    >> $UpdateItemSafeRunnable.run(AbstractTreeViewer.java:95)
    >> at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37)
    >> at org.eclipse.core.runtime.Platform.run(Platform.java:843)
    >> at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:44)
    >> at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:149)
    >> at org.eclipse.jface.viewers.AbstractTreeViewer.doUpdateItem
    >> (AbstractTreeViewer.java:840)
    >> at
    >> org.eclipse.jdt.internal.ui.viewsupport.ProblemTreeViewer.doUpdateIte
    >> m(ProblemTreeViewer.java:74)
    >> at
    >> org.eclipse.jdt.internal.ui.viewsupport.ResourceToItemsMapper.updateI
    >> tem(ResourceToItemsMapper.java:74)
    >> at
    >> org.eclipse.jdt.internal.ui.viewsupport.ResourceToItemsMapper.resourc
    >> eChanged(ResourceToItemsMapper.java:63)
    >> at
    >> org.eclipse.jdt.internal.ui.viewsupport.ProblemTreeViewer.handleLabel
    >> ProviderChanged(ProblemTreeViewer.java:127)
    >> at org.eclipse.jface.viewers.ContentViewer
    >> $1.labelProviderChanged(ContentViewer.java:74)
    >> at org.eclipse.ui.internal.decorators.DecoratorManager$1.run
    >> (DecoratorManager.java:239)
    >> at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37)
    >> at org.eclipse.core.runtime.Platform.run(Platform.java:843)
    >> at
    >> org.eclipse.ui.internal.decorators.DecoratorManager.fireListener
    >> (DecoratorManager.java:237)
    >> at org.eclipse.ui.internal.decorators.DecorationScheduler
    >> $3.runInUIThread(DecorationScheduler.java:490)
    >> at org.eclipse.ui.progress.UIJob$1.run(UIJob.java:94)
    >> at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
    >> at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages
    >> (Synchronizer.java:123)
    >> at org.eclipse.swt.widgets.Display.runAsyncMessages
    >> (Display.java:3325)
    >> at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:
    >> 2971)
    >> at org.eclipse.ui.internal.Workbench.runEventLoop
    >> (Workbench.java:1914)
    >> at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1878)
    >> at org.eclipse.ui.internal.Workbench.createAndRunWorkbench
    >> (Workbench.java:419)
    >> at org.eclipse.ui.PlatformUI.createAndRunWorkbench
    >> (PlatformUI.java:149)
    >> at org.eclipse.ui.internal.ide.IDEApplication.run
    >> (IDEApplication.java:95)
    >> at org.eclipse.core.internal.runtime.PlatformActivator$1.run
    >> (PlatformActivator.java:78)
    >> at
    >> org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runAppli
    >> cation(EclipseAppLauncher.java:92)
    >> at
    >> org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start
    >> (EclipseAppLauncher.java:68)
    >> at org.eclipse.core.runtime.adaptor.EclipseStarter.run
    >> (EclipseStarter.java:400)
    >> at org.eclipse.core.runtime.adaptor.EclipseStarter.run
    >> (EclipseStarter.java:177)
    >> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    >> at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    >> at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    >> at java.lang.reflect.Method.invoke(Unknown Source)
    >> at org.eclipse.core.launcher.Main.invokeFramework(Main.java:336)
    >> at org.eclipse.core.launcher.Main.basicRun(Main.java:280)
    >> at org.eclipse.core.launcher.Main.run(Main.java:977)
    >> at org.eclipse.core.launcher.Main.main(Main.java:952)
    >>
    >
    >



    This archive was generated by hypermail 2.0.0 : Tue May 15 2007 - 08:38:58 EDT