Community
Participate
Working Groups
Created attachment 282212 [details] The annoying error panel mentioned in the bug report. FWIW I originally reported this on the forums: https://www.eclipse.org/forums/index.php/t/1102983/ Platform: CentOS 7 - 3.10.0-1062.9.1.el7.x86_64 Session Data: eclipse.buildId=4.15.0.I20200305-0155 java.version=1.8.0_232 java.vendor=Oracle Corporation BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=en_US Framework arguments: -product org.eclipse.epp.package.rcp.product -showlocation main Command-line arguments: -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.rcp.product -clean -showlocation main -data workspace.cba.202003 Observed Behavior: On 03/23/2020 I updated 2019-12 to 2020-03. After doing so, now when I'm attached to certain debug configurations I get an internal error panel (or series of panels in quick succession) on what I've measured at about five minute intervals. A screenshot of the panel is attached. The particular debug configuration happens to be a remote configuration to a VM that includes threads that come and go relatively frequently, which results in the thread tree view in the Debug tab being updated. I only bring this up because the backtrace from the Error view says that this is a SWT error related to removing items from a tree. However, the thread activity far outpaces the periodic appearance of these panels, so this may be a coincidence. At this point I've upgraded two machines, and both of them exhibit this behavior when run against the same debug configuration. It's possible that this was happening in 2019-12, but I don't think so because this panel is pretty annoying and I would have noticed. Unfortunately it's difficult to come up with steps to reproduce this. The problem happens if I'm just sitting here staring at the IDE and otherwise doing nothing. The local development situation is large and complex, so there's nothing I can hand over. The first thing I'd try to reproduce this on a smaller scale would be to cook up a test app that causes a bunch of thread activity, set up a remote debug configuration for it, then run, attach, and sit back and see what happens. The backtrace from the Event view says: java.lang.IllegalArgumentException: Index out of bounds at org.eclipse.swt.SWT.error(SWT.java:4704) at org.eclipse.swt.SWT.error(SWT.java:4638) at org.eclipse.swt.SWT.error(SWT.java:4609) at org.eclipse.swt.widgets.Widget.error(Widget.java:550) at org.eclipse.swt.widgets.TreeItem.getItem(TreeItem.java:792) at org.eclipse.jface.viewers.TreeViewer.lambda$4(TreeViewer.java:829) at org.eclipse.jface.viewers.StructuredViewer.preservingSelection(StructuredViewer.java:1397) at org.eclipse.jface.viewers.TreeViewer.preservingSelection(TreeViewer.java:363) at org.eclipse.jface.viewers.StructuredViewer.preservingSelection(StructuredViewer.java:1358) at org.eclipse.jface.viewers.TreeViewer.remove(TreeViewer.java:810) at org.eclipse.debug.internal.ui.viewers.model.TreeModelContentProvider.handleRemove(TreeModelContentProvider.java:1546) at org.eclipse.debug.internal.ui.viewers.model.TreeModelContentProvider.updateNodes(TreeModelContentProvider.java:1266) at org.eclipse.debug.internal.ui.viewers.model.TreeModelContentProvider.updateNodes(TreeModelContentProvider.java:1299) at org.eclipse.debug.internal.ui.viewers.model.TreeModelContentProvider.updateNodes(TreeModelContentProvider.java:1299) at org.eclipse.debug.internal.ui.viewers.model.TreeModelContentProvider.updateNodes(TreeModelContentProvider.java:1299) at org.eclipse.debug.internal.ui.viewers.model.TreeModelContentProvider.updateModel(TreeModelContentProvider.java:562) at org.eclipse.debug.internal.ui.viewers.model.TreeModelContentProvider.doModelChanged(TreeModelContentProvider.java:530) at org.eclipse.debug.internal.ui.viewers.model.TreeModelContentProvider.access$0(TreeModelContentProvider.java:524) at org.eclipse.debug.internal.ui.viewers.model.TreeModelContentProvider$DelayedDoModelChangedJob.runInUIThread(TreeModelContentProvider.java:436) at org.eclipse.ui.progress.UIJob.lambda$0(UIJob.java:95) 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:4930) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:4451) 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.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 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:657) at org.eclipse.equinox.launcher.Main.basicRun(Main.java:594) at org.eclipse.equinox.launcher.Main.run(Main.java:1447) at org.eclipse.equinox.launcher.Main.main(Main.java:1420)
A test case would be really cool. Bug 561338 provides a workaround and the latest 4.16 nightly build a partial fix. *** This bug has been marked as a duplicate of bug 561338 ***