Community
Participate
Working Groups
Since updating to M6, I have been getting these exceptions when I first open the variables view. org.eclipse.swt.SWTException: Invalid thread access at org.eclipse.swt.SWT.error(SWT.java:3499) at org.eclipse.swt.SWT.error(SWT.java:3422) at org.eclipse.swt.SWT.error(SWT.java:3393) at org.eclipse.swt.widgets.Display.error(Display.java:1135) at org.eclipse.swt.widgets.Display.checkDevice(Display.java:664) at org.eclipse.swt.widgets.Display.disposeExec(Display.java:1080) at org.eclipse.jdt.internal.ui.viewsupport.ImageDescriptorRegistry.hookDisplay(ImageDescriptorRegistry.java:87) at org.eclipse.jdt.internal.ui.viewsupport.ImageDescriptorRegistry.<init>(ImageDescriptorRegistry.java:49) at org.eclipse.jdt.internal.ui.viewsupport.ImageDescriptorRegistry.<init>(ImageDescriptorRegistry.java:37) at org.eclipse.jdt.internal.ui.JavaPlugin.internalGetImageDescriptorRegistry(JavaPlugin.java:860) at org.eclipse.jdt.internal.ui.JavaPlugin.getImageDescriptorRegistry(JavaPlugin.java:328) at org.eclipse.jdt.internal.debug.ui.JDIModelPresentation.getJavaElementImageRegistry(JDIModelPresentation.java:1900) at org.eclipse.jdt.internal.debug.ui.JDIModelPresentation.getVariableImage(JDIModelPresentation.java:860) at org.eclipse.jdt.internal.debug.ui.JDIModelPresentation.getImage(JDIModelPresentation.java:633) at org.eclipse.debug.internal.ui.LazyModelPresentation.getImage(LazyModelPresentation.java:110) at org.eclipse.debug.internal.ui.DelegatingModelPresentation.getImage(DelegatingModelPresentation.java:147) at org.eclipse.debug.internal.ui.views.launch.DebugElementHelper.getImageDescriptor(DebugElementHelper.java:76) at org.eclipse.debug.internal.ui.model.elements.DebugElementLabelProvider.getImageDescriptor(DebugElementLabelProvider.java:68) at org.eclipse.debug.internal.ui.model.elements.VariableLabelProvider.getImageDescriptor(VariableLabelProvider.java:70) at org.eclipse.debug.internal.ui.model.elements.ElementLabelProvider.retrieveLabel(ElementLabelProvider.java:183) at org.eclipse.jdt.internal.debug.ui.variables.JavaVariableLabelProvider.retrieveLabel(JavaVariableLabelProvider.java:121) at org.eclipse.debug.internal.ui.model.elements.ElementLabelProvider$LabelUpdater.run(ElementLabelProvider.java:137) at org.eclipse.debug.internal.ui.model.elements.ElementLabelProvider$LabelJob.run(ElementLabelProvider.java:60) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:58)
Do you have a test case for us? I was unable to cause this in the latest I-build. It usually means you were able to bring up the debugger before the JDT debug image registry was populated... but I can't seem to do this.
Fixed in JDIModelPresentation and JavaVariableLabelProvider. We use a UI job for a label if the image registries have not been initialized.
Please verify, Mike.
The bug seems to be very timing sensitive. I only see it when running in a debugger, and then only intermittently. But I don't do anything special, just launch a java process in a debugger, suspend it, and open the variable view.
verified