Bug 98160 Errors trying to install new JRE's
After installing 3.1, I noticed that I was getting an "unbound" message next to the JRE system lib in my project. I tried to go to the "Installed JRE's" tab in the Preferenes, but it gave me a "Cound Not Accept Changes: the currently displayed page contains invalid values" window. Clicking back and forth a bit would eventually get me to the window, but the error log for the original error message is: Problems occurred when invoking code from plug-in: "org.eclipse.jface". java.lang.AbstractMethodError at org.eclipse.jdt.launching.VMStandin.<init>(VMStandin.java:65) at org.eclipse.jdt.internal.debug.ui.jres.InstalledJREsBlock.fillWithWorkspaceJREs(InstalledJREsBlock.java:918) at org.eclipse.jdt.internal.debug.ui.jres.InstalledJREsBlock.createControl(InstalledJREsBlock.java:378) at org.eclipse.jdt.internal.debug.ui.jres.JREsPreferencePage.createContents(JREsPreferencePage.java:98) at org.eclipse.jface.preference.PreferencePage.createControl(PreferencePage.java:232) at org.eclipse.jface.preference.PreferenceDialog.createPageControl(PreferenceDialog.java:1376) at org.eclipse.jface.preference.PreferenceDialog$12.run(PreferenceDialog.java:1139) at org.eclipse.core.internal.runtime.InternalPlatform.run(InternalPlatform.java:1038) at org.eclipse.core.runtime.Platform.run(Platform.java:775) at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:44) at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:148) at org.eclipse.jface.preference.PreferenceDialog.showPage(PreferenceDialog.java:1133) at org.eclipse.ui.internal.dialogs.FilteredPreferenceDialog.showPage(FilteredPreferenceDialog.java:351) at org.eclipse.jface.preference.PreferenceDialog$8.selectionChanged(PreferenceDialog.java:639) at org.eclipse.jface.viewers.StructuredViewer$3.run(StructuredViewer.java:763) at org.eclipse.core.internal.runtime.InternalPlatform.run(InternalPlatform.java:1038) at org.eclipse.core.runtime.Platform.run(Platform.java:775) at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:44) at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:148) at org.eclipse.jface.viewers.StructuredViewer.firePostSelectionChanged(StructuredViewer.java:761) at org.eclipse.jface.viewers.StructuredViewer.handlePostSelect(StructuredViewer.java:1042) at org.eclipse.jface.viewers.StructuredViewer$5.widgetSelected(StructuredViewer.java:1062) at org.eclipse.jface.util.OpenStrategy.firePostSelectionEvent(OpenStrategy.java:231) at org.eclipse.jface.util.OpenStrategy.access$4(OpenStrategy.java:226) at org.eclipse.jface.util.OpenStrategy$3.run(OpenStrategy.java:392) at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35) at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:118) at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:2906) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2565) at org.eclipse.jface.window.Window.runEventLoop(Window.java:809) at org.eclipse.jface.window.Window.open(Window.java:787) at org.eclipse.ui.internal.OpenPreferencesAction.run(OpenPreferencesAction.java:66) at org.eclipse.jface.action.Action.runWithEvent(Action.java:996) at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:538) 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:844) at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:2929) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2562) at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1694) at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1658) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:366) at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:143) at org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplication.java:103) at org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformActivator.java:226) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:375) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:162) 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.core.launcher.Main.invokeFramework(Main.java:334) at org.eclipse.core.launcher.Main.basicRun(Main.java:278) at org.eclipse.core.launcher.Main.run(Main.java:973) at org.eclipse.core.launcher.Main.main(Main.java:948) Session data: eclipse.buildId=I20050527-1300 java.version=1.5.0_03 java.vendor=Sun Microsystems Inc. BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=en_US Command-line arguments: -os win32 -ws win32 -arch x86 When finally getting to the "Installed JREs" window, it would either A) let me go through the process of finding and trying to install them, but nothing shows up on the list after anything is added B) it lets me add them and check which one HOwever, in both cases when I go back to the window nothing is in the list. During the process of playing with this i got a couple of other error messages as well: Problems occurred when invoking code from plug-in: "org.eclipse.core.runtime". java.lang.AbstractMethodError at org.eclipse.jdt.launching.VMStandin.convertToRealVM(VMStandin.java:92) at org.eclipse.jdt.internal.launching.LaunchingPlugin.processVMPrefsChanged(LaunchingPlugin.java:596) at org.eclipse.jdt.internal.launching.LaunchingPlugin.propertyChange(LaunchingPlugin.java:526) at org.eclipse.core.runtime.Preferences$1.run(Preferences.java:497) at org.eclipse.core.internal.runtime.InternalPlatform.run(InternalPlatform.java:1038) at org.eclipse.core.runtime.Platform.run(Platform.java:775) at org.eclipse.core.runtime.Preferences.firePropertyChangeEvent(Preferences.java:500) at org.eclipse.core.internal.preferences.PreferenceForwarder.setValue(PreferenceForwarder.java:648) at org.eclipse.jdt.internal.debug.ui.jres.JREsUpdater$1.run(JREsUpdater.java:89) at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:113) Session Data: eclipse.buildId=I20050527-1300 java.version=1.5.0_03 java.vendor=Sun Microsystems Inc. BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=en_US Command-line arguments: -os win32 -ws win32 -arch x86 This one seems like it's nokia specific, but I wasn't even using any of the emulators or anything, I was just trying to install the various JREs. Problems occurred when invoking code from plug-in: "org.eclipse.jface". java.lang.AbstractMethodError: com.nokia.phone.tools.sdk.plugin.eclipse.UEIEmulatorInstall.getVMArgs()Ljava/lang/String; at org.eclipse.jdt.internal.launching.VMDefinitionsContainer.vmAsElement(VMDefinitionsContainer.java:319) at org.eclipse.jdt.internal.launching.VMDefinitionsContainer.vmTypeAsElement(VMDefinitionsContainer.java:281) at org.eclipse.jdt.internal.launching.VMDefinitionsContainer.getAsXML(VMDefinitionsContainer.java:259) at org.eclipse.jdt.launching.JavaRuntime.getVMsAsXML(JavaRuntime.java:1326) at org.eclipse.jdt.launching.JavaRuntime.saveVMConfiguration(JavaRuntime.java:1285) at org.eclipse.jdt.launching.JavaRuntime.getDefaultVMInstall(JavaRuntime.java:421) at org.eclipse.jdt.internal.debug.ui.jres.JREsUpdater.<init>(JREsUpdater.java:40) at org.eclipse.jdt.internal.debug.ui.jres.JREsPreferencePage$2.run(JREsPreferencePage.java:133) at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:69) at org.eclipse.jdt.internal.debug.ui.jres.JREsPreferencePage.performOk(JREsPreferencePage.java:129) at org.eclipse.jface.preference.PreferenceDialog$11.run(PreferenceDialog.java:863) at org.eclipse.core.internal.runtime.InternalPlatform.run(InternalPlatform.java:1038) at org.eclipse.core.runtime.Platform.run(Platform.java:775) at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:44) at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:148) at org.eclipse.jface.preference.PreferenceDialog.okPressed(PreferenceDialog.java:843) at org.eclipse.ui.internal.dialogs.FilteredPreferenceDialog.okPressed(FilteredPreferenceDialog.java:296) at org.eclipse.ui.internal.dialogs.WorkbenchPreferenceDialog.okPressed(WorkbenchPreferenceDialog.java:153) at org.eclipse.jface.preference.PreferenceDialog.buttonPressed(PreferenceDialog.java:227) at org.eclipse.jface.dialogs.Dialog$2.widgetSelected(Dialog.java:556) at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:89) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:844) at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:2929) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2562) at org.eclipse.jface.window.Window.runEventLoop(Window.java:809) at org.eclipse.jface.window.Window.open(Window.java:787) at org.eclipse.ui.internal.OpenPreferencesAction.run(OpenPreferencesAction.java:66) at org.eclipse.jface.action.Action.runWithEvent(Action.java:996) at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:538) 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:844) at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:2929) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2562) at org.eclipse.jface.window.Window.runEventLoop(Window.java:809) at org.eclipse.jface.window.Window.open(Window.java:787) at org.eclipse.pde.internal.runtime.logview.EventDetailsDialog.open(EventDetailsDialog.java:152) at org.eclipse.pde.internal.runtime.logview.EventDetailsDialogAction.run(EventDetailsDialogAction.java:91) at org.eclipse.pde.internal.runtime.logview.LogView$12.doubleClick(LogView.java:336) at org.eclipse.jface.viewers.StructuredViewer$1.run(StructuredViewer.java:720) at org.eclipse.core.internal.runtime.InternalPlatform.run(InternalPlatform.java:1038) at org.eclipse.core.runtime.Platform.run(Platform.java:775) at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:44) at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:148) at org.eclipse.jface.viewers.StructuredViewer.fireDoubleClick(StructuredViewer.java:718) at org.eclipse.jface.viewers.StructuredViewer.handleDoubleSelect(StructuredViewer.java:950) at org.eclipse.jface.viewers.StructuredViewer$4.widgetDefaultSelected(StructuredViewer.java:1057) at org.eclipse.jface.util.OpenStrategy.fireDefaultSelectionEvent(OpenStrategy.java:219) at org.eclipse.jface.util.OpenStrategy.access$0(OpenStrategy.java:216) at org.eclipse.jface.util.OpenStrategy$1.handleEvent(OpenStrategy.java:275) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:844) at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:2929) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2562) at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1694) at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1658) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:366) at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:143) at org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplication.java:103) at org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformActivator.java:226) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:375) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:162) 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.core.launcher.Main.invokeFramework(Main.java:334) at org.eclipse.core.launcher.Main.basicRun(Main.java:278) at org.eclipse.core.launcher.Main.run(Main.java:973) at org.eclipse.core.launcher.Main.main(Main.java:948) I guess the session data is the same for all of these. So needless to say with these errors I didn't get a chance to see if the Debug error was or wasn't occuring with the 3.1 build. I kept my old version around so I'm going to keep working on that. I hope this helps. Mike
org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/wizards/buildpaths/BuildPathSupport.java
public IPath getPath() {
			return fOriginal.getPath();
		}
	}
	
	/**
	 * Apply a modified classpath entry to the classpath. The classpath entry can also be from a classpath container.
	 * @param shell If not null and the entry could not be found on the projects classpath, a dialog will ask to put the entry on the classpath
	 * @param newEntry The modified entry. The entry's kind or path must be unchanged.
	 * @param jproject Project where the entry belongs to
	 * @param containerPath The path of the entry's parent container or <code>null</code> if the entry is not in a container
	 * @param monitor The progress monitor to use
	 * @throws CoreException
	 */
	public static void modifyClasspathEntry(Shell shell, IClasspathEntry newEntry, IJavaProject jproject, IPath containerPath, IProgressMonitor monitor) throws CoreException {
		if (containerPath != null) {
			updateContainerClasspath(jproject, containerPath, newEntry, monitor);
		} else {
			updateProjectClasspath(shell, jproject, newEntry, monitor);
		}
	}
	private static void updateContainerClasspath(IJavaProject jproject, IPath containerPath, IClasspathEntry newEntry, IProgressMonitor monitor) throws CoreException {
		IClasspathContainer container= JavaCore.getClasspathContainer(containerPath, jproject);
		if (container == null) {
			throw new CoreException(new Status(IStatus.ERROR, JavaUI.ID_PLUGIN, IStatus.ERROR, "Container " + containerPath + " cannot be resolved", null));  
		}
		IClasspathEntry[] entries= container.getClasspathEntries();
		IClasspathEntry[] newEntries= new IClasspathEntry[entries.length];
		for (int i= 0; i < entries.length; i++) {
			IClasspathEntry curr= entries[i];