Hello Amenel,

I recently moved to the newest MercurialEclipse version along with an os 
upgrade (mac), and am now experiencing heavy performance problems with 
MercurialEclipse. The managed repository is on the larger side ( ~ 20.000 files 
), and many actions ( such as right-clicking the repository in the Mercurial 
Repositories view ) cause a complete UI freeze for up to 6 minutes. 

A thread dump (see below) seems to suggest that at least one item in the 
popup-menu is a bit needy when calculating enablement status, although the 
duration of the freeze probably means the entire repository is iterated over 
multiple times.

Kind regards,
Paul


Thread dump has the main thread during these times:

"main" #1 prio=6 os_prio=31 tid=0x00007fac4c826000 nid=0x307 runnable 
[0x00007ffee5b91000]
   java.lang.Thread.State: RUNNABLE
        at java.io.UnixFileSystem.getBooleanAttributes0(Native Method)
        at java.io.UnixFileSystem.getBooleanAttributes(UnixFileSystem.java:242)
        at java.io.File.isFile(File.java:882)
        at 
com.vectrace.MercurialEclipse.model.resources.HgContainerAdapter.getChild(HgContainerAdapter.java:147)
        at 
com.vectrace.MercurialEclipse.model.resources.HgContainerAdapter.getChild(HgContainerAdapter.java:161)
        at 
com.vectrace.MercurialEclipse.model.resources.HgContainerAdapter.getChild(HgContainerAdapter.java:161)
        at 
com.vectrace.MercurialEclipse.model.resources.HgContainerAdapter.getChild(HgContainerAdapter.java:161)
        at 
com.vectrace.MercurialEclipse.model.resources.HgContainerAdapter.getChild(HgContainerAdapter.java:161)
        at 
com.vectrace.MercurialEclipse.model.resources.HgContainerAdapter.getChild(HgContainerAdapter.java:161)
        at 
com.vectrace.MercurialEclipse.model.resources.HgContainerAdapter.getChild(HgContainerAdapter.java:161)
        at 
com.vectrace.MercurialEclipse.model.resources.HgContainerAdapter.getChild(HgContainerAdapter.java:161)
        at 
com.vectrace.MercurialEclipse.model.resources.HgContainerAdapter.getChild(HgContainerAdapter.java:161)
        at 
com.vectrace.MercurialEclipse.model.resources.HgContainerAdapter.getFile(HgContainerAdapter.java:120)
        at 
com.vectrace.MercurialEclipse.team.cache.MercurialStatusCache.getLocalMembers(MercurialStatusCache.java:1419)
        at 
com.vectrace.MercurialEclipse.menu.FlagPropertyTester.testAnyChildStatus(FlagPropertyTester.java:175)
        at 
com.vectrace.MercurialEclipse.menu.FlagPropertyTester.test(FlagPropertyTester.java:94)
        at org.eclipse.core.internal.expressions.Property.test(Property.java:61)
        at 
org.eclipse.core.internal.expressions.TestExpression.evaluate(TestExpression.java:103)
        at 
org.eclipse.core.internal.expressions.CompositeExpression.evaluateAnd(CompositeExpression.java:55)
        at 
org.eclipse.core.internal.expressions.AdaptExpression.evaluate(AdaptExpression.java:118)
        at 
org.eclipse.core.internal.expressions.CompositeExpression.evaluateAnd(CompositeExpression.java:55)
        at 
org.eclipse.core.internal.expressions.IterateExpression.evaluate(IterateExpression.java:165)
        at 
org.eclipse.core.internal.expressions.ReferenceExpression.evaluate(ReferenceExpression.java:74)
        at 
org.eclipse.core.internal.expressions.CompositeExpression.evaluateOr(CompositeExpression.java:69)
        at 
org.eclipse.core.internal.expressions.OrExpression.evaluate(OrExpression.java:25)
        at 
org.eclipse.ui.internal.handlers.HandlerProxy.setEnabled(HandlerProxy.java:228)
        at 
org.eclipse.ui.internal.handlers.E4HandlerProxy.setEnabled(E4HandlerProxy.java:134)
        at sun.reflect.GeneratedMethodAccessor3.invoke(Unknown Source)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at 
org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:58)
        at 
org.eclipse.e4.core.internal.di.InjectorImpl.invokeUsingClass(InjectorImpl.java:320)
        at 
org.eclipse.e4.core.internal.di.InjectorImpl.invoke(InjectorImpl.java:254)
        at 
org.eclipse.e4.core.contexts.ContextInjectionFactory.invoke(ContextInjectionFactory.java:164)
        at 
org.eclipse.e4.core.commands.internal.HandlerServiceHandler.setEnabled(HandlerServiceHandler.java:84)
        at org.eclipse.core.commands.Command.setEnabled(Command.java:865)
        at 
org.eclipse.e4.core.commands.internal.HandlerServiceImpl.canExecute(HandlerServiceImpl.java:179)
        at 
org.eclipse.e4.ui.workbench.renderers.swt.HandledContributionItem.canExecuteItem(HandledContributionItem.java:451)
        at 
org.eclipse.e4.ui.workbench.renderers.swt.AbstractContributionItem$1.run(AbstractContributionItem.java:516)
        at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45)
        at 
org.eclipse.e4.ui.workbench.renderers.swt.AbstractContributionItem.updateItemEnablement(AbstractContributionItem.java:557)
        at 
org.eclipse.e4.ui.workbench.renderers.swt.ToolItemUpdater.updateContributionItems(ToolItemUpdater.java:40)
        at 
org.eclipse.e4.ui.workbench.renderers.swt.ToolBarManagerRenderer$1.changed(ToolBarManagerRenderer.java:355)
        at 
org.eclipse.e4.core.internal.contexts.TrackableComputationExt.update(TrackableComputationExt.java:117)
        at 
org.eclipse.e4.core.internal.contexts.EclipseContext.processScheduled(EclipseContext.java:365)
        at 
org.eclipse.e4.core.internal.contexts.EclipseContext.dispose(EclipseContext.java:189)
        at 
org.eclipse.e4.ui.internal.workbench.swt.ShellActivationListener.lambda$0(ShellActivationListener.java:186)
        at 
org.eclipse.e4.ui.internal.workbench.swt.ShellActivationListener$$Lambda$479/1994004868.widgetDisposed(Unknown
 Source)
        at 
org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:127)
        at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:89)
        at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4292)
        at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1512)
        at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1535)
        at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1516)
        at org.eclipse.swt.widgets.Widget.release(Widget.java:1353)
        at org.eclipse.swt.widgets.Control.release(Control.java:2961)
        at org.eclipse.swt.widgets.Widget.dispose(Widget.java:694)
        at org.eclipse.jface.window.Window.close(Window.java:333)
        at org.eclipse.jface.dialogs.Dialog.close(Dialog.java:993)
        at org.eclipse.jface.dialogs.Dialog.cancelPressed(Dialog.java:485)
        at org.eclipse.jface.dialogs.Dialog.buttonPressed(Dialog.java:471)
        at org.eclipse.jface.dialogs.Dialog.lambda$0(Dialog.java:622)
        at 
org.eclipse.jface.dialogs.Dialog$$Lambda$597/1475167719.accept(Unknown Source)
        at 
org.eclipse.swt.events.SelectionListener$1.widgetSelected(SelectionListener.java:84)
        at 
org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:252)
        at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:89)
        at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4292)
        at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1512)
        at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1535)
        at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1520)
        at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:1324)
        at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4116)
        at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3733)
        at 
org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1173)
        at 
org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:339)
        at 
org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1062)
        at 
org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:156)
        at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:628)
        at org.eclipse.ui.internal.Workbench$$Lambda$22/351249017.run(Unknown 
Source)
        at 
org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:339)
        at 
org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:563)
        at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:151)
        at 
org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:155)
        at 
org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:199)
        at 
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:137)
        at 
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:107)
        at 
org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:391)
        at 
org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:246)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:659)
        at org.eclipse.equinox.launcher.Main.basicRun(Main.java:595)
        at org.eclipse.equinox.launcher.Main.run(Main.java:1501)




-- 
You received this message because you are subscribed to the Google Groups 
"MercurialEclipse" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to