Skip to content

StackOverflow in CommitTable.layout() with new experimental resolution scaling preference #69

@Bananeweizen

Description

@Bananeweizen

Version

7.1.0

Operating System

Windows

Eclipse version

2024-12

Bug description

I have seen the following StackOverflow in 2 different instances by now. Both of them happened after logging in to a hibernated Windows session. Both instances have the new dynamic resolution scaling enabled: https://eclipse.dev/eclipse/news/4.34/platform.php#rescale-on-runtime-preference and happened while running on an external monitor connected to my laptop. The history view was not visible at the time of the errors (but rather stacked in a view stack).

Actual behavior

java.lang.StackOverflowError
	at org.eclipse.swt.widgets.Table.callWindowProc(Table.java:457)
	at org.eclipse.swt.widgets.Table.callWindowProc(Table.java:451)
	at org.eclipse.swt.widgets.Table.windowProc(Table.java:5726)
	at org.eclipse.swt.widgets.Display.windowProc(Display.java:5177)
	at org.eclipse.swt.internal.win32.OS.CallWindowProc(Native Method)
	at org.eclipse.swt.widgets.Table.callWindowProc(Table.java:585)
	at org.eclipse.swt.widgets.Table.callWindowProc(Table.java:451)
	at org.eclipse.swt.widgets.Control.WM_WINDOWPOSCHANGED(Control.java:5680)
	at org.eclipse.swt.widgets.Control.windowProc(Control.java:4822)
	at org.eclipse.swt.widgets.Table.windowProc(Table.java:5812)
	at org.eclipse.swt.widgets.Display.windowProc(Display.java:5177)
	at org.eclipse.swt.internal.win32.OS.SetWindowPos(Native Method)
	at org.eclipse.swt.widgets.Control.setBoundsInPixels(Control.java:3222)
	at org.eclipse.swt.widgets.Composite.setBoundsInPixels(Composite.java:1069)
	at org.eclipse.swt.widgets.Table.setBoundsInPixels(Table.java:4101)
	at org.eclipse.swt.widgets.Control.setBoundsInPixels(Control.java:3183)
	at org.eclipse.swt.widgets.Control.setBoundsInPixels(Control.java:3179)
	at org.eclipse.swt.widgets.Control.setBounds(Control.java:3174)
	at org.eclipse.jface.layout.AbstractColumnLayout.layoutTableTree(AbstractColumnLayout.java:238)
	at org.eclipse.jface.layout.AbstractColumnLayout.layout(AbstractColumnLayout.java:257)
	at org.eclipse.swt.widgets.Composite.updateLayout(Composite.java:1343)
	at org.eclipse.swt.widgets.Composite.updateLayout(Composite.java:1328)
	at org.eclipse.swt.widgets.Composite.layout(Composite.java:707)
	at org.eclipse.swt.widgets.Composite.layout(Composite.java:659)
	at org.eclipse.swt.widgets.Composite.layout(Composite.java:615)
	at org.eclipse.egit.ui.internal.history.CommitGraphTable.layout(CommitGraphTable.java:703)
	at org.eclipse.egit.ui.internal.history.CommitGraphTable.lambda$6(CommitGraphTable.java:307)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:91)
	at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4404)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1173)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1197)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1178)
	at org.eclipse.swt.widgets.Control.WM_SIZE(Control.java:5449)
	at org.eclipse.swt.widgets.Scrollable.WM_SIZE(Scrollable.java:386)
	at org.eclipse.swt.widgets.Composite.WM_SIZE(Composite.java:1736)
	at org.eclipse.swt.widgets.Table.WM_SIZE(Table.java:6228)
	at org.eclipse.swt.widgets.Control.windowProc(Control.java:4809)
	at org.eclipse.swt.widgets.Table.windowProc(Table.java:5812)
	at org.eclipse.swt.widgets.Display.windowProc(Display.java:5177)
	at org.eclipse.swt.internal.win32.OS.CallWindowProc(Native Method)
	at org.eclipse.swt.widgets.Table.callWindowProc(Table.java:585)
	at org.eclipse.swt.widgets.Table.callWindowProc(Table.java:451)
	at org.eclipse.swt.widgets.Control.WM_WINDOWPOSCHANGED(Control.java:5680)
	at org.eclipse.swt.widgets.Control.windowProc(Control.java:4822)
	at org.eclipse.swt.widgets.Table.windowProc(Table.java:5812)
	at org.eclipse.swt.widgets.Display.windowProc(Display.java:5177)
	at org.eclipse.swt.internal.win32.OS.CallWindowProc(Native Method)
	at org.eclipse.swt.widgets.Table.callWindowProc(Table.java:585)
	at org.eclipse.swt.widgets.Table.callWindowProc(Table.java:451)
	at org.eclipse.swt.widgets.Control.windowProc(Control.java:4833)
	at org.eclipse.swt.widgets.Table.windowProc(Table.java:5812)
	at org.eclipse.swt.widgets.Display.windowProc(Display.java:5177)
	at org.eclipse.swt.internal.win32.OS.CallWindowProc(Native Method)
	at org.eclipse.swt.widgets.Table.callWindowProc(Table.java:457)
	at org.eclipse.swt.widgets.Table.callWindowProc(Table.java:451)
	at org.eclipse.swt.widgets.Table.windowProc(Table.java:5726)
	at org.eclipse.swt.widgets.Display.windowProc(Display.java:5177)
	at org.eclipse.swt.internal.win32.OS.CallWindowProc(Native Method)
	at org.eclipse.swt.widgets.Table.callWindowProc(Table.java:585)
	at org.eclipse.swt.widgets.Table.callWindowProc(Table.java:451)
	at org.eclipse.swt.widgets.Control.windowProc(Control.java:4833)
	at org.eclipse.swt.widgets.Table.windowProc(Table.java:5812)
	at org.eclipse.swt.widgets.Display.windowProc(Display.java:5177)
	at org.eclipse.swt.internal.win32.OS.SendMessage(Native Method)
	at org.eclipse.swt.widgets.TableColumn.setWidthInPixels(TableColumn.java:866)
	at org.eclipse.swt.widgets.TableColumn.setWidth(TableColumn.java:857)
	at org.eclipse.jface.layout.TableColumnLayout.setColumnWidths(TableColumnLayout.java:79)
	at org.eclipse.jface.layout.AbstractColumnLayout.layoutTableTree(AbstractColumnLayout.java:233)
	at org.eclipse.jface.layout.AbstractColumnLayout.layout(AbstractColumnLayout.java:257)
	at org.eclipse.swt.widgets.Composite.updateLayout(Composite.java:1343)
	at org.eclipse.swt.widgets.Composite.updateLayout(Composite.java:1328)
	at org.eclipse.swt.widgets.Composite.layout(Composite.java:707)
	at org.eclipse.swt.widgets.Composite.layout(Composite.java:659)
	at org.eclipse.swt.widgets.Composite.layout(Composite.java:615)
	at org.eclipse.egit.ui.internal.history.CommitGraphTable.layout(CommitGraphTable.java:703)
	at org.eclipse.egit.ui.internal.history.CommitGraphTable.lambda$6(CommitGraphTable.java:307)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:91)
	at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4404)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1173)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1197)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1178)
	at org.eclipse.swt.widgets.Control.WM_SIZE(Control.java:5449)
	at org.eclipse.swt.widgets.Scrollable.WM_SIZE(Scrollable.java:386)
	at org.eclipse.swt.widgets.Composite.WM_SIZE(Composite.java:1736)
	at org.eclipse.swt.widgets.Table.WM_SIZE(Table.java:6228)
	at org.eclipse.swt.widgets.Control.windowProc(Control.java:4809)
	at org.eclipse.swt.widgets.Table.windowProc(Table.java:5812)
	at org.eclipse.swt.widgets.Display.windowProc(Display.java:5177)
	at org.eclipse.swt.internal.win32.OS.CallWindowProc(Native Method)
	at org.eclipse.swt.widgets.Table.callWindowProc(Table.java:585)
	at org.eclipse.swt.widgets.Table.callWindowProc(Table.java:451)
	at org.eclipse.swt.widgets.Control.WM_WINDOWPOSCHANGED(Control.java:5680)
	at org.eclipse.swt.widgets.Control.windowProc(Control.java:4822)
	at org.eclipse.swt.widgets.Table.windowProc(Table.java:5812)
	at org.eclipse.swt.widgets.Display.windowProc(Display.java:5177)
	at org.eclipse.swt.internal.win32.OS.CallWindowProc(Native Method)
	at org.eclipse.swt.widgets.Table.callWindowProc(Table.java:585)
	at org.eclipse.swt.widgets.Table.callWindowProc(Table.java:451)
	at org.eclipse.swt.widgets.Control.windowProc(Control.java:4833)
	at org.eclipse.swt.widgets.Table.windowProc(Table.java:5812)
	at org.eclipse.swt.widgets.Display.windowProc(Display.java:5177)
	at org.eclipse.swt.internal.win32.OS.CallWindowProc(Native Method)
	at org.eclipse.swt.widgets.Table.callWindowProc(Table.java:457)
	at org.eclipse.swt.widgets.Table.callWindowProc(Table.java:451)
	at org.eclipse.swt.widgets.Table.windowProc(Table.java:5726)
	at org.eclipse.swt.widgets.Display.windowProc(Display.java:5177)
	at org.eclipse.swt.internal.win32.OS.CallWindowProc(Native Method)
	at org.eclipse.swt.widgets.Table.callWindowProc(Table.java:585)
	at org.eclipse.swt.widgets.Table.callWindowProc(Table.java:451)
	at org.eclipse.swt.widgets.Control.windowProc(Control.java:4833)
	at org.eclipse.swt.widgets.Table.windowProc(Table.java:5812)
	at org.eclipse.swt.widgets.Display.windowProc(Display.java:5177)
	at org.eclipse.swt.internal.win32.OS.SendMessage(Native Method)
	at org.eclipse.swt.widgets.TableColumn.setWidthInPixels(TableColumn.java:866)
	at org.eclipse.swt.widgets.TableColumn.setWidth(TableColumn.java:857)
	at org.eclipse.jface.layout.TableColumnLayout.setColumnWidths(TableColumnLayout.java:79)
	at org.eclipse.jface.layout.AbstractColumnLayout.layoutTableTree(AbstractColumnLayout.java:233)
	at org.eclipse.jface.layout.AbstractColumnLayout.layout(AbstractColumnLayout.java:257)
	at org.eclipse.swt.widgets.Composite.updateLayout(Composite.java:1343)
	at org.eclipse.swt.widgets.Composite.updateLayout(Composite.java:1328)
	at org.eclipse.swt.widgets.Composite.layout(Composite.java:707)
	at org.eclipse.swt.widgets.Composite.layout(Composite.java:659)
	at org.eclipse.swt.widgets.Composite.layout(Composite.java:615)
	at org.eclipse.egit.ui.internal.history.CommitGraphTable.layout(CommitGraphTable.java:703)
	at org.eclipse.egit.ui.internal.history.CommitGraphTable.lambda$6(CommitGraphTable.java:307)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:91)
	at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4404)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1173)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1197)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1178)
	at org.eclipse.swt.widgets.Table.setDeferResize(Table.java:4215)
	at org.eclipse.swt.widgets.Table.setBoundsInPixels(Table.java:4102)
	at org.eclipse.swt.widgets.Control.setBoundsInPixels(Control.java:3183)
	at org.eclipse.swt.widgets.Control.setBoundsInPixels(Control.java:3179)
	at org.eclipse.swt.widgets.Control.setBounds(Control.java:3174)
	at org.eclipse.jface.layout.AbstractColumnLayout.layoutTableTree(AbstractColumnLayout.java:238)
	at org.eclipse.jface.layout.AbstractColumnLayout.layout(AbstractColumnLayout.java:257)
	at org.eclipse.swt.widgets.Composite.updateLayout(Composite.java:1343)
	at org.eclipse.swt.widgets.Composite.updateLayout(Composite.java:1328)
	at org.eclipse.swt.widgets.Composite.layout(Composite.java:707)
	at org.eclipse.swt.widgets.Composite.layout(Composite.java:659)
	at org.eclipse.swt.widgets.Composite.layout(Composite.java:615)
	at org.eclipse.egit.ui.internal.history.CommitGraphTable.layout(CommitGraphTable.java:703)
	at org.eclipse.egit.ui.internal.history.CommitGraphTable.lambda$6(CommitGraphTable.java:307)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:91)
	at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4404)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1173)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1197)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1178)
	at org.eclipse.swt.widgets.Table.setDeferResize(Table.java:4215)
	at org.eclipse.swt.widgets.Table.setBoundsInPixels(Table.java:4102)
	at org.eclipse.swt.widgets.Control.setBoundsInPixels(Control.java:3183)
	at org.eclipse.swt.widgets.Control.setBoundsInPixels(Control.java:3179)
	at org.eclipse.swt.widgets.Control.setBounds(Control.java:3174)
	at org.eclipse.jface.layout.AbstractColumnLayout.layoutTableTree(AbstractColumnLayout.java:238)
	at org.eclipse.jface.layout.AbstractColumnLayout.layout(AbstractColumnLayout.java:257)
	at org.eclipse.swt.widgets.Composite.updateLayout(Composite.java:1343)
	at org.eclipse.swt.widgets.Composite.updateLayout(Composite.java:1328)
	at org.eclipse.swt.widgets.Composite.layout(Composite.java:707)
	at org.eclipse.swt.widgets.Composite.layout(Composite.java:659)
	at org.eclipse.swt.widgets.Composite.layout(Composite.java:615)
	at org.eclipse.egit.ui.internal.history.CommitGraphTable.layout(CommitGraphTable.java:703)
	at org.eclipse.egit.ui.internal.history.CommitGraphTable.lambda$6(CommitGraphTable.java:307)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:91)
	at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4404)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1173)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1197)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1178)
	at org.eclipse.swt.widgets.Table.setDeferResize(Table.java:4215)
	at org.eclipse.swt.widgets.Table.setBoundsInPixels(Table.java:4102)
	at org.eclipse.swt.widgets.Control.setBoundsInPixels(Control.java:3183)
	at org.eclipse.swt.widgets.Control.setBoundsInPixels(Control.java:3179)
	at org.eclipse.swt.widgets.Control.setBounds(Control.java:3174)
	at org.eclipse.jface.layout.AbstractColumnLayout.layoutTableTree(AbstractColumnLayout.java:238)

(shortened, the same 19 lines repeat over and over)

Expected behavior

Relevant log output

No response

Other information

No response

Metadata

Metadata

Assignees

Labels

bugSomething isn't workingneed infoWaiting for more information

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions