Community
Participate
Working Groups
See stack below, using Git integration for Eclipse 5.5.0.201909110433-r org.eclipse.egit.feature.group Eclipse EGit Stack Trace at org.eclipse.core.internal.dtree.AbstractDataTreeNode.indexOfChild(AbstractDataTreeNode.java:465) at org.eclipse.core.internal.dtree.AbstractDataTreeNode.childAtOrNull(AbstractDataTreeNode.java:254) at org.eclipse.core.internal.dtree.DeltaDataTree.lookup(DeltaDataTree.java:685) at org.eclipse.core.internal.watson.ElementTree.includes(ElementTree.java:533) at org.eclipse.core.internal.resources.Workspace.getResourceInfo(Workspace.java:1751) at org.eclipse.core.internal.resources.Container.getChildren(Container.java:147) at org.eclipse.core.internal.resources.WorkspaceRoot.getProjects(WorkspaceRoot.java:174) at org.eclipse.core.internal.localstore.FileSystemResourceManager.resourceForLocation(FileSystemResourceManager.java:304) at org.eclipse.core.internal.localstore.FileSystemResourceManager.fileForLocation(FileSystemResourceManager.java:487) at org.eclipse.core.internal.resources.WorkspaceRoot.getFileForLocation(WorkspaceRoot.java:115) at org.eclipse.egit.core.internal.util.ResourceUtil.getFileForLocation(ResourceUtil.java:128) at org.eclipse.egit.core.internal.util.ResourceUtil.getResourceForLocation(ResourceUtil.java:103) at org.eclipse.egit.core.op.DeletePathsOperation.deletePaths(DeletePathsOperation.java:87) at org.eclipse.egit.core.op.DeletePathsOperation.access$0(DeletePathsOperation.java:77) at org.eclipse.egit.core.op.DeletePathsOperation$1.run(DeletePathsOperation.java:65) at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2291) at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2316) at org.eclipse.egit.core.op.DeletePathsOperation.execute(DeletePathsOperation.java:68) at org.eclipse.egit.ui.internal.operations.DeletePathsOperationUI.runNonWorkspaceAction(DeletePathsOperationUI.java:93) at org.eclipse.egit.ui.internal.operations.DeletePathsOperationUI.run(DeletePathsOperationUI.java:62) at org.eclipse.egit.ui.internal.staging.StagingView$DeleteAction.run(StagingView.java:3162) at org.eclipse.jface.action.Action.runWithEvent(Action.java:474) at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:579) at org.eclipse.jface.action.ActionContributionItem.lambda$4(ActionContributionItem.java:413) at org.eclipse.jface.action.ActionContributionItem$$Lambda$351/0x000000080174f440.handleEvent(Unknown Source) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:89) at org.eclipse.swt.widgets.Display.sendEvent(Display.java:5667) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1423) at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4926) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:4420) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1160) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:338) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1049) at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:155) at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:660) at org.eclipse.ui.internal.Workbench$$Lambda$124/0x00000008013d8c40.run(Unknown Source) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:338) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:559) at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:154) at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:150) at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:203) 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:401) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:255) at java.base@12.0.1/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base@12.0.1/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base@12.0.1/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base@12.0.1/java.lang.reflect.Method.invoke(Method.java:567) at app//org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:657) at app//org.eclipse.equinox.launcher.Main.basicRun(Main.java:594) at app//org.eclipse.equinox.launcher.Main.run(Main.java:1465) at app//org.eclipse.equinox.launcher.Main.main(Main.java:1438)
@Lars: in general it would be helpful to know what exactly was done in the UI when the UI freeze was reported. In this case it's obvious when I look at the code, but that's not always the case. How many items had you selected in the staging view? Two things to be done here: 1. Quick fix: run the deletion in a background workspace job via JobUtil.scheduleUserWorkspaceJob(). Downside: will lock the workspace even if all files are outside the workspace. 2. Full solution: determine first in StagingView the set of resources and the set of non-workspace files, similar to ResetAction. Factor out common code. If only non-workspace files, run the deletion in a normal job without WorkspaceOperation. Requires refactorings in DeletePathsOperationUI and related classes. Also (but unrelated to this particular stack trace), ResetAction should probably reset in a background job.
(In reply to Thomas Wolf from comment #1) > @Lars: in general it would be helpful to know what exactly was done in the > UI when the UI freeze was reported. In this case it's obvious when I look at > the code, but that's not always the case. I try to do this. In this case, I noticed later another longer freeze and checked the log and discovered the Git freeze. And as I know that you actively improving the things and in most cases can map stack traces to functionality so I reported it.... > How many items had you selected in the staging view? ~ 3000
New Gerrit change created: https://git.eclipse.org/r/152269
Gerrit change https://git.eclipse.org/r/152269 was merged to [master]. Commit: http://git.eclipse.org/c/egit/egit.git/commit/?id=64bc32a1af050e2d5ef8e25359bd638aa94cc4b6
Thanks you, Thomas.