Buggy code:
private void initializeColors ( ) { } public boolean isClosing ( ) { } private final void initializeDefaultServices ( ) { } public boolean isStarting ( ) { } private WorkbenchWindow newWorkbenchWindow ( ) { } private void forceOpenPerspective ( ) { } void openFirstTimeWindow ( ) { } private void runStartupWithProgress ( final int expectedProgressCount , final Runnable runnable ) { } private void doOpenFirstTimeWindow ( ) { } IStatus restoreState ( ) { } public IWorkbenchWindow openWorkbenchWindow ( IAdaptable input ) throws WorkbenchException { } public IWorkbenchWindow openWorkbenchWindow ( final String perspID , final IAdaptable input ) throws WorkbenchException { } IWorkbenchWindow restoreWorkbenchWindow ( IMemento memento ) throws WorkbenchException { } private XMLMemento recordWorkbenchState ( ) { } public boolean restart ( ) { } private IStatus restoreState ( final IMemento memento ) { } public String [ ] getEarlyActivatedPlugins ( ) { } public String [ ] getDisabledEarlyActivatedPlugins ( ) { } private void startPlugins ( ) { } private int runUI ( ) { } private void runEventLoop ( Window . IExceptionHandler handler , Display display ) { } private IStatus saveState ( IMemento memento ) { } private boolean saveMementoToFile ( XMLMemento memento ) { } public IWorkbenchPage showPerspective ( String perspectiveId , IWorkbenchWindow window ) throws WorkbenchException { } public IWorkbenchPage showPerspective ( String perspectiveId , IWorkbenchWindow window , IAdaptable input ) throws WorkbenchException { } private void shutdown ( ) { } private void cancelEarlyStartup ( ) { } public IDecoratorManager getDecoratorManager ( ) { } private WorkbenchWindow getActivatedWindow ( ) { } void setActivatedWindow ( WorkbenchWindow window ) { } WorkbenchConfigurer getWorkbenchConfigurer ( ) { } WorkbenchAdvisor getAdvisor ( ) { } public Display getDisplay ( ) { } public String getDefaultPerspectiveId ( ) { } public IAdaptable getDefaultPageInput ( ) { } public String getMainPreferencePageId ( ) { } public IElementFactory getElementFactory ( String factoryId ) { } public IProgressService getProgressService ( ) { } private WorkbenchActivitySupport workbenchActivitySupport ; private WorkbenchCommandSupport workbenchCommandSupport ; private WorkbenchContextSupport workbenchContextSupport ; private BindingManager bindingManager ; private CommandManager commandManager ; private ContextManager contextManager ; public IWorkbenchActivitySupport getActivitySupport ( ) { } public IWorkbenchCommandSupport getCommandSupport ( ) { } public IWorkbenchContextSupport getContextSupport ( ) { } private final IWindowListener windowListener = new IWindowListener ( ) { public void windowActivated ( IWorkbenchWindow window ) { } public void windowClosed ( IWorkbenchWindow window ) { } public void windowDeactivated ( IWorkbenchWindow window ) { } public void windowOpened ( IWorkbenchWindow window ) { } } ; private final IBindingManagerListener bindingManagerListener = new IBindingManagerListener ( ) { public void bindingManagerChanged ( BindingManagerEvent bindingManagerEvent ) { } } ; private ActionSetSourceProvider actionSetSourceProvider ; private WorkbenchWindow activeWorkbenchWindow = null ; private void updateActiveWorkbenchWindowMenuManager ( boolean textOnly ) { if ( ( activeWorkbenchWindow ) != null ) { activeWorkbenchWindow . removeActionSetsListener ( actionSetSourceProvider ) ; activeWorkbenchWindow = null ; } boolean actionSetsUpdated = false ; final IWorkbenchWindow workbenchWindow = getActiveWorkbenchWindow ( ) ; if ( workbenchWindow instanceof WorkbenchWindow ) { activeWorkbenchWindow = ( ( WorkbenchWindow ) ( workbenchWindow ) ) ; if ( activeWorkbenchWindow . isClosing ( ) ) { return ; } final Shell windowShell = activeWorkbenchWindow . getShell ( ) ; final Shell activeShell = getDisplay ( ) . getActiveShell ( ) ; final IContextService service = ( ( IContextService ) ( getService ( IContextService . class ) ) ) ; if ( ( Util . equals ( windowShell , activeShell ) ) || ( ( service . getShellType ( activeShell ) ) == ( IContextService . TYPE_WINDOW ) ) ) { activeWorkbenchWindow . addActionSetsListener ( actionSetSourceProvider ) ; final WorkbenchPage page = activeWorkbenchWindow . getActiveWorkbenchPage ( ) ; final IActionSetDescriptor [ ] newActionSets ; if ( page != null ) { newActionSets = page . getActionSets ( ) ; final ActionSetsEvent event = new ActionSetsEvent ( newActionSets ) ; actionSetSourceProvider . actionSetsChanged ( event ) ; actionSetsUpdated = true ; } } final MenuManager menuManager = activeWorkbenchWindow . getMenuManager ( ) ; if ( textOnly ) { menuManager . update ( TEXT ) ; } else { <START_BUG> menuManager . updateAll ( true ) ; <END_BUG> } } if ( ! actionSetsUpdated ) { final ActionSetsEvent event = new ActionSetsEvent ( null ) ; actionSetSourceProvider . actionSetsChanged ( event ) ; } } private ActivityPersistanceHelper activityHelper ; public IIntroManager getIntroManager ( ) { } WorkbenchIntroManager getWorkbenchIntroManager ( ) { } private WorkbenchIntroManager introManager ; public IntroDescriptor getIntroDescriptor ( ) { } public void setIntroDescriptor ( IntroDescriptor descriptor ) { } private IntroDescriptor introDescriptor ; private IExtensionTracker tracker ; private IRegistryChangeListener startupRegistryListener = new IRegistryChangeListener ( ) { public void registryChanged ( IRegistryChangeEvent event ) { } } ; private String factoryID ; public IThemeManager getThemeManager ( ) { } public boolean isRunning ( ) { } public String getPresentationId ( ) { } public final void largeUpdateStart ( ) { } public final void largeUpdateEnd ( ) { } public IExtensionTracker getExtensionTracker ( ) { } private void addStartupRegistryListener ( ) { } public IWorkbenchHelpSystem getHelpSystem ( ) { } public IWorkbenchBrowserSupport getBrowserSupport ( ) { } public IViewRegistry getViewRegistry ( ) { } public IWizardRegistry getNewWizardRegistry ( ) { } public IWizardRegistry getImportWizardRegistry ( ) { } public IWizardRegistry getExportWizardRegistry ( ) { } public final Object getAdapter ( final Class key ) { } private void doRestoreState ( final IMemento memento , final MultiStatus status ) { } private void openWindowsAfterRestore ( ) { } public final Object getService ( final Class key ) { } public final boolean hasService ( final Class key ) { } public final void registerService ( final Class api , final Object service ) { } private MenuSourceProvider menuSourceProvider ; public final void addShowingMenus ( final Set menuIds , final ISelection localSelection , final ISelection localEditorInput ) { } public final void removeShowingMenus ( final Set menuIds , final ISelection localSelection , final ISelection localEditorInput ) { }

Fix:
menuManager . update ( true ) ;