Community
Participate
Working Groups
BuildId: I20130108-0800 I'm getting plenty of these exceptions in my log: java.lang.NullPointerException at org.eclipse.ui.internal.WorkbenchPage.getViewStack(WorkbenchPage.java:3973) at org.eclipse.debug.internal.ui.views.ViewContextService$ViewBinding.checkZOrder(ViewContextService.java:517) at org.eclipse.debug.internal.ui.views.ViewContextService$DebugContextViewBindings.doActivation(ViewContextService.java:264) at org.eclipse.debug.internal.ui.views.ViewContextService$DebugContextViewBindings.activateChain(ViewContextService.java:235) at org.eclipse.debug.internal.ui.views.ViewContextService.activateChain(ViewContextService.java:1011) at org.eclipse.debug.internal.ui.views.ViewContextService.contextActivated(ViewContextService.java:838) at org.eclipse.debug.internal.ui.views.ViewContextService.contextManagerChanged(ViewContextService.java:1085) at org.eclipse.core.commands.contexts.ContextManager.fireContextManagerChanged(ContextManager.java:165) at org.eclipse.core.commands.contexts.ContextManager.setActiveContextIds(ContextManager.java:295) at org.eclipse.e4.ui.internal.services.ContextContextService.getActiveContextIds(ContextContextService.java:179) at org.eclipse.ui.internal.contexts.ContextService.getActiveContextIds(ContextService.java:273) at org.eclipse.ui.internal.contexts.ActiveContextSourceProvider.getCurrentState(ActiveContextSourceProvider.java:68) at org.eclipse.ui.internal.contexts.ActiveContextSourceProvider.contextManagerChanged(ActiveContextSourceProvider.java:50) at org.eclipse.core.commands.contexts.ContextManager.fireContextManagerChanged(ContextManager.java:165) at org.eclipse.core.commands.contexts.ContextManager.addActiveContext(ContextManager.java:109) at org.eclipse.ui.internal.contexts.ContextAuthority.updateContext(ContextAuthority.java:756) at org.eclipse.ui.internal.contexts.ContextAuthority.activateContext(ContextAuthority.java:173) at org.eclipse.ui.internal.contexts.ContextService.activateContext(ContextService.java:174) at org.eclipse.ui.internal.contexts.ContextService.activateContext(ContextService.java:104) at org.eclipse.debug.internal.ui.contexts.DebugModelContextBindingManager.activateContext(DebugModelContextBindingManager.java:269) at org.eclipse.debug.internal.ui.contexts.DebugModelContextBindingManager.activateModel(DebugModelContextBindingManager.java:256) at org.eclipse.debug.internal.ui.contexts.DebugModelContextBindingManager.activated(DebugModelContextBindingManager.java:227) at org.eclipse.debug.internal.ui.contexts.DebugModelContextBindingManager.debugContextChanged(DebugModelContextBindingManager.java:190) at org.eclipse.debug.internal.ui.contexts.DebugWindowContextService$1.run(DebugWindowContextService.java:211) at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) at org.eclipse.debug.internal.ui.contexts.DebugWindowContextService.notify(DebugWindowContextService.java:209) at org.eclipse.debug.internal.ui.contexts.DebugWindowContextService.notify(DebugWindowContextService.java:184) at org.eclipse.debug.internal.ui.contexts.DebugWindowContextService.debugContextChanged(DebugWindowContextService.java:407) at org.eclipse.debug.ui.contexts.AbstractDebugContextProvider$1.run(AbstractDebugContextProvider.java:79) at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) at org.eclipse.debug.ui.contexts.AbstractDebugContextProvider.fire(AbstractDebugContextProvider.java:77) at org.eclipse.debug.internal.ui.views.launch.LaunchView$ContextProviderProxy.debugContextChanged(LaunchView.java:506) at org.eclipse.debug.ui.contexts.AbstractDebugContextProvider$1.run(AbstractDebugContextProvider.java:79) at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) at org.eclipse.debug.ui.contexts.AbstractDebugContextProvider.fire(AbstractDebugContextProvider.java:77) at org.eclipse.debug.internal.ui.views.launch.LaunchView$TreeViewerContextProvider.activate(LaunchView.java:371) at org.eclipse.debug.internal.ui.views.launch.LaunchView$1.selectionChanged(LaunchView.java:468) at org.eclipse.jface.viewers.Viewer$2.run(Viewer.java:164) at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:49) at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:175) at org.eclipse.jface.viewers.Viewer.fireSelectionChanged(Viewer.java:162) at org.eclipse.jface.viewers.StructuredViewer.updateSelection(StructuredViewer.java:2188) at org.eclipse.jface.viewers.StructuredViewer.setSelection(StructuredViewer.java:1725) at org.eclipse.jface.viewers.TreeViewer.setSelection(TreeViewer.java:1139) at org.eclipse.debug.internal.ui.viewers.model.InternalTreeModelViewer.trySelection(InternalTreeModelViewer.java:1047) at org.eclipse.debug.internal.ui.viewers.model.TreeModelContentProvider.handleSelect(TreeModelContentProvider.java:1521) at org.eclipse.debug.internal.ui.viewers.model.TreeModelContentProvider.updateNodes(TreeModelContentProvider.java:1173) at org.eclipse.debug.internal.ui.viewers.model.TreeModelContentProvider.updateNodes(TreeModelContentProvider.java:1178) at org.eclipse.debug.internal.ui.viewers.model.TreeModelContentProvider.updateNodes(TreeModelContentProvider.java:1178) at org.eclipse.debug.internal.ui.viewers.model.TreeModelContentProvider.updateNodes(TreeModelContentProvider.java:1178) at org.eclipse.debug.internal.ui.viewers.model.TreeModelContentProvider.updateNodes(TreeModelContentProvider.java:1178) at org.eclipse.debug.internal.ui.viewers.model.TreeModelContentProvider.updateModel(TreeModelContentProvider.java:437) at org.eclipse.debug.internal.ui.viewers.model.TreeModelContentProvider.doModelChanged(TreeModelContentProvider.java:407) at org.eclipse.debug.internal.ui.viewers.model.TreeModelContentProvider.access$0(TreeModelContentProvider.java:401) at org.eclipse.debug.internal.ui.viewers.model.TreeModelContentProvider$2.run(TreeModelContentProvider.java:389) at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35) at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:135) at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3680) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3329) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:1049) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:939) at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:79) at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:587) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:542) at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149) at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:124) at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196) 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:353) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:180) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:601) at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:629) at org.eclipse.equinox.launcher.Main.basicRun(Main.java:584) at org.eclipse.equinox.launcher.Main.run(Main.java:1443) No idea what triggers it, and at first sight it doesn't seem to do harm. OTOH, I'm also observing that the key bindings for F5-F8 at some point stop working, no idea if there could possibly be a connection between them two?
As the error proved quite sticky I played more with it: - I got the exception like everytime the debug view got the focus - keybindings F5-F8 were entirely broken The bad state persisted across restarting eclipse. Finally, resetting the perspective fixed both problems. I re-arranged the perspective approximately as I had it before. So far I didn't find a way back into the bad state. The only thing I cannot easily retry: I had in the debug perspective a (minimized) view from a plug-in that was previously installed and currently is not installed. That view caused an error to be logged (icon not found) and that error caused the Errors view to open from minimized state.
Looks like there's been some changes in WorkbenchPart recently which I can't claim to be make sense of. Reassigning to UI for comment.
Eric, maybe that caused MPart siblingPart = child instanceof MPart ? (MPart) child : (MPart) ((MPlaceholder) child).getRef(); to return null from getRef() ? PW
*** Bug 409266 has been marked as a duplicate of this bug. ***
I got this (different source line in WorkbenchPage): Eclipse Standard/SDK Version: Kepler Release Build id: 20130614-0229 I also got that while switching to debug mode. I also lost key bindings of debug mode. Stack trace: java.lang.NullPointerException at org.eclipse.ui.internal.WorkbenchPage.getViewStack(WorkbenchPage.java:4317) at org.eclipse.debug.internal.ui.views.ViewContextService$ViewBinding.checkZOrder(ViewContextService.java:517) at org.eclipse.debug.internal.ui.views.ViewContextService$DebugContextViewBindings.doActivation(ViewContextService.java:264) at org.eclipse.debug.internal.ui.views.ViewContextService$DebugContextViewBindings.activateChain(ViewContextService.java:235) at org.eclipse.debug.internal.ui.views.ViewContextService.activateChain(ViewContextService.java:1011) at org.eclipse.debug.internal.ui.views.ViewContextService.contextActivated(ViewContextService.java:838) at org.eclipse.debug.internal.ui.views.ViewContextService.contextManagerChanged(ViewContextService.java:1085) at org.eclipse.core.commands.contexts.ContextManager.fireContextManagerChanged(ContextManager.java:165) at org.eclipse.core.commands.contexts.ContextManager.setActiveContextIds(ContextManager.java:295) at org.eclipse.e4.ui.services.ContextServiceAddon$1.changed(ContextServiceAddon.java:47) at org.eclipse.e4.core.internal.contexts.TrackableComputationExt.update(TrackableComputationExt.java:110) at org.eclipse.e4.core.internal.contexts.EclipseContext.processScheduled(EclipseContext.java:328) at org.eclipse.e4.core.internal.contexts.EclipseContext.set(EclipseContext.java:342) at org.eclipse.e4.core.internal.contexts.EclipseContext.activate(EclipseContext.java:625) at org.eclipse.e4.ui.internal.workbench.PartActivationHistory.activate(PartActivationHistory.java:56) at org.eclipse.e4.ui.internal.workbench.PartServiceImpl.activate(PartServiceImpl.java:588) at org.eclipse.e4.ui.internal.workbench.PartServiceImpl.switchPerspective(PartServiceImpl.java:495) at org.eclipse.e4.ui.workbench.renderers.swt.PerspectiveStackRenderer.showTab(PerspectiveStackRenderer.java:124) at org.eclipse.e4.ui.workbench.renderers.swt.LazyStackRenderer$1.handleEvent(LazyStackRenderer.java:66) at org.eclipse.e4.ui.services.internal.events.UIEventHandler$1.run(UIEventHandler.java:41) at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:180) at org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchronizer.java:150) at org.eclipse.swt.widgets.Display.syncExec(Display.java:4688) at org.eclipse.e4.ui.internal.workbench.swt.E4Application$1.syncExec(E4Application.java:205) at org.eclipse.e4.ui.services.internal.events.UIEventHandler.handleEvent(UIEventHandler.java:38) at org.eclipse.equinox.internal.event.EventHandlerWrapper.handleEvent(EventHandlerWrapper.java:197) at org.eclipse.equinox.internal.event.EventHandlerTracker.dispatchEvent(EventHandlerTracker.java:197) at org.eclipse.equinox.internal.event.EventHandlerTracker.dispatchEvent(EventHandlerTracker.java:1) at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230) at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:148) at org.eclipse.equinox.internal.event.EventAdminImpl.dispatchEvent(EventAdminImpl.java:135) at org.eclipse.equinox.internal.event.EventAdminImpl.sendEvent(EventAdminImpl.java:78) at org.eclipse.equinox.internal.event.EventComponent.sendEvent(EventComponent.java:39) at org.eclipse.e4.ui.services.internal.events.EventBroker.send(EventBroker.java:80) at org.eclipse.e4.ui.internal.workbench.UIEventPublisher.notifyChanged(UIEventPublisher.java:58) at org.eclipse.emf.common.notify.impl.BasicNotifierImpl.eNotify(BasicNotifierImpl.java:374) at org.eclipse.e4.ui.model.application.ui.advanced.impl.PerspectiveStackImpl.setSelectedElement(PerspectiveStackImpl.java:135) at org.eclipse.e4.ui.model.application.ui.advanced.impl.PerspectiveStackImpl.setSelectedElement(PerspectiveStackImpl.java:1) at org.eclipse.ui.internal.WorkbenchPage.setPerspective(WorkbenchPage.java:3893) at org.eclipse.ui.internal.Workbench.showPerspective(Workbench.java:2869) at org.eclipse.ui.internal.Workbench.showPerspective(Workbench.java:2809) at org.eclipse.debug.internal.ui.launchConfigurations.PerspectiveManager.switchToPerspective(PerspectiveManager.java:367) at org.eclipse.debug.internal.ui.launchConfigurations.PerspectiveManager$5.runInUIThread(PerspectiveManager.java:446) at org.eclipse.debug.internal.ui.launchConfigurations.PerspectiveManager$1.run(PerspectiveManager.java:211) at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35) at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:135) at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4145) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3762) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:1113) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:997) at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:138) at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:610) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:567) at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150) at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:124) at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196) 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:354) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:181) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:601) at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:636) at org.eclipse.equinox.launcher.Main.basicRun(Main.java:591) at org.eclipse.equinox.launcher.Main.run(Main.java:1450)
*** Bug 415625 has been marked as a duplicate of this bug. ***
*** Bug 416685 has been marked as a duplicate of this bug. ***
a reminder that duplicate bug 415625 has some more details on what might have triggered this. Sorry I filed the duplicate in the first place, couldn't remember my own bug report :-/
Ping For me the loss of debug key bindings is currently the primary annoyance in Eclipse.
Please, give us back the debugger key bindings. Without these it's becoming a health problem actually. More than a year now, since the initial report :(
My JDT development workspace got into a state where debugger key bindings stop working entirely. None of the typical workarounds succeed in bringing them back. Since mousing through extended debug sessions *is* a health problem for me, this bug sadly has an impact on the efforts I can put into support for Java 8. Just saying.
(In reply to Stephan Herrmann from comment #11) > My JDT development workspace got into a state where debugger key bindings > stop working entirely. None of the typical workarounds succeed in bringing > them back. > > Since mousing through extended debug sessions *is* a health problem for me, > this bug sadly has an impact on the efforts I can put into support for Java > 8. Just saying. Please provide a way to reproduce this. I never see it in my SDK (available at http://download.eclipse.org/eclipse/downloads/ ), and as of now it *is not* included in 4.4. PW
In the meantime I can take a look at providing an NPE guard (fail gracefully) if you can post a stack trace based on 4.4 M5 PW
Regarding reproducing: have you seen the observations in duplicates of this bug? Candidates to have an impact: Mylyn, Classic Theme (from my side - I don't know what setups all the reporters of duplicates have). Regarding stack trace based on 4.4 M5: JDT development is based on Kepler SR1 + BETA_J8 patch. Before Java 8 GA, Luna is not our dog-fooding baseline. Nevertheless, I'll create a non-dogfooding workspace with Luna M5, to see if either this lets me continue debugging or produce a Luna-based Stacktrace.
(In reply to comment #13) > In the meantime I can take a look at providing an NPE guard (fail gracefully) if > you can post a stack trace based on 4.4 M5 > > PW Line 4301. I'm working on an NPE guard.
NPE guard pushed to Gerrit for review (master): https://git.eclipse.org/r/21813 Stephan: The offending line in the R4_3_maintenance (Kepler) branch is 4312 of WorkbenchPage (plug-in org.eclipse.ui.workbench). Can you try patching it in your environment?
(In reply to Paul Elder from comment #16) > NPE guard pushed to Gerrit for review (master): > > https://git.eclipse.org/r/21813 > NPE guard pushed to master as: https://git.eclipse.org/c/platform/eclipse.platform.ui.git/commit/?id=bce7ea01cfb590965f44d702ae0a6f22fe2cc7e3
(In reply to Paul Elder from comment #16) > NPE guard pushed to Gerrit for review (master): > > https://git.eclipse.org/r/21813 > > Stephan: The offending line in the R4_3_maintenance (Kepler) branch is 4312 > of WorkbenchPage (plug-in org.eclipse.ui.workbench). Can you try patching it > in your environment? Allright, I created a local branch from R4_3_1 (to be compatible with the rest of my install), cherry picked your commit from master, added logging in case siblingPart is seen to be null, and here's the result: - The logging occurs - Debugging keys work I tried with perspective switch, with automatic overlay of a minimized JUnit view (on activation): more logging of siblingPart being null occurred, but key bindings survived all this. I'll keep watching if anything got broken by this patch ... Thanks a lot, Paul!
(In reply to Stephan Herrmann from comment #18) > Allright, I created a local branch from R4_3_1 (to be compatible with the > rest of my install), cherry picked your commit from master, added logging in > case siblingPart is seen to be null, and here's the result: > > - The logging occurs > - Debugging keys work > > I tried with perspective switch, with automatic overlay of a minimized JUnit > view (on activation): more logging of siblingPart being null occurred, but > key bindings survived all this. Sounds like this solves the problem. It's pretty low risk, removing a piece of model with no link from consideration. If we want to get this into 4.3.2, we need to do that today (the build would be tomorrow morning 08:00 EST) PW
(In reply to Paul Webster from comment #19) > (In reply to Stephan Herrmann from comment #18) > > Allright, I created a local branch from R4_3_1 (to be compatible with the > > rest of my install), cherry picked your commit from master, added logging in > > case siblingPart is seen to be null, and here's the result: > > > > - The logging occurs > > - Debugging keys work > > > > I tried with perspective switch, with automatic overlay of a minimized JUnit > > view (on activation): more logging of siblingPart being null occurred, but > > key bindings survived all this. > > Sounds like this solves the problem. It's pretty low risk, removing a piece > of model with no link from consideration. > > If we want to get this into 4.3.2, we need to do that today (the build would > be tomorrow morning 08:00 EST) > > PW Note that as per http://www.eclipse.org/eclipse/development/plans/freeze_plan_4_3_2.php you need to send a message to eclipse-pmc@eclipse.org if you want to include this in RC4. If we can confirm that it solves the problem then you have my PMC +1. You can mention this in your note to the pmc mailing list.
With https://git.eclipse.org/c/platform/eclipse.platform.ui.git/commit/?id=bce7ea01cfb590965f44d702ae0a6f22fe2cc7e3 PW
> Note that as per > http://www.eclipse.org/eclipse/development/plans/freeze_plan_4_3_2.php you > need to send a message to eclipse-pmc@eclipse.org if you want to include > this in RC4. > > If we can confirm that it solves the problem then you have my PMC +1. You > can mention this in your note to the pmc mailing list. So does that mean the fix is in 4.3.2?
(In reply to Christian Georgi from comment #22) > > So does that mean the fix is in 4.3.2? It will be, see Bug 427924 PW
> It will be, see Bug 427924 > > PW Thanks!
In 4.4.0.I20140303-2000 PW