Bug 430226 - history view freezes Eclipse UI
Summary: history view freezes Eclipse UI
Status: RESOLVED FIXED
Alias: None
Product: EGit
Classification: Technology
Component: UI (show other bugs)
Version: 3.1   Edit
Hardware: PC Windows 7
: P3 normal (vote)
Target Milestone: 6.1   Edit
Assignee: Project Inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
: 562840 (view as bug list)
Depends on:
Blocks:
 
Reported: 2014-03-12 15:15 EDT by Sam Davis CLA
Modified: 2022-03-03 04:15 EST (History)
3 users (show)

See Also:


Attachments
stack traces captured with jstack (50.46 KB, application/octet-stream)
2014-03-12 15:19 EDT, Sam Davis CLA
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Sam Davis CLA 2014-03-12 15:15:53 EDT
For several minutes Eclipse was very unresponsive, sometimes completely frozen, and was using all the CPU it could get. It only returned to normal after I closed the history view in every perspective. I'll attach a series of jstack traces that suggest @GitHistoryPage.setWarningText@ is the culprit.
Comment 1 Sam Davis CLA 2014-03-12 15:19:38 EDT
Created attachment 240829 [details]
stack traces captured with jstack
Comment 2 Dawid Pakula CLA 2020-05-20 12:49:06 EDT
Still relevant, I'm experiencing it during perspective switching (plugin/debug), in case when on one "history" tab is active and on second not.

Stack Trace
	at org.eclipse.swt.internal.cocoa.OS.objc_msgSend_stret(Native Method)
	at org.eclipse.swt.internal.cocoa.NSLayoutManager.glyphRangeForTextContainer(NSLayoutManager.java:88)
	at org.eclipse.swt.graphics.TextLayout.computeRuns(TextLayout.java:334)
	at org.eclipse.swt.graphics.TextLayout.getTabWidth(TextLayout.java:2393)
	at org.eclipse.swt.graphics.TextLayout.setDefaultTabWidth(TextLayout.java:2384)
	at org.eclipse.swt.custom.StyledTextRenderer.getTextLayout(StyledTextRenderer.java:1194)
	at org.eclipse.swt.custom.StyledTextRenderer.getTextLayout(StyledTextRenderer.java:899)
	at org.eclipse.swt.custom.StyledTextRenderer.calculate(StyledTextRenderer.java:298)
	at org.eclipse.swt.custom.StyledText.redraw(StyledText.java:7613)
	at org.eclipse.jface.text.WhitespaceCharacterPainter.redrawAll(WhitespaceCharacterPainter.java:478)
	at org.eclipse.jface.text.WhitespaceCharacterPainter.paint(WhitespaceCharacterPainter.java:156)
	at org.eclipse.jface.text.PaintManager.paint(PaintManager.java:305)
	at org.eclipse.jface.text.PaintManager.inputDocumentChanged(PaintManager.java:364)
	at org.eclipse.jface.text.TextViewer.fireInputDocumentChanged(TextViewer.java:2769)
	at org.eclipse.jface.text.TextViewer.setDocument(TextViewer.java:2810)
	at org.eclipse.jface.text.source.SourceViewer.setDocument(SourceViewer.java:663)
	at org.eclipse.jface.text.source.projection.ProjectionViewer.setDocument(ProjectionViewer.java:368)
	at org.eclipse.jface.text.source.SourceViewer.setDocument(SourceViewer.java:603)
	at org.eclipse.egit.ui.internal.history.GitHistoryPage$9$1.runInUIThread(GitHistoryPage.java:2825)
	at org.eclipse.ui.progress.UIJob.lambda$0(UIJob.java:95)
	at org.eclipse.ui.progress.UIJob$$Lambda$653/0x00000008015cc440.run(Unknown Source)
	at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:40)
	at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:185)
	at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4126)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3793)
	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:658)
	at org.eclipse.ui.internal.Workbench$$Lambda$131/0x0000000800e01c40.run(Unknown Source)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:338)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:557)
	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@13.0.1/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base@13.0.1/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at java.base@13.0.1/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base@13.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:1447)


Stack Trace
	at org.eclipse.swt.internal.cocoa.OS.objc_msgSend(Native Method)
	at org.eclipse.swt.internal.cocoa.NSMutableAttributedString.setAttributedString(NSMutableAttributedString.java:55)
	at org.eclipse.swt.graphics.TextLayout.computeRuns(TextLayout.java:330)
	at org.eclipse.swt.graphics.TextLayout.getTabWidth(TextLayout.java:2393)
	at org.eclipse.swt.graphics.TextLayout.setDefaultTabWidth(TextLayout.java:2384)
	at org.eclipse.swt.custom.StyledTextRenderer.getTextLayout(StyledTextRenderer.java:1194)
	at org.eclipse.swt.custom.StyledTextRenderer.getTextLayout(StyledTextRenderer.java:899)
	at org.eclipse.swt.custom.StyledText.computeSize(StyledText.java:1730)
	at org.eclipse.swt.layout.GridData.computeSize(GridData.java:493)
	at org.eclipse.swt.layout.GridLayout.layout(GridLayout.java:225)
	at org.eclipse.swt.layout.GridLayout.layout(GridLayout.java:201)
	at org.eclipse.swt.widgets.Composite.updateLayout(Composite.java:1266)
	at org.eclipse.swt.widgets.Composite.layout(Composite.java:743)
	at org.eclipse.swt.widgets.Composite.layout(Composite.java:695)
	at org.eclipse.swt.widgets.Composite.layout(Composite.java:651)
	at org.eclipse.egit.ui.internal.history.CommitAndDiffComponent.resizeCommentAndDiffScrolledComposite(CommitAndDiffComponent.java:390)
	at org.eclipse.egit.ui.internal.history.CommitAndDiffComponent.lambda$3(CommitAndDiffComponent.java:230)
	at org.eclipse.egit.ui.internal.history.CommitAndDiffComponent$$Lambda$2186/0x0000000802862040.textChanged(Unknown Source)
	at org.eclipse.jface.text.TextViewer.updateTextListeners(TextViewer.java:2709)
	at org.eclipse.jface.text.TextViewer.invalidateTextPresentation(TextViewer.java:3329)
	at org.eclipse.jface.text.TextViewer.initializeWidgetContents(TextViewer.java:3377)
	at org.eclipse.jface.text.TextViewer.setVisibleDocument(TextViewer.java:3416)
	at org.eclipse.jface.text.source.projection.ProjectionViewer.setVisibleDocument(ProjectionViewer.java:694)
	at org.eclipse.jface.text.TextViewer.setDocument(TextViewer.java:2805)
	at org.eclipse.jface.text.source.SourceViewer.setDocument(SourceViewer.java:663)
	at org.eclipse.jface.text.source.projection.ProjectionViewer.setDocument(ProjectionViewer.java:368)
	at org.eclipse.jface.text.source.SourceViewer.setDocument(SourceViewer.java:603)
	at org.eclipse.egit.ui.internal.history.GitHistoryPage$9$1.runInUIThread(GitHistoryPage.java:2825)
	at org.eclipse.ui.progress.UIJob.lambda$0(UIJob.java:95)
	at org.eclipse.ui.progress.UIJob$$Lambda$653/0x00000008015cc440.run(Unknown Source)
	at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:40)
	at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:185)
	at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4126)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3793)
	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:658)
	at org.eclipse.ui.internal.Workbench$$Lambda$131/0x0000000800e01c40.run(Unknown Source)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:338)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:557)
	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@13.0.1/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base@13.0.1/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at java.base@13.0.1/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base@13.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:1447)
Comment 3 Thomas Wolf CLA 2022-02-22 17:29:44 EST
*** Bug 562840 has been marked as a duplicate of this bug. ***
Comment 4 Eclipse Genie CLA 2022-02-22 17:30:05 EST
New Gerrit change created: https://git.eclipse.org/r/c/egit/egit/+/191078
Comment 6 Thomas Wolf CLA 2022-03-03 04:15:39 EST
*** Bug 562840 has been marked as a duplicate of this bug. ***