Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 188460

Summary: Widget is disposed exception when removing all breakpoints
Product: [Eclipse Project] Platform Reporter: Samantha Chan <chanskw>
Component: DebugAssignee: Platform-Debug-Inbox <platform-debug-inbox>
Status: RESOLVED DUPLICATE QA Contact:
Severity: normal    
Priority: P3    
Version: 3.3   
Target Milestone: ---   
Hardware: PC   
OS: Windows XP   
Whiteboard:

Description Samantha Chan CLA 2007-05-22 16:31:10 EDT
Not sure how to reproduce. I had about 30  breakpoints.  The breakpoints were grouped by breakpoint working set, and then by projects.

When the exception happended, I clicked the "Remove All" button and it was removing all the breakpoints.  The Breakpoints View is un-usable after the exception.  Closing and reopening the view did not help makes the view usable again.

org.eclipse.swt.SWTException: Widget is disposed
	at org.eclipse.swt.SWT.error(SWT.java:3547)
	at org.eclipse.swt.SWT.error(SWT.java(Inlined Compiled Code))
	at org.eclipse.swt.SWT.error(SWT.java(Inlined Compiled Code))
	at org.eclipse.swt.widgets.Widget.error(Widget.java(Inlined Compiled Code))
	at org.eclipse.swt.widgets.Widget.checkWidget(Widget.java(Compiled Code))
	at org.eclipse.swt.widgets.Widget.getData(Widget.java(Inlined Compiled Code))
	at org.eclipse.jface.viewers.AbstractTreeViewer.getTreePathFromItem(AbstractTreeViewer.java(Compiled Code))
	at org.eclipse.jface.viewers.AbstractTreeViewer.internalGetWidgetToSelect(AbstractTreeViewer.java:1623)
	at org.eclipse.jface.viewers.AbstractTreeViewer.internalExpand(AbstractTreeViewer.java:1518)
	at org.eclipse.jface.viewers.AbstractTreeViewer.internalExpand(AbstractTreeViewer.java:1526)
	at org.eclipse.jface.viewers.AbstractTreeViewer.internalExpand(AbstractTreeViewer.java:1526)
	at org.eclipse.jface.viewers.AbstractTreeViewer.setSelectionToWidget(AbstractTreeViewer.java:2371)
	at org.eclipse.jface.viewers.AbstractTreeViewer.setSelectionToWidget(AbstractTreeViewer.java:2758)
	at org.eclipse.jface.viewers.StructuredViewer.preservingSelection(StructuredViewer.java:1375)
	at org.eclipse.jface.viewers.TreeViewer.preservingSelection(TreeViewer.java:378)
	at org.eclipse.jface.viewers.StructuredViewer.preservingSelection(StructuredViewer.java:1330)
	at org.eclipse.jface.viewers.CheckboxTreeViewer.preservingSelection(CheckboxTreeViewer.java:371)
	at org.eclipse.jface.viewers.StructuredViewer.refresh(StructuredViewer.java:1431)
	at org.eclipse.jface.viewers.ColumnViewer.refresh(ColumnViewer.java:498)
	at org.eclipse.jface.viewers.StructuredViewer.refresh(StructuredViewer.java(Inlined Compiled Code))
	at org.eclipse.debug.internal.ui.views.breakpoints.BreakpointsViewer.refresh(BreakpointsViewer.java(Inlined Compiled Code))
	at org.eclipse.debug.internal.ui.views.breakpoints.BreakpointsContentProvider.reorganize(BreakpointsContentProvider.java(Compiled Code))
	at org.eclipse.debug.internal.ui.views.breakpoints.BreakpointsContentProvider.propertyChange(BreakpointsContentProvider.java:228)
	at org.eclipse.debug.ui.AbstractBreakpointOrganizerDelegate$1.run(AbstractBreakpointOrganizerDelegate.java:110)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java(Compiled Code))
	at org.eclipse.debug.ui.AbstractBreakpointOrganizerDelegate.fireCategoryChanged(AbstractBreakpointOrganizerDelegate.java:113)
	at org.eclipse.debug.internal.ui.views.breakpoints.BreakpointSetOrganizer.propertyChange(BreakpointSetOrganizer.java:147)
	at org.eclipse.ui.internal.AbstractWorkingSetManager$4.run(AbstractWorkingSetManager.java:364)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java(Compiled Code))
	at org.eclipse.ui.internal.AbstractWorkingSetManager$3.run(AbstractWorkingSetManager.java:371)
	at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java(Inlined Compiled Code))
	at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java(Compiled Code))
	at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java(Inlined Compiled Code))
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java(Compiled Code))
	at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java(Compiled Code))
	at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2353)
	at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2219)
	at org.eclipse.ui.internal.Workbench$4.run(Workbench.java:466)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:289)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:461)
	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:106)
	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:153)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:106)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:76)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:363)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:176)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:85)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:58)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:60)
	at java.lang.reflect.Method.invoke(Method.java:391)
	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:497)
	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:436)
	at org.eclipse.equinox.launcher.Main.run(Main.java:1162)
	at org.eclipse.equinox.launcher.Main.main(Main.java:1137)
Comment 1 Michael Rennie CLA 2007-06-08 00:32:37 EDT
trying to reproduce I got the following error:

java.lang.ArrayIndexOutOfBoundsException
at java.lang.System.arraycopy(Native Method)
at java.util.Vector.copyInto(Vector.java:166)
at org.eclipse.debug.internal.core.BreakpointManager.getBreakpoints(BreakpointManager.java:357)
at org.eclipse.debug.internal.ui.views.breakpoints.BreakpointsContentProvider.reorganize(BreakpointsContentProvider.java:176)
at org.eclipse.debug.internal.ui.views.breakpoints.BreakpointsContentProvider.propertyChange(BreakpointsContentProvider.java:228)
at org.eclipse.debug.ui.AbstractBreakpointOrganizerDelegate$1.run(AbstractBreakpointOrganizerDelegate.java:110)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37)
at org.eclipse.debug.ui.AbstractBreakpointOrganizerDelegate.fireCategoryChanged(AbstractBreakpointOrganizerDelegate.java:113)
at org.eclipse.debug.internal.ui.views.breakpoints.BreakpointSetOrganizer.propertyChange(BreakpointSetOrganizer.java:147)
at org.eclipse.ui.internal.AbstractWorkingSetManager$4.run(AbstractWorkingSetManager.java:364)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37)
at org.eclipse.ui.internal.AbstractWorkingSetManager$3.run(AbstractWorkingSetManager.java:371)
at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:123)
at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3659)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3296)
at org.eclipse.jface.operation.ModalContext$ModalContextThread.block(ModalContext.java:158)
at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:326)
at org.eclipse.jface.wizard.WizardDialog.run(WizardDialog.java:934)
at org.eclipse.debug.internal.ui.importexport.breakpoints.WizardImportBreakpointsPage.finish(WizardImportBreakpointsPage.java:230)
at org.eclipse.debug.internal.ui.importexport.breakpoints.WizardImportBreakpoints.performFinish(WizardImportBreakpoints.java:88)
at org.eclipse.jface.wizard.WizardDialog.finishPressed(WizardDialog.java:742)
at org.eclipse.jface.wizard.WizardDialog.buttonPressed(WizardDialog.java:373)
at org.eclipse.jface.dialogs.Dialog$2.widgetSelected(Dialog.java:616)
at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:227)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:938)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3682)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3293)
at org.eclipse.jface.window.Window.runEventLoop(Window.java:820)
at org.eclipse.jface.window.Window.open(Window.java:796)
at org.eclipse.debug.internal.ui.importexport.breakpoints.ImportBreakpoints.run(ImportBreakpoints.java:45)
at org.eclipse.debug.internal.ui.actions.AbstractDebugActionDelegate.runWithEvent(AbstractDebugActionDelegate.java:297)
at org.eclipse.ui.internal.PluginAction.runWithEvent(PluginAction.java:246)
at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:545)
at org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:490)
at org.eclipse.jface.action.ActionContributionItem$5.handleEvent(ActionContributionItem.java:402)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:938)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3682)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3293)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2389)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2353)
at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2219)
at org.eclipse.ui.internal.Workbench$4.run(Workbench.java:466)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:289)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:461)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:106)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:153)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:106)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:76)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:363)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:176)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:504)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:443)
at org.eclipse.equinox.launcher.Main.run(Main.java:1169)
at org.eclipse.equinox.launcher.Main.main(Main.java:1144)

will open new bug.
Comment 2 Michael Rennie CLA 2007-06-08 00:37:47 EDT
filed bug 191636 for new exception, was not able to reproduce this one yet though...
Comment 3 Michael Rennie CLA 2007-06-19 11:38:28 EDT

*** This bug has been marked as a duplicate of bug 184915 ***