Re: Memory leak in WOLips?

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

  • Next message: Mike Schrag: "Re: Memory leak in WOLips?"

    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.creat
    > eImagewithName(Unknown Source)
    > at
    > org.objectstyle.wolips.ui.labeldecorator.ResourcesLabelDecorator.webSe
    > rverResourcesImage(Unknown Source)
    > at
    > org.objectstyle.wolips.ui.labeldecorator.ResourcesLabelDecorator.decor
    > ateImage(Unknown Source)
    > at
    > org.eclipse.ui.internal.decorators.FullDecoratorDefinition.decorateIma
    > ge(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.doUpdateItem
    > (ProblemTreeViewer.java:74)
    > at
    > org.eclipse.jdt.internal.ui.viewsupport.ResourceToItemsMapper.updateIt
    > em(ResourceToItemsMapper.java:74)
    > at
    > org.eclipse.jdt.internal.ui.viewsupport.ResourceToItemsMapper.resource
    > Changed(ResourceToItemsMapper.java:63)
    > at
    > org.eclipse.jdt.internal.ui.viewsupport.ProblemTreeViewer.handleLabelP
    > roviderChanged(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.runApplic
    > ation(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:33:30 EDT