This Bugzilla instance is deprecated, and most Eclipse projects now use GitHub or Eclipse GitLab. Please see the deprecation plan for details.
Bug 152962 - CCE in JREsPreferencePage.getCurrentCompilerCompliance(..)
Summary: CCE in JREsPreferencePage.getCurrentCompilerCompliance(..)
Status: VERIFIED FIXED
Alias: None
Product: JDT
Classification: Eclipse Project
Component: Debug (show other bugs)
Version: 3.2   Edit
Hardware: PC Windows XP
: P3 normal (vote)
Target Milestone: 3.3 M4   Edit
Assignee: Darin Wright CLA
QA Contact:
URL:
Whiteboard:
Keywords:
: 167303 (view as bug list)
Depends on:
Blocks:
 
Reported: 2006-08-07 08:24 EDT by Markus Keller CLA
Modified: 2017-10-11 16:07 EDT (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Markus Keller CLA 2006-08-07 08:24:27 EDT
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)
Comment 1 Michael Rennie CLA 2006-08-08 10:46:36 EDT
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.
Comment 2 Michael Rennie CLA 2006-08-08 10:49:42 EDT
please verify Darin W
Comment 3 Darin Wright CLA 2006-08-08 15:10:12 EDT
Verified.
Comment 4 Tim deBoer CLA 2006-11-03 13:29:59 EST
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?
Comment 5 Darin Wright CLA 2006-11-03 13:37:07 EST
Please re-open with new stack trace if you have it... the fix has been in since M1.
Comment 6 Darin Wright CLA 2006-11-03 13:37:32 EST
Cc'ing for previous comment
Comment 7 Tim deBoer CLA 2006-11-03 15:58:11 EST
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)
Comment 8 Tim deBoer CLA 2006-12-10 13:25:50 EST
*** Bug 167303 has been marked as a duplicate of this bug. ***
Comment 9 Michael Rennie CLA 2006-12-11 11:26:16 EST
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
Comment 10 Michael Rennie CLA 2006-12-11 11:27:12 EST
please verify the cast check Darin.
Comment 11 Darin Wright CLA 2006-12-11 11:40:23 EST
Verified - instead of creating a working copy manager, we just return the default setting if no working copy manager can be located.
Comment 12 Darin Wright CLA 2006-12-14 10:51:21 EST
Verified.
Comment 13 Eclipse Genie CLA 2017-10-11 16:07:52 EDT
New Gerrit change created: https://git.eclipse.org/r/108066