| Summary: | [Commands] Clicking checkbox in Preferences after accessing Capabilities results in 'Widget is disposed' exception | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| Product: | [Eclipse Project] Platform | Reporter: | Alice Connors <alicec> | ||||||
| Component: | UI | Assignee: | Platform UI Triaged <platform-ui-triaged> | ||||||
| Status: | RESOLVED NOT_ECLIPSE | QA Contact: | Prakash Rangaraj <prakash> | ||||||
| Severity: | normal | ||||||||
| Priority: | P3 | CC: | pwebster, remy.suen | ||||||
| Version: | 3.6.1 | ||||||||
| Target Milestone: | --- | ||||||||
| Hardware: | PC | ||||||||
| OS: | Windows XP | ||||||||
| Whiteboard: | |||||||||
| Attachments: |
|
||||||||
|
Description
Alice Connors
Created attachment 181600 [details]
Stack trace with 'Widget is disposed' exception
Alice, could you please put a breakpoint in org.eclipse.swt.widgets.Shell.dispose(), and activate the breakpoint after the first dialog but before or during the second dialog? We need to find out if anything is deliberately disposing the Shell while we're in the source provider. I can't reproduce on linux, but what's worse is that Shell seems to be in the middle of a SWT.Activate event. It can't be disposed, unless something during the event is disposing it. Prakash, can you have a look? org.eclipse.swt.SWTException: Widget is disposed at org.eclipse.swt.SWT.error(Unknown Source) at org.eclipse.swt.SWT.error(Unknown Source) at org.eclipse.swt.SWT.error(Unknown Source) at org.eclipse.swt.widgets.Widget.error(Unknown Source) at org.eclipse.swt.widgets.Widget.checkWidget(Unknown Source) at org.eclipse.swt.widgets.Widget.getData(Unknown Source) at org.eclipse.ui.internal.services.WorkbenchSourceProvider.handleCheck(Unknown Source) at org.eclipse.ui.internal.services.WorkbenchSourceProvider.checkOtherSources(Unknown Source) at org.eclipse.ui.internal.services.WorkbenchSourceProvider$6.handleEvent(Unknown Source) at org.eclipse.swt.widgets.EventTable.sendEvent(Unknown Source) at org.eclipse.swt.widgets.Display.filterEvent(Unknown Source) at org.eclipse.swt.widgets.Widget.sendEvent(Unknown Source) at org.eclipse.swt.widgets.Widget.sendEvent(Unknown Source) at org.eclipse.swt.widgets.Widget.sendEvent(Unknown Source) at org.eclipse.swt.widgets.Decorations.WM_ACTIVATE(Unknown Source) at org.eclipse.swt.widgets.Shell.WM_ACTIVATE(Unknown Source) at org.eclipse.swt.widgets.Control.windowProc(Unknown Source) at org.eclipse.swt.widgets.Canvas.windowProc(Unknown Source) at org.eclipse.swt.widgets.Decorations.windowProc(Unknown Source) at org.eclipse.swt.widgets.Shell.windowProc(Unknown Source) at org.eclipse.swt.widgets.Display.windowProc(Unknown Source) at org.eclipse.swt.internal.win32.OS.BringWindowToTop(Native Method) at org.eclipse.swt.widgets.Decorations.bringToTop(Unknown Source) at org.eclipse.swt.widgets.Shell.open(Unknown Source) at org.eclipse.jface.window.Window.open(Unknown Source) at org.eclipse.ui.internal.dialogs.WorkbenchPreferenceDialog.open(Unknown Source) at org.eclipse.ui.internal.OpenPreferencesAction.run(Unknown Source) at org.eclipse.jface.action.Action.runWithEvent(Unknown Source) at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(Unknown Source) at org.eclipse.jface.action.ActionContributionItem.access$2(Unknown Source) at org.eclipse.jface.action.ActionContributionItem$5.handleEvent(Unknown Source) at org.eclipse.swt.widgets.EventTable.sendEvent(Unknown Source) at org.eclipse.swt.widgets.Widget.sendEvent(Unknown Source) at org.eclipse.swt.widgets.Display.runDeferredEvents(Unknown Source) at org.eclipse.swt.widgets.Display.readAndDispatch(Unknown Source) at org.eclipse.ui.internal.Workbench.runEventLoop(Unknown Source) at org.eclipse.ui.internal.Workbench.runUI(Unknown Source) at org.eclipse.ui.internal.Workbench.access$4(Unknown Source) at org.eclipse.ui.internal.Workbench$7.run(Unknown Source) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Unknown Source) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Unknown Source) at org.eclipse.ui.PlatformUI.createAndRunWorkbench(Unknown Source) at org.eclipse.ui.internal.ide.application.IDEApplication.start(Unknown Source) at org.eclipse.equinox.internal.app.EclipseAppHandle.run(Unknown Source) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(Unknown Source) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(Unknown Source) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(Unknown Source) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(Unknown Source) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.eclipse.equinox.launcher.Main.invokeFramework(Unknown Source) at org.eclipse.equinox.launcher.Main.basicRun(Unknown Source) at org.eclipse.equinox.launcher.Main.run(Unknown Source) at org.eclipse.equinox.launcher.Main.main(Unknown Source) Cannot reproduce with eclipse-SDK-3.6.1-win32.zip on Windows XP. Can't reproduce on Mac either.
Alice,
Can you try out what Paul said and let us know?
. Created attachment 181724 [details]
Stack trace with Shell.disposed()
1. Click Windows->Preferences->General->Capabilities 2. Click OK to exit preferences. Enabled the breakpoint in Shell.dispose(). 3. Click Windows->Preferences. Hit the breakpoint. Stack trace is attached. EditingCapabilitiesHandler is closing your shell. What is that class (it's not in the Eclipse SDK)? Where is it coming from? Also, please use <filename>.txt and attach text/plain docs ... I'm on linux, msword docs cause me some grief :-) PW Looks like com.ibm.xtools.common.ui.reduction.internal.EditingCapabilitiesHandler. I'll track it down from here. Thanks for your help. (In reply to comment #9) > Looks like > com.ibm.xtools.common.ui.reduction.internal.EditingCapabilitiesHandler. I'll > track it down from here. Thanks for your help. Resolving as NOT_ECLIPSE. Please feel free to reopen if you suspect there is a problem in Eclipse. |