Bug 109011 [KeyBindings] AIOOBE on startup
I20050906 + ZRH HEAD + JFace HEAD The following exception kills Eclipse on startup (with existing or fresh workspace): !SESSION 2005-09-08 01:10:07.947 ----------------------------------------------- eclipse.buildId=unknown java.version=1.4.2_09 java.vendor=Apple Computer, Inc. BootLoader constants: OS=macosx, ARCH=ppc, WS=carbon, NL=en_US Framework arguments: -application org.eclipse.ui.ide.workbench -pdelaunch Command-line arguments: -application org.eclipse.ui.ide.workbench -data /Volumes/Stuff/Eclipse/ test_ws/enc16 -dev file:/Users/weinand/Eclipse/workspaces/release/.metadata/.plugins/ org.eclipse.pde.core/enc16/dev.properties -pdelaunch -consoleLog -os macosx -ws carbon -arch ppc !ENTRY org.eclipse.ui 4 4 2005-09-08 01:10:14.584 !MESSAGE Unhandled event loop exception !ENTRY org.eclipse.ui 4 0 2005-09-08 01:10:14.589 !MESSAGE 261 !STACK 0 java.lang.ArrayIndexOutOfBoundsException: 261 at org.eclipse.jface.bindings.BindingManager.removeDeletions(BindingManager.java:1649) at org.eclipse.jface.bindings.BindingManager.computeBindings(BindingManager.java:491) at org.eclipse.jface.bindings.BindingManager.recomputeBindings(BindingManager.java:1466) at org.eclipse.jface.bindings.BindingManager.getActiveBindingsByParameterizedCommand (BindingManager.java:825) at org.eclipse.jface.bindings.BindingManager.getActiveBindingsFor(BindingManager.java:1071) at org.eclipse.ui.internal.keys.BindingService.getActiveBindingsFor(BindingService.java:91) at org.eclipse.ui.internal.ide.actions.QuickMenuAction.getShortCutString(QuickMenuAction.java: 108) at org.eclipse.ui.internal.ide.WorkbenchActionBuilder$6.getMenuText (WorkbenchActionBuilder.java:457) at org.eclipse.jface.action.MenuManager.fill(MenuManager.java:221) at org.eclipse.jface.action.MenuManager.update(MenuManager.java:627) at org.eclipse.jface.action.MenuManager.update(MenuManager.java:549) at org.eclipse.jface.action.MenuManager.fill(MenuManager.java:232) at org.eclipse.jface.action.MenuManager.update(MenuManager.java:627) at org.eclipse.jface.action.MenuManager.update(MenuManager.java:549) at org.eclipse.jface.action.MenuManager.createMenuBar(MenuManager.java:158) at org.eclipse.jface.action.MenuManager.createMenuBar(MenuManager.java:174) at org.eclipse.ui.internal.WorkbenchWindow.createDefaultContents(WorkbenchWindow.java:929) at org.eclipse.ui.internal.WorkbenchWindowConfigurer.createDefaultContents (WorkbenchWindowConfigurer.java:577) at org.eclipse.ui.application.WorkbenchWindowAdvisor.createWindowContents (WorkbenchWindowAdvisor.java:261) at org.eclipse.ui.internal.WorkbenchWindow.createContents(WorkbenchWindow.java:897) at org.eclipse.jface.window.Window.create(Window.java:418) at org.eclipse.ui.internal.Workbench.busyOpenWorkbenchWindow(Workbench.java:663) at org.eclipse.ui.internal.Workbench.doOpenFirstTimeWindow(Workbench.java:1317) at org.eclipse.ui.internal.Workbench.openFirstTimeWindow(Workbench.java:1223) at org.eclipse.ui.internal.WorkbenchConfigurer.openFirstTimeWindow(WorkbenchConfigurer.java: 190) at org.eclipse.ui.application.WorkbenchAdvisor.openWindows(WorkbenchAdvisor.java:706) at org.eclipse.ui.internal.Workbench.init(Workbench.java:1034) at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1671) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:367) 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:377) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:164) 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:324) at org.eclipse.core.launcher.Main.invokeFramework(Main.java:338) at org.eclipse.core.launcher.Main.basicRun(Main.java:282) at org.eclipse.core.launcher.Main.run(Main.java:977) at org.eclipse.core.launcher.Main.main(Main.java:952)
bundles/org.eclipse.jface/src/org/eclipse/jface/bindings/BindingManager.java
if (found) {
							if (i + 1 < definedSchemes.length) {
								definedSchemes[i] = definedSchemes[i + 1];
							} else {
								definedSchemes[i] = null;
							}
						}
					}
					if (found) {
						definedSchemeCount--;
					}
				}
				if (activeScheme == scheme) {
					activeScheme = null;
					activeSchemeIds = null;
					activeSchemeChanged = true;
					
					clearSolution();
				}
			}
			fireBindingManagerChanged(new BindingManagerEvent(this, false,
					null, activeSchemeChanged, scheme, schemeIdAdded, false,
					false));
		}
	}
	/**
	 * Sets the active bindings and the prefix table. This ensures that the two
	 * values change at the same time, and that any listeners are notified
	 * appropriately.
	 *