Community
Participate
Working Groups
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)
While its possible we broke restart with command changes, I'm more suspicious of the state we're left in post p2 update.
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.
Still suspicious. I've done many restarts as part of testing accessibility (high contrast switch requires restart). Paul, thoughts?
Eric, Paul says you've looked at bugs in this area recently.
The issue here is that the user didn't restart - something is likely not reacting well to dynamic changes.
(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.
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...
Unfortunately the already beaten up P2 is going to get blamed for this.
Bring it on! It is not like if we are not used to it now ;-)
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 ***