Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 233617 - [Commands] NotDefinedException resetting perspective after update installation
Summary: [Commands] NotDefinedException resetting perspective after update installation
Status: RESOLVED DUPLICATE of bug 218197
Alias: None
Product: Platform
Classification: Eclipse Project
Component: UI (show other bugs)
Version: 3.4   Edit
Hardware: PC Windows XP
: P3 normal (vote)
Target Milestone: ---   Edit
Assignee: Eric Moffatt CLA
QA Contact: Eric Moffatt CLA
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-05-23 03:36 EDT by Andreas Goetz CLA
Modified: 2009-03-05 13:58 EST (History)
4 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Andreas Goetz CLA 2008-05-23 03:36:56 EDT
Build ID: I20080516-1333

Steps To Reproduce:
This is probably hard to reproduce and not such a big issue, but I was forced to kill Eclipse.

Running 3.4RC1 with Mylyn 2.3 installed, p2 deteced the Mylyn 3.0 upgrade and installed. When finishing I chose to "Apply Updates".
This triggered a dialog about "..reset perspective" (sorry, exact text not clear". I chose No which triggered the NPE below.

The problem is that OKing the NPE is not possible- the aplication is stuck at that point. I've CCed Mik to see if this has any Mylyn specifics.

More information:
!SESSION 2008-05-23 09:22:53.578 -----------------------------------------------
eclipse.buildId=I20080516-1333
java.version=1.6.0_05
java.vendor=Sun Microsystems Inc.
BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=de_DE
Command-line arguments:  -os win32 -ws win32 -arch x86

This is a continuation of log file C:\Delphi\workspace\.metadata\.bak_1.log
Created Time: 2008-05-23 09:30:19.703

!ENTRY org.eclipse.ui 4 4 2008-05-23 09:30:19.703
!MESSAGE Update item failed org.eclipse.ui.file.restartWorkbench

!ENTRY org.eclipse.ui 4 4 2008-05-23 09:30:19.703
!MESSAGE Update item failed org.eclipse.ui.file.restartWorkbench
!STACK 0
org.eclipse.core.commands.common.NotDefinedException: Cannot get the name from an undefined object. org.eclipse.ui.file.restartWorkbench
	at org.eclipse.core.commands.common.NamedHandleObject.getName(NamedHandleObject.java:71)
	at org.eclipse.core.commands.NamedHandleObjectWithState.getName(NamedHandleObjectWithState.java:83)
	at org.eclipse.ui.menus.CommandContributionItem.update(CommandContributionItem.java:455)
	at org.eclipse.jface.action.MenuManager.update(MenuManager.java:869)
	at org.eclipse.jface.action.MenuManager.update(MenuManager.java:869)
	at org.eclipse.ui.internal.Workbench.updateActiveWorkbenchWindowMenuManager(Workbench.java:3017)
	at org.eclipse.ui.internal.Workbench.access$0(Workbench.java:2977)
	at org.eclipse.ui.internal.Workbench$2.bindingManagerChanged(Workbench.java:2963)
	at org.eclipse.jface.bindings.BindingManager.fireBindingManagerChanged(BindingManager.java:900)
	at org.eclipse.jface.bindings.BindingManager.setActiveBindings(BindingManager.java:2176)
	at org.eclipse.jface.bindings.BindingManager.recomputeBindings(BindingManager.java:1742)
	at org.eclipse.jface.bindings.BindingManager.contextManagerChanged(BindingManager.java:689)
	at org.eclipse.core.commands.contexts.ContextManager.fireContextManagerChanged(ContextManager.java:152)
	at org.eclipse.core.commands.contexts.ContextManager.setEventCaching(ContextManager.java:311)
	at org.eclipse.core.commands.contexts.ContextManager.addActiveContext(ContextManager.java:80)
	at org.eclipse.ui.internal.contexts.ContextAuthority.sourceChanged(ContextAuthority.java:682)
	at org.eclipse.ui.internal.services.ExpressionAuthority.sourceChanged(ExpressionAuthority.java:309)
	at org.eclipse.ui.internal.services.ExpressionAuthority.sourceChanged(ExpressionAuthority.java:289)
	at org.eclipse.ui.AbstractSourceProvider.fireSourceChanged(AbstractSourceProvider.java:99)
	at org.eclipse.ui.internal.services.ActiveShellSourceProvider.access$13(ActiveShellSourceProvider.java:1)
	at org.eclipse.ui.internal.services.ActiveShellSourceProvider$3.handleEvent(ActiveShellSourceProvider.java:302)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
	at org.eclipse.swt.widgets.Display.filterEvent(Display.java:1162)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1001)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1026)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1007)
	at org.eclipse.swt.widgets.Decorations.WM_ACTIVATE(Decorations.java:1601)
	at org.eclipse.swt.widgets.Shell.WM_ACTIVATE(Shell.java:2008)
	at org.eclipse.swt.widgets.Control.windowProc(Control.java:3779)
	at org.eclipse.swt.widgets.Canvas.windowProc(Canvas.java:334)
	at org.eclipse.swt.widgets.Decorations.windowProc(Decorations.java:1564)
	at org.eclipse.swt.widgets.Shell.windowProc(Shell.java:1932)
	at org.eclipse.swt.widgets.Display.windowProc(Display.java:4506)
	at org.eclipse.swt.internal.win32.OS.DestroyWindow(Native Method)
	at org.eclipse.swt.widgets.Control.destroyWidget(Control.java:659)
	at org.eclipse.swt.widgets.Shell.destroyWidget(Shell.java:654)
	at org.eclipse.swt.widgets.Widget.release(Widget.java:813)
	at org.eclipse.swt.widgets.Widget.dispose(Widget.java:440)
	at org.eclipse.swt.widgets.Decorations.dispose(Decorations.java:445)
	at org.eclipse.swt.widgets.Shell.dispose(Shell.java:671)
	at org.eclipse.jface.window.Window.close(Window.java:335)
	at org.eclipse.jface.dialogs.Dialog.close(Dialog.java:979)
	at org.eclipse.jface.dialogs.TrayDialog.close(TrayDialog.java:143)
	at org.eclipse.jface.window.Window.handleShellCloseEvent(Window.java:741)
	at org.eclipse.jface.window.Window$3.shellClosed(Window.java:687)
	at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:91)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1002)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1026)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1011)
	at org.eclipse.swt.widgets.Decorations.closeWidget(Decorations.java:306)
	at org.eclipse.swt.widgets.Shell.close(Shell.java:494)
	at org.eclipse.swt.widgets.Shell.traverseEscape(Shell.java:1814)
	at org.eclipse.swt.widgets.Control.traverse(Control.java:3499)
	at org.eclipse.swt.widgets.Control.translateTraversal(Control.java:3476)
	at org.eclipse.swt.widgets.Display.translateTraversal(Display.java:4336)
	at org.eclipse.swt.widgets.Display.filterMessage(Display.java:1176)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3396)
	at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2387)
	at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2351)
	at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2203)
	at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:493)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:288)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:488)
	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:112)
	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:193)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:379)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
	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(Main.java:549)
	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:504)
	at org.eclipse.equinox.launcher.Main.run(Main.java:1236)
Comment 1 Kevin McGuire CLA 2008-05-23 09:40:58 EDT
While its possible we broke restart with command changes, I'm more suspicious of the state we're left in post p2 update.  
Comment 2 Pascal Rapicault CLA 2008-05-23 09:55:24 EDT
If the application restarts fine, then it is not p2's fault. Since it means that the proper set of plug-ins is listed into the bundles.info.
I'm questioning the dynamic ability of the workbench code.
Comment 3 Kevin McGuire CLA 2008-05-23 10:15:03 EDT
Still suspicious. I've done many restarts as part of testing accessibility (high contrast switch requires restart).

Paul, thoughts?
Comment 4 Kevin McGuire CLA 2008-05-23 10:20:59 EDT
Eric, Paul says you've looked at bugs in this area recently.
Comment 5 John Arthorne CLA 2008-05-23 15:07:53 EDT
The issue here is that the user didn't restart - something is likely not reacting well to dynamic changes.
Comment 6 Kevin McGuire CLA 2008-05-23 15:32:48 EDT
(In reply to comment #5)
> The issue here is that the user didn't restart - something is likely not
> reacting well to dynamic changes.

Ah thanks missed that in the initial description.


Comment 7 Eric Moffatt CLA 2008-05-24 08:40:55 EDT
There are still quite a few edge conditions that our current dynamic handling story doesn't handle. I doubt that we'll be able to cover them in 3.4...

Moving to 3.5. This is an area where an overhaul of dynamics story would be good; we should come up with a viable strategy and then map -all- out extension point handling to it...
Comment 8 Kevin McGuire CLA 2008-05-26 13:02:30 EDT
Unfortunately the already beaten up P2 is going to get blamed for this.
Comment 9 Pascal Rapicault CLA 2008-05-26 14:22:27 EDT
Bring it on! It is not like if we are not used to it now ;-)
Comment 10 Eric Moffatt CLA 2009-03-05 13:58:16 EST
Move back to triage...This is another 'handle dynamic bundle changes more elegantly use case...I'll mark this one as a DUP of 218197.


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