Bug 454925 - Lots of time spent AbstractSynchronizationScope.getRoots()
Summary: Lots of time spent AbstractSynchronizationScope.getRoots()
Status: NEW
Alias: None
Product: EGit
Classification: Technology
Component: Core (show other bugs)
Version: 3.5   Edit
Hardware: PC Linux
: P3 normal (vote)
Target Milestone: ---   Edit
Assignee: Project Inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-12-11 13:01 EST by Jörg von Frantzius CLA
Modified: 2014-12-11 13:01 EST (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Jörg von Frantzius CLA 2014-12-11 13:01:08 EST
When synchronizing my workspace with Git, the Eclipse UI freezes and repeated thread dumps show the following stack trace.

The progress view does show some progress (as I noticed after several minutes), but only very slowly. 

This is with EGit 3.5.0.2014092603 on Eclipse JEE (4.4.1.20140925) and JDK 1.8.0_25.

"main" #1 prio=6 os_prio=0 tid=0x00007ff37c00b800 nid=0x7275 runnable [0x00007ff382332000]
   java.lang.Thread.State: RUNNABLE
	at org.eclipse.team.internal.core.subscribers.AbstractSynchronizationScope.getRoots(AbstractSynchronizationScope.java:42)
	at org.eclipse.team.internal.ui.mapping.ResourceModelContentProvider.hasChildrenInScope(ResourceModelContentProvider.java:92)
	at org.eclipse.team.internal.ui.mapping.ResourceModelContentProvider.isInScope(ResourceModelContentProvider.java:82)
	at org.eclipse.team.ui.mapping.SynchronizationContentProvider.getChildrenInScope(SynchronizationContentProvider.java:482)
	at org.eclipse.team.internal.ui.mapping.ResourceModelContentProvider.getChildrenInContext(ResourceModelContentProvider.java:139)
	at org.eclipse.team.ui.mapping.SynchronizationContentProvider.internalGetChildren(SynchronizationContentProvider.java:131)
	at org.eclipse.team.ui.mapping.SynchronizationContentProvider.getElements(SynchronizationContentProvider.java:56)
	at org.eclipse.team.internal.ui.mapping.ResourceModelContentProvider.getElements(ResourceModelContentProvider.java:325)
	at org.eclipse.ui.internal.navigator.extensions.SafeDelegateTreeContentProvider.getElements(SafeDelegateTreeContentProvider.java:101)
	at org.eclipse.ui.internal.navigator.NavigatorContentServiceContentProvider$1.run(NavigatorContentServiceContentProvider.java:149)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
	at org.eclipse.ui.internal.navigator.NavigatorContentServiceContentProvider.internalGetChildren(NavigatorContentServiceContentProvider.java:139)
	at org.eclipse.ui.internal.navigator.NavigatorContentServiceContentProvider.getElements(NavigatorContentServiceContentProvider.java:114)
	at org.eclipse.jface.viewers.StructuredViewer.getRawChildren(StructuredViewer.java:999)
	at org.eclipse.jface.viewers.ColumnViewer.getRawChildren(ColumnViewer.java:699)
	at org.eclipse.jface.viewers.AbstractTreeViewer.getRawChildren(AbstractTreeViewer.java:1349)
	at org.eclipse.jface.viewers.TreeViewer.getRawChildren(TreeViewer.java:353)
	at org.eclipse.jface.viewers.StructuredViewer.getFilteredChildren(StructuredViewer.java:905)
	at org.eclipse.jface.viewers.AbstractTreeViewer.getSortedChildren(AbstractTreeViewer.java:617)
	at org.eclipse.jface.viewers.AbstractTreeViewer.updateChildren(AbstractTreeViewer.java:2649)
	at org.eclipse.jface.viewers.AbstractTreeViewer.internalRefreshStruct(AbstractTreeViewer.java:1918)
	at org.eclipse.jface.viewers.TreeViewer.internalRefreshStruct(TreeViewer.java:684)
	at org.eclipse.jface.viewers.AbstractTreeViewer.internalRefresh(AbstractTreeViewer.java:1893)
	at org.eclipse.jface.viewers.AbstractTreeViewer.internalRefresh(AbstractTreeViewer.java:1850)
	at org.eclipse.ui.navigator.CommonViewer.internalRefresh(CommonViewer.java:561)
	at org.eclipse.team.internal.ui.mapping.CommonViewerAdvisor$NavigableCommonViewer.internalRefresh(CommonViewerAdvisor.java:62)
	at org.eclipse.jface.viewers.StructuredViewer$8.run(StructuredViewer.java:1528)
	at org.eclipse.jface.viewers.StructuredViewer.preservingSelection(StructuredViewer.java:1436)
	at org.eclipse.jface.viewers.TreeViewer.preservingSelection(TreeViewer.java:366)
	at org.eclipse.jface.viewers.StructuredViewer.preservingSelection(StructuredViewer.java:1397)
	at org.eclipse.jface.viewers.StructuredViewer.refresh(StructuredViewer.java:1525)
	at org.eclipse.jface.viewers.ColumnViewer.refresh(ColumnViewer.java:533)
	at org.eclipse.ui.navigator.CommonViewer.refresh(CommonViewer.java:353)
	at org.eclipse.ui.navigator.CommonViewer.refresh(CommonViewer.java:510)
	at org.eclipse.jface.viewers.StructuredViewer.refresh(StructuredViewer.java:1456)
	at org.eclipse.ui.internal.navigator.extensions.StructuredViewerManager$3.run(StructuredViewerManager.java:213)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
	at org.eclipse.ui.internal.navigator.extensions.StructuredViewerManager$2.run(StructuredViewerManager.java:210)
	at org.eclipse.ui.internal.UILockListener.doPendingWork(UILockListener.java:167)
	at org.eclipse.ui.internal.UISynchronizer$3.run(UISynchronizer.java:165)
	at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
	at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:136)
	- locked <0x00000000f8f3e2f0> (a org.eclipse.swt.widgets.RunnableLock)
	at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3774)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3412)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:1151)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1032)
	at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:148)
	at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:636)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:579)
	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150)
	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:135)
	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:380)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:235)
	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:483)
	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:648)
	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:603)
	at org.eclipse.equinox.launcher.Main.run(Main.java:1465)
	at org.eclipse.equinox.launcher.Main.main(Main.java:1438)