Community
Participate
Working Groups
In RC2 I get this quite often exiting the runtime workbench. When it starts, I have the Ecore editor open, I click in the editor, and then I exit. I'm happy to screen share to debug it if that would help. !ENTRY org.eclipse.ui.workbench 4 2 2008-05-28 12:56:05.169 !MESSAGE Problems occurred when invoking code from plug-in: "org.eclipse.ui.workbench". !STACK 0 java.lang.NullPointerException: Cannot set a null prefix table at org.eclipse.jface.bindings.CachedBindingSet.setPrefixTable(CachedBindingSet.java:346) at org.eclipse.jface.bindings.BindingManager.recomputeBindings(BindingManager.java:1765) 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.removeActiveContext(ContextManager.java:232) at org.eclipse.ui.internal.contexts.ContextAuthority.updateContext(ContextAuthority.java:767) at org.eclipse.ui.internal.contexts.ContextAuthority.deactivateContext(ContextAuthority.java:362) at org.eclipse.ui.internal.contexts.ContextService.deactivateContext(ContextService.java:140) at org.eclipse.ui.internal.contexts.ContextService.deactivateContexts(ContextService.java:154) at org.eclipse.ui.internal.contexts.SlaveContextService.dispose(SlaveContextService.java:240) at org.eclipse.ui.internal.services.ServiceLocator.dispose(ServiceLocator.java:142) at org.eclipse.ui.internal.WorkbenchWindow.hardClose(WorkbenchWindow.java:1626) at org.eclipse.ui.internal.WorkbenchWindow.busyClose(WorkbenchWindow.java:722) at org.eclipse.ui.internal.WorkbenchWindow.access$0(WorkbenchWindow.java:698) at org.eclipse.ui.internal.WorkbenchWindow$3.run(WorkbenchWindow.java:814) at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:67) at org.eclipse.ui.internal.WorkbenchWindow.close(WorkbenchWindow.java:812) at org.eclipse.jface.window.WindowManager.close(WindowManager.java:109) at org.eclipse.ui.internal.Workbench$16.run(Workbench.java:912) at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37) at org.eclipse.ui.internal.Workbench.busyClose(Workbench.java:909) at org.eclipse.ui.internal.Workbench.access$15(Workbench.java:838) at org.eclipse.ui.internal.Workbench$23.run(Workbench.java:1082) at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:67) at org.eclipse.ui.internal.Workbench.close(Workbench.java:1080) at org.eclipse.ui.internal.Workbench.close(Workbench.java:1052) at org.eclipse.ui.internal.WorkbenchWindow.busyClose(WorkbenchWindow.java:719) at org.eclipse.ui.internal.WorkbenchWindow.access$0(WorkbenchWindow.java:698) at org.eclipse.ui.internal.WorkbenchWindow$3.run(WorkbenchWindow.java:814) at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:67) at org.eclipse.ui.internal.WorkbenchWindow.close(WorkbenchWindow.java:812) 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.Decorations.WM_CLOSE(Decorations.java:1631) at org.eclipse.swt.widgets.Control.windowProc(Control.java:3784) 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.DefWindowProcW(Native Method) at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:2341) at org.eclipse.swt.widgets.Shell.callWindowProc(Shell.java:474) at org.eclipse.swt.widgets.Control.windowProc(Control.java:3872) 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.DefWindowProcW(Native Method) at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:2341) at org.eclipse.swt.widgets.Shell.callWindowProc(Shell.java:474) at org.eclipse.swt.widgets.Control.windowProc(Control.java:3872) 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.DispatchMessageW(Native Method) at org.eclipse.swt.internal.win32.OS.DispatchMessage(OS.java:2346) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3398) 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(NativeMethodAccessorImpl.java:64) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:615) 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) at org.eclipse.equinox.launcher.Main.main(Main.java:1212) I can see that this ends up setting the prefixTable to null on startup as well as on shutdown and then later the above exception happens. Thread [main] (Suspended (breakpoint at line 2173 in BindingManager)) BindingManager.setActiveBindings(Map, Map, Map, Map) line: 2173 BindingManager.clearSolution() line: 442 BindingManager.clearCache() line: 431 BindingManager.addBinding(Binding) line: 336 BindingService.addBinding(Binding) line: 115 LegacyActionPersistence$1.commandChanged(CommandEvent) line: 204 Command$1.run() line: 511 SafeRunner.run(ISafeRunnable) line: 37 Command.fireCommandChanged(CommandEvent) line: 506 Command.setHandler(IHandler) line: 995 HandlerAuthority.updateCommand(String, IHandlerActivation) line: 459 HandlerAuthority.processChangedCommands() line: 631 HandlerAuthority.access$1(HandlerAuthority) line: 610 HandlerAuthority$1.propertyChange(PropertyChangeEvent) line: 175 EvaluationAuthority$1.run() line: 252 SafeRunner.run(ISafeRunnable) line: 37 EvaluationAuthority.fireServiceChange(String, Object, Object) line: 246 EvaluationAuthority.endSourceChange(String[]) line: 197 EvaluationAuthority.sourceChanged(String[]) line: 135 EvaluationAuthority(ExpressionAuthority).sourceChanged(int, String[]) line: 310 EvaluationAuthority(ExpressionAuthority).sourceChanged(int, String, Object) line: 301 ActionSetSourceProvider(AbstractSourceProvider).fireSourceChanged(int, String, Object) line: 80 ActionSetSourceProvider.actionSetsChanged(ActionSetsEvent) line: 72 Workbench.updateActiveWorkbenchWindowMenuManager(boolean) line: 3008 Workbench.access$0(Workbench, boolean) line: 2977 Workbench$2.bindingManagerChanged(BindingManagerEvent) line: 2963 BindingManager.fireBindingManagerChanged(BindingManagerEvent) line: 900 BindingManager.setActiveBindings(Map, Map, Map, Map) line: 2176 BindingManager.recomputeBindings() line: 1762 BindingManager.contextManagerChanged(ContextManagerEvent) line: 689 ContextManager.fireContextManagerChanged(ContextManagerEvent) line: 152 ContextManager.setEventCaching(boolean) line: 311 ContextManager.addActiveContext(String) line: 80 ContextAuthority.sourceChanged(int) line: 682 ContextAuthority(ExpressionAuthority).sourceChanged(int, String[]) line: 309 ContextAuthority(ExpressionAuthority).sourceChanged(int, Map) line: 289 ActiveShellSourceProvider(AbstractSourceProvider).fireSourceChanged(int, Map) line: 99 ActiveShellSourceProvider.access$13(ActiveShellSourceProvider, int, Map) line: 1 ActiveShellSourceProvider$3.handleEvent(Event) line: 302 EventTable.sendEvent(Event) line: 84 Display.filterEvent(Event) line: 1162 Shell(Widget).sendEvent(Event) line: 1001 Shell(Widget).sendEvent(int, Event, boolean) line: 1026 Shell(Widget).sendEvent(int) line: 1007 Shell(Decorations).WM_ACTIVATE(int, int) line: 1601 Shell.WM_ACTIVATE(int, int) line: 2008 Shell(Control).windowProc(int, int, int, int) line: 3779 Shell(Canvas).windowProc(int, int, int, int) line: 334 Shell(Decorations).windowProc(int, int, int, int) line: 1564 Shell.windowProc(int, int, int, int) line: 1932 Display.windowProc(int, int, int, int) line: 4506 OS.BringWindowToTop(int) line: not available [native method] Shell(Decorations).bringToTop() line: 228 Shell.open() line: 1134 WorkbenchWindow(Window).open() line: 797 WorkbenchWindow.open() line: 778 Workbench$61.runWithException() line: 3399 Workbench$61(StartupThreading$StartupRunnable).run() line: 31 RunnableLock.run() line: 35 UISynchronizer(Synchronizer).runAsyncMessages(boolean) line: 132 Display.runAsyncMessages(boolean) line: 3778 Display.readAndDispatch() line: 3403 IDEWorkbenchAdvisor(WorkbenchAdvisor).openWindows() line: 803 Workbench$27.runWithException() line: 1361 Workbench$27(StartupThreading$StartupRunnable).run() line: 31 RunnableLock.run() line: 35 UISynchronizer(Synchronizer).runAsyncMessages(boolean) line: 132 Display.runAsyncMessages(boolean) line: 3778 Display.readAndDispatch() line: 3403 Workbench.runUI() line: 2298 Workbench.access$4(Workbench) line: 2203 Workbench$5.run() line: 493 Realm.runWithDefault(Realm, Runnable) line: 288 Workbench.createAndRunWorkbench(Display, WorkbenchAdvisor) line: 488 PlatformUI.createAndRunWorkbench(Display, WorkbenchAdvisor) line: 149 IDEApplication.start(IApplicationContext) line: 112 EclipseAppHandle.run(Object) line: 193 EclipseAppLauncher.runApplication(Object) line: 110 EclipseAppLauncher.start(Object) line: 79 EclipseStarter.run(Object) line: 379 EclipseStarter.run(String[], Runnable) line: 179 NativeMethodAccessorImpl.invoke0(Method, Object, Object[]) line: not available [native method] NativeMethodAccessorImpl.invoke(Object, Object[]) line: 64 DelegatingMethodAccessorImpl.invoke(Object, Object[]) line: 43 Method.invoke(Object, Object...) line: 615 Main.invokeFramework(String[], URL[]) line: 549 Main.basicRun(String[]) line: 504 Main.run(String[]) line: 1236 Main.main(String[]) line: 1212
I got this once in 3.4M7
Have you seen this in a build after 3.4.1? Looks like a duplicate of 202819. *** This bug has been marked as a duplicate of bug 202819 ***
I see this in our commercial product that is based on 3.4.2 final just recently released; should I reopen this bug or file a new one? From Help/About Feature Details: Eclipse Platform 3.4.2.R342_v20090122-9I96EiWElHi8lheoJKJIvhM3JfVsYbRrgVIWL Build id M20090211-1700 My stack trace is: java.lang.NullPointerException: Cannot set a null prefix table at org.eclipse.jface.bindings.CachedBindingSet.setPrefixTable(CachedBindingSet.java:346) at org.eclipse.jface.bindings.BindingManager.recomputeBindings(BindingManager.java:1765) 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.removeActiveContext(ContextManager.java:232) at org.eclipse.ui.internal.contexts.ContextAuthority.updateContext(ContextAuthority.java:767) at org.eclipse.ui.internal.contexts.ContextAuthority.deactivateContext(ContextAuthority.java:362) at org.eclipse.ui.internal.contexts.ContextService.deactivateContext(ContextService.java:152) at org.eclipse.ui.internal.contexts.ContextService.deactivateContexts(ContextService.java:166) at org.eclipse.ui.internal.contexts.SlaveContextService.dispose(SlaveContextService.java:259) at org.eclipse.ui.internal.services.ServiceLocator.dispose(ServiceLocator.java:142) at org.eclipse.ui.internal.WorkbenchWindow.hardClose(WorkbenchWindow.java:1627) at org.eclipse.ui.internal.WorkbenchWindow.busyClose(WorkbenchWindow.java:722) at org.eclipse.ui.internal.WorkbenchWindow.access$0(WorkbenchWindow.java:698) at org.eclipse.ui.internal.WorkbenchWindow$3.run(WorkbenchWindow.java:814) at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70) at org.eclipse.ui.internal.WorkbenchWindow.close(WorkbenchWindow.java:812) at org.eclipse.jface.window.WindowManager.close(WindowManager.java:109) at org.eclipse.ui.internal.Workbench$16.run(Workbench.java:914) at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37) at org.eclipse.ui.internal.Workbench.busyClose(Workbench.java:911) at org.eclipse.ui.internal.Workbench.access$15(Workbench.java:840) at org.eclipse.ui.internal.Workbench$23.run(Workbench.java:1084) at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70) at org.eclipse.ui.internal.Workbench.close(Workbench.java:1082) at org.eclipse.ui.internal.Workbench.close(Workbench.java:1054) at org.eclipse.ui.internal.handlers.QuitHandler.execute(QuitHandler.java:41) at org.eclipse.ui.internal.handlers.HandlerProxy.execute(HandlerProxy.java:281) at org.eclipse.core.commands.Command.executeWithChecks(Command.java:476) at org.eclipse.core.commands.ParameterizedCommand.executeWithChecks(ParameterizedCommand.java:508) at org.eclipse.ui.internal.handlers.HandlerService.executeCommand(HandlerService.java:169) at org.eclipse.ui.internal.handlers.SlaveHandlerService.executeCommand(SlaveHandlerService.java:247) at org.eclipse.ui.internal.actions.CommandAction.runWithEvent(CommandAction.java:157) at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:583) at org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:500) at org.eclipse.jface.action.ActionContributionItem$5.handleEvent(ActionContributionItem.java:411) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1003) at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3823) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3422) at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2384) at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2348) at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2200) at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:495) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:288) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:490) at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149) at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:113) 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:386) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179) 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:597) 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) at org.eclipse.equinox.launcher.Main.main(Main.java:1212)
(In reply to comment #3) > I see this in our commercial product that is based on 3.4.2 final just recently > released; should I reopen this bug or file a new one? Hi Eddie, Please open a new bug and I'll try and have a look at this next week. PW
> Hi Eddie, > > Please open a new bug and I'll try and have a look at this next week. > > PW > Bug 267109