Community
Participate
Working Groups
My program freezes if I switch between specific screens enough times. The stack trace suggests the problem is in the SWT library itself: <pre> Thread [main] (Suspended) OS._gtk_adjustment_changed(int) line: not available [native method] OS.gtk_adjustment_changed(int) line: 5616 ScrollBar.setMaximum(int) line: 685 ScrolledCompositeLayout.layout(Composite, boolean) line: 82 ScrolledComposite(Composite).updateLayout(boolean) line: 1546 ScrolledComposite(Composite).layout(boolean, boolean) line: 951 ScrolledComposite(Composite).layout(boolean) line: 909 ScrolledComposite$3.handleEvent(Event) line: 170 EventTable.sendEvent(Event) line: 84 Composite(Widget).sendEvent(Event) line: 1258 Composite(Widget).sendEvent(int, Event, boolean) line: 1282 Composite(Widget).sendEvent(int) line: 1263 Composite(Control).setBounds(int, int, int, int, boolean, boolean) line: 881 Composite.setBounds(int, int, int, int, boolean, boolean) line: 1357 Composite(Control).setBounds(Rectangle) line: 707 ScrolledCompositeLayout.layout(Composite, boolean) line: 109 ScrolledComposite(Composite).updateLayout(boolean) line: 1546 ScrolledComposite(Composite).layout(boolean, boolean) line: 951 ScrolledComposite(Composite).layout(boolean) line: 909 ScrolledComposite$3.handleEvent(Event) line: 170 EventTable.sendEvent(Event) line: 84 Composite(Widget).sendEvent(Event) line: 1258 Composite(Widget).sendEvent(int, Event, boolean) line: 1282 Composite(Widget).sendEvent(int) line: 1263 Composite(Control).setBounds(int, int, int, int, boolean, boolean) line: 881 Composite.setBounds(int, int, int, int, boolean, boolean) line: 1357 Composite(Control).setBounds(Rectangle) line: 707 ScrolledCompositeLayout.layout(Composite, boolean) line: 109 ScrolledComposite(Composite).updateLayout(boolean) line: 1546 ScrolledComposite(Composite).layout(boolean, boolean) line: 951 ScrolledComposite(Composite).layout(boolean) line: 909 ScrolledComposite$3.handleEvent(Event) line: 170 EventTable.sendEvent(Event) line: 84 Composite(Widget).sendEvent(Event) line: 1258 Composite(Widget).sendEvent(int, Event, boolean) line: 1282 Composite(Widget).sendEvent(int) line: 1263 Composite(Control).setBounds(int, int, int, int, boolean, boolean) line: 881 Composite.setBounds(int, int, int, int, boolean, boolean) line: 1357 Composite(Control).setBounds(Rectangle) line: 707 ScrolledCompositeLayout.layout(Composite, boolean) line: 109 ScrolledComposite(Composite).updateLayout(boolean) line: 1546 ScrolledComposite(Composite).layout(boolean, boolean) line: 951 ScrolledComposite(Composite).layout(boolean) line: 909 ScrolledComposite$3.handleEvent(Event) line: 170 EventTable.sendEvent(Event) line: 84 Composite(Widget).sendEvent(Event) line: 1258 Composite(Widget).sendEvent(int, Event, boolean) line: 1282 Composite(Widget).sendEvent(int) line: 1263 Composite(Control).setBounds(int, int, int, int, boolean, boolean) line: 881 Composite.setBounds(int, int, int, int, boolean, boolean) line: 1357 Composite(Control).setBounds(Rectangle) line: 707 ScrolledCompositeLayout.layout(Composite, boolean) line: 109 ScrolledComposite(Composite).updateLayout(boolean) line: 1546 ScrolledComposite(Composite).layout(boolean, boolean) line: 951 ScrolledComposite(Composite).layout(boolean) line: 909 ScrolledComposite$3.handleEvent(Event) line: 170 EventTable.sendEvent(Event) line: 84 Composite(Widget).sendEvent(Event) line: 1258 Composite(Widget).sendEvent(int, Event, boolean) line: 1282 Composite(Widget).sendEvent(int) line: 1263 Composite(Control).setBounds(int, int, int, int, boolean, boolean) line: 881 Composite.setBounds(int, int, int, int, boolean, boolean) line: 1357 Composite(Control).setBounds(Rectangle) line: 707 ScrolledCompositeLayout.layout(Composite, boolean) line: 109 ScrolledComposite(Composite).updateLayout(boolean) line: 1546 ScrolledComposite(Composite).layout(boolean, boolean) line: 951 ScrolledComposite(Composite).layout(boolean) line: 909 ScrolledComposite$3.handleEvent(Event) line: 170 EventTable.sendEvent(Event) line: 84 Composite(Widget).sendEvent(Event) line: 1258 Composite(Widget).sendEvent(int, Event, boolean) line: 1282 Composite(Widget).sendEvent(int) line: 1263 Composite(Control).setBounds(int, int, int, int, boolean, boolean) line: 881 Composite.setBounds(int, int, int, int, boolean, boolean) line: 1357 Composite(Control).setBounds(Rectangle) line: 707 ScrolledCompositeLayout.layout(Composite, boolean) line: 109 ScrolledComposite(Composite).updateLayout(boolean) line: 1546 ScrolledComposite(Composite).layout(boolean, boolean) line: 951 ScrolledComposite(Composite).layout(boolean) line: 909 ScrolledComposite$3.handleEvent(Event) line: 170 EventTable.sendEvent(Event) line: 84 Composite(Widget).sendEvent(Event) line: 1258 Composite(Widget).sendEvent(int, Event, boolean) line: 1282 Composite(Widget).sendEvent(int) line: 1263 Composite(Control).setBounds(int, int, int, int, boolean, boolean) line: 881 Composite.setBounds(int, int, int, int, boolean, boolean) line: 1357 Composite(Control).setBounds(Rectangle) line: 707 ScrolledCompositeLayout.layout(Composite, boolean) line: 109 ScrolledComposite(Composite).updateLayout(boolean) line: 1546 ScrolledComposite(Composite).layout(boolean, boolean) line: 951 ScrolledComposite(Composite).layout(boolean) line: 909 ScrolledComposite$3.handleEvent(Event) line: 170 EventTable.sendEvent(Event) line: 84 Composite(Widget).sendEvent(Event) line: 1258 Composite(Widget).sendEvent(int, Event, boolean) line: 1282 Composite(Widget).sendEvent(int) line: 1263 Composite(Control).setBounds(int, int, int, int, boolean, boolean) line: 881 Composite.setBounds(int, int, int, int, boolean, boolean) line: 1357 Composite(Control).setBounds(Rectangle) line: 707 ScrolledCompositeLayout.layout(Composite, boolean) line: 109 ScrolledComposite(Composite).updateLayout(boolean) line: 1546 ScrolledComposite(Composite).layout(boolean, boolean) line: 951 ScrolledComposite(Composite).layout(boolean) line: 909 ScrolledComposite$3.handleEvent(Event) line: 170 EventTable.sendEvent(Event) line: 84 Composite(Widget).sendEvent(Event) line: 1258 Composite(Widget).sendEvent(int, Event, boolean) line: 1282 Composite(Widget).sendEvent(int) line: 1263 Composite(Control).setBounds(int, int, int, int, boolean, boolean) line: 881 Composite.setBounds(int, int, int, int, boolean, boolean) line: 1357 Composite(Control).setSize(Point) line: 994 Composite(Control).pack(boolean) line: 1184 Composite(Control).pack() line: 1159 XScalaWT$$anon$2.controlResized(ControlEvent) line: 148 TypedListener.handleEvent(Event) line: 228 EventTable.sendEvent(Event) line: 84 ScrolledComposite(Widget).sendEvent(Event) line: 1258 ScrolledComposite(Widget).sendEvent(int, Event, boolean) line: 1282 ScrolledComposite(Widget).sendEvent(int) line: 1263 ScrolledComposite(Control).setBounds(int, int, int, int, boolean, boolean) line: 881 ScrolledComposite(Composite).setBounds(int, int, int, int, boolean, boolean) line: 1357 ScrolledComposite(Control).setBounds(Rectangle) line: 707 CTabFolder.setSelection(int) line: 2727 CTabFolder.setSelection(int, boolean) line: 2739 CTabFolder.destroyItem(CTabItem) line: 500 CTabItem.dispose() line: 126 DetailsViewPresenterManager$$anonfun$close$1.apply(CTabItem) line: 156 DetailsViewPresenterManager$$anonfun$close$1.apply(Object) line: 156 IndexedSeqOptimized$class.foreach(IndexedSeqOptimized, Function1) line: 34 ArrayOps$ofRef<T>(ArrayOps<T>).foreach(Function1) line: 34 DetailsViewPresenterManager.close() line: 156 NodesTreeScreen.selectedNodeChanged(SelectionChangedEvent) line: 180 NodesTreeScreen$$anonfun$6$$anonfun$apply$1.apply(SelectionChangedEvent) line: 33 GeneratedMethodAccessor2.invoke(Object, Object[]) line: not available DelegatingMethodAccessorImpl.invoke(Object, Object[]) line: 25 Method.invoke(Object, Object...) line: 597 XScalaWTX$$anon$1.selectionChanged(SelectionChangedEvent) line: 52 Viewer$2.run() line: 162 SafeRunnable$1.run(ISafeRunnable) line: 128 SafeRunnable.run(ISafeRunnable) line: 175 TreeViewer(Viewer).fireSelectionChanged(SelectionChangedEvent) line: 160 TreeViewer(StructuredViewer).updateSelection(ISelection) line: 2132 TreeViewer(StructuredViewer).handleSelect(SelectionEvent) line: 1160 StructuredViewer$4.widgetSelected(SelectionEvent) line: 1190 OpenStrategy.fireSelectionEvent(SelectionEvent) line: 228 OpenStrategy.access$4(OpenStrategy, SelectionEvent) line: 222 OpenStrategy$1.handleEvent(Event) line: 389 EventTable.sendEvent(Event) line: 84 Tree(Widget).sendEvent(Event) line: 1258 Display.runDeferredEvents() line: 3552 Display.readAndDispatch() line: 3171 MainWindow(Window).runEventLoop(Shell) line: 825 MainWindow(Window).open() line: 801 BootStrapper$.main(String[]) line: 115 BootStrapper.main(String[]) line: not available </pre> Unfortunately, I couldn't extract a small enough testcase so far.
This code doesn't run anymore, I couldn't see a path where this stack trace occurs. Closing this ticket.