| Summary: | Eclipse hangs after opening sync view in the "changesets" mode with lots of modified files | ||
|---|---|---|---|
| Product: | [Technology] EGit | Reporter: | Andrey Loskutov <loskutov> |
| Component: | UI | Assignee: | Project Inbox <egit.ui-inbox> |
| Status: | NEW --- | QA Contact: | |
| Severity: | major | ||
| Priority: | P3 | CC: | remy.suen |
| Version: | unspecified | ||
| Target Milestone: | --- | ||
| Hardware: | PC | ||
| OS: | Linux | ||
| Whiteboard: | |||
|
Description
Andrey Loskutov
P.S. egit version is from latest available nightly build org.eclipse.egit.core_1.2.0.201111041821.jar org.eclipse.egit.ui_1.2.0.201111041821.jar org.eclipse.egit_1.2.0.201111041821.jar P.P.S: Any work with the sync view is impossible - it will end up in the same stack trace with the CPU loaded for minutes on each single click (until one switches the view back to the "Workspace" model). So even activating the already opened sync view causes Eclipse hangs for a minute: "main" prio=10 tid=0x0000000000b08800 nid=0x318e runnable [0x00007f4c74799000] java.lang.Thread.State: RUNNABLE at org.eclipse.core.internal.localstore.FileSystemResourceManager.resourceForLocation(FileSystemResourceManager.java:286) at org.eclipse.core.internal.localstore.FileSystemResourceManager.fileForLocation(FileSystemResourceManager.java:472) at org.eclipse.core.internal.resources.WorkspaceRoot.getFileForLocation(WorkspaceRoot.java:137) at org.eclipse.egit.ui.internal.synchronize.mapping.GitContainerMapping.createTraversalForFile(GitContainerMapping.java:69) at org.eclipse.egit.ui.internal.synchronize.mapping.GitContainerMapping.createTraversalForContainer(GitContainerMapping.java:62) at org.eclipse.egit.ui.internal.synchronize.mapping.GitContainerMapping.createTraversalForContainer(GitContainerMapping.java:60) at org.eclipse.egit.ui.internal.synchronize.mapping.GitContainerMapping.createTraversalForContainer(GitContainerMapping.java:60) at org.eclipse.egit.ui.internal.synchronize.mapping.GitContainerMapping.createTraversalForContainer(GitContainerMapping.java:60) at org.eclipse.egit.ui.internal.synchronize.mapping.GitContainerMapping.createTraversalForContainer(GitContainerMapping.java:60) at org.eclipse.egit.ui.internal.synchronize.mapping.GitContainerMapping.createTraversalForContainer(GitContainerMapping.java:60) at org.eclipse.egit.ui.internal.synchronize.mapping.GitContainerMapping.createTraversalForContainer(GitContainerMapping.java:60) at org.eclipse.egit.ui.internal.synchronize.mapping.GitContainerMapping.createTraversalForContainer(GitContainerMapping.java:60) at org.eclipse.egit.ui.internal.synchronize.mapping.GitContainerMapping.getTraversals(GitContainerMapping.java:47) at org.eclipse.ui.internal.views.markers.MarkerResourceUtil.addResources(MarkerResourceUtil.java:332) at org.eclipse.ui.internal.views.markers.MarkerContentGenerator.internalUpdateSelectedElements(MarkerContentGenerator.java:879) at org.eclipse.ui.internal.views.markers.MarkerContentGenerator.updateSelectedResource(MarkerContentGenerator.java:895) at org.eclipse.ui.internal.views.markers.ExtendedMarkersView$ViewerPageSelectionListener.selectionChanged(ExtendedMarkersView.java:1771) at org.eclipse.ui.internal.AbstractSelectionService.firePostSelection(AbstractSelectionService.java:179) at org.eclipse.ui.internal.AbstractSelectionService.setActivePart(AbstractSelectionService.java:289) at org.eclipse.ui.internal.WorkbenchPagePartList.fireActivePartChanged(WorkbenchPagePartList.java:60) at org.eclipse.ui.internal.PartList.setActivePart(PartList.java:136) Since version 1.2 I've made huge improvements in synchornize view performance and memory usage, could you please check how latest nightly build behaves in this use case ? (In reply to comment #3) > Since version 1.2 I've made huge improvements in synchornize view performance > and memory usage, could you please check how latest nightly build behaves in > this use case ? Hi Dariusz, I've given up on EGit because of the terrible performance on large projects, so now I do not have my old workspace anymore and will definitely not be able to reproduce it. To reproduce, you can clone SWT project as described in SWT FAQ, change each second file and try to use sync view. |