Community
Participate
Working Groups
I20060807-0010 Steps: Edit a Java launch configuration, go to tab "JRE", and click "Installed JREs...". java.lang.ClassCastException: org.eclipse.jface.preference.PreferenceDialog at org.eclipse.jdt.internal.debug.ui.jres.JREsPreferencePage.getCurrentCompilerCompliance(JREsPreferencePage.java:191) at org.eclipse.jdt.internal.debug.ui.jres.JREsPreferencePage.isValid(JREsPreferencePage.java:159) at org.eclipse.jface.preference.PreferenceDialog.isCurrentPageValid(PreferenceDialog.java:847) at org.eclipse.jface.preference.PreferenceDialog.updateButtons(PreferenceDialog.java:1285) at org.eclipse.jface.preference.PreferenceDialog.update(PreferenceDialog.java:1273) at org.eclipse.jface.preference.PreferenceDialog.showPage(PreferenceDialog.java:1230) at org.eclipse.jface.preference.PreferenceDialog$8.selectionChanged(PreferenceDialog.java:661) at org.eclipse.jface.viewers.StructuredViewer$3.run(StructuredViewer.java:839) at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37) at org.eclipse.core.runtime.Platform.run(Platform.java:843) at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:44) at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:149) at org.eclipse.jface.viewers.StructuredViewer.firePostSelectionChanged(StructuredViewer.java:837) at org.eclipse.jface.viewers.StructuredViewer.setSelection(StructuredViewer.java:1578) at org.eclipse.jface.preference.PreferenceDialog.selectSavedItem(PreferenceDialog.java:958) at org.eclipse.jface.preference.PreferenceDialog$3.run(PreferenceDialog.java:345) at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:67) at org.eclipse.jface.preference.PreferenceDialog.createContents(PreferenceDialog.java:341) at org.eclipse.jface.window.Window.create(Window.java:426) at org.eclipse.jface.dialogs.Dialog.create(Dialog.java:1124) at org.eclipse.jdt.internal.debug.ui.JDIDebugUIPlugin$3.run(JDIDebugUIPlugin.java:588) at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:67) at org.eclipse.jdt.internal.debug.ui.JDIDebugUIPlugin.showPreferencePage(JDIDebugUIPlugin.java:586) at org.eclipse.jdt.internal.debug.ui.jres.JREsComboBlock.showPrefPage(JREsComboBlock.java:282) at org.eclipse.jdt.internal.debug.ui.jres.JREsComboBlock.access$10(JREsComboBlock.java:279) at org.eclipse.jdt.internal.debug.ui.jres.JREsComboBlock$4.handleEvent(JREsComboBlock.java:223) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:928) at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3377) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2997) 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.launchConfigurations.LaunchConfigurationsDialog.open(LaunchConfigurationsDialog.java:1085) at org.eclipse.debug.ui.DebugUITools$1.run(DebugUITools.java:383) at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:67) at org.eclipse.debug.ui.DebugUITools.openLaunchConfigurationDialogOnGroup(DebugUITools.java:387) at org.eclipse.debug.ui.DebugUITools.openLaunchConfigurationDialogOnGroup(DebugUITools.java:329) at org.eclipse.debug.ui.actions.OpenLaunchDialogAction.run(OpenLaunchDialogAction.java:80) at org.eclipse.jface.action.Action.runWithEvent(Action.java:499) at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:539) at org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:488) at org.eclipse.jface.action.ActionContributionItem$5.handleEvent(ActionContributionItem.java:400) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:928) at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3377) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2997) at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1914) at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1878) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:419) at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149) at org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplication.java:95) at org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformActivator.java:78) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:104) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:74) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:401) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:177) 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:585) at org.eclipse.core.launcher.Main.invokeFramework(Main.java:336) at org.eclipse.core.launcher.Main.basicRun(Main.java:280) at org.eclipse.core.launcher.Main.run(Main.java:977) at org.eclipse.core.launcher.Main.main(Main.java:952)
fixed in HEAD. this issue arose from not using the PreferenceUtils framework for opening pref pages, so when we tried to cast the resulting dialog to a pref container it would barf.
please verify Darin W
Verified.
I just reproduced this in I20061031-0656. Is this bug taking a *really* long time to get integrated, or should I reopen since it has popped up again?
Please re-open with new stack trace if you have it... the fix has been in since M1.
Cc'ing for previous comment
Here's the stack trace I'm getting: !ENTRY org.eclipse.jface 4 2 2006-11-03 13:23:08.500 !MESSAGE Problems occurred when invoking code from plug-in: "org.eclipse.jface". !STACK 0 java.lang.ClassCastException: org.eclipse.jface.preference.PreferenceDialog at org.eclipse.jdt.internal.debug.ui.jres.JREsPreferencePage.getCurrentCompilerCompliance(JREsPreferencePage.java:191) at org.eclipse.jdt.internal.debug.ui.jres.JREsPreferencePage.isValid(JREsPreferencePage.java:159) at org.eclipse.jface.preference.PreferenceDialog.isCurrentPageValid(PreferenceDialog.java:847) at org.eclipse.jface.preference.PreferenceDialog.updateButtons(PreferenceDialog.java:1285) at org.eclipse.jface.preference.PreferenceDialog.update(PreferenceDialog.java:1273) at org.eclipse.jface.preference.PreferenceDialog.showPage(PreferenceDialog.java:1230) at org.eclipse.jface.preference.PreferenceDialog$8.selectionChanged(PreferenceDialog.java:661) at org.eclipse.jface.viewers.StructuredViewer$3.run(StructuredViewer.java:841) at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java(Inlined Compiled Code)) at org.eclipse.core.runtime.Platform.run(Platform.java(Compiled Code)) at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:44) at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:149) at org.eclipse.jface.viewers.StructuredViewer.firePostSelectionChanged(StructuredViewer.java:839) at org.eclipse.jface.viewers.StructuredViewer.setSelection(StructuredViewer.java:1600) at org.eclipse.jface.preference.PreferenceDialog.selectSavedItem(PreferenceDialog.java:958) at org.eclipse.jface.preference.PreferenceDialog$3.run(PreferenceDialog.java:345) at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:67) at org.eclipse.jface.preference.PreferenceDialog.createContents(PreferenceDialog.java:341) at org.eclipse.jface.window.Window.create(Window.java:426) at org.eclipse.jface.dialogs.Dialog.create(Dialog.java:1111) at org.eclipse.jst.server.tomcat.ui.internal.TomcatRuntimeComposite$7.run(TomcatRuntimeComposite.java:251) at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:67) at org.eclipse.jst.server.tomcat.ui.internal.TomcatRuntimeComposite.showPreferencePage(TomcatRuntimeComposite.java:249) at org.eclipse.jst.server.tomcat.ui.internal.TomcatRuntimeComposite$6.widgetSelected(TomcatRuntimeComposite.java:201) at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:90) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java(Compiled Code)) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java(Inlined Compiled Code)) at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java(Compiled Code)) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java(Compiled Code)) at org.eclipse.jface.window.Window.runEventLoop(Window.java(Compiled Code)) at org.eclipse.jface.window.Window.open(Window.java:796) at org.eclipse.wst.server.ui.internal.actions.LaunchWizardAction.run(LaunchWizardAction.java:57) at org.eclipse.jface.action.Action.runWithEvent(Action.java:499) at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:539) at org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:488) at org.eclipse.jface.action.ActionContributionItem$5.handleEvent(ActionContributionItem.java:400) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java(Compiled Code)) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java(Inlined Compiled Code)) at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java(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:1888) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:419) at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149) at org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplication.java:95) at org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformActivator.java:78) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:104) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:74) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:348) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:165) 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.core.launcher.Main.invokeFramework(Main.java:341) at org.eclipse.core.launcher.Main.basicRun(Main.java:285) at org.eclipse.core.launcher.Main.run(Main.java:987) at org.eclipse.core.launcher.Main.main(Main.java:962)
*** Bug 167303 has been marked as a duplicate of this bug. ***
fixed in HEAD see JREsPreferencePage added in a check for the preferences container before trying to get the working copy...although this case should never occur, since we at no point ever instantiate a PreferencesDialog, we only use FilteredPreferenceDialogs - which can be cast to IWorkbenchPreferenceContainer
please verify the cast check Darin.
Verified - instead of creating a working copy manager, we just return the default setting if no working copy manager can be located.
New Gerrit change created: https://git.eclipse.org/r/108066