Buggy code:
protected void addPerspectiveBar ( int style ) { } private boolean busyClose ( ) { } protected IWorkbenchPage busyOpenPage ( String perspID , IAdaptable input ) throws WorkbenchException { } public int open ( ) { } protected boolean canHandleShellCloseEvent ( ) { } public boolean close ( ) { } protected boolean isClosing ( ) { } protected boolean isCoolBarLocked ( ) { } private void closeAllPages ( ) { } public void closeAllPages ( boolean save ) { } protected boolean closePage ( IWorkbenchPage in , boolean save ) { } private void showEmptyWindowContents ( ) { } private void hideEmptyWindowContents ( ) { } protected void configureShell ( Shell shell ) { } ShellPool getDetachedWindowPool ( ) { } protected void createTrimWidgets ( Shell shell ) { } protected Composite createPageComposite ( Composite parent ) { } protected Control createContents ( Composite parent ) { } public void setBannerCurve ( boolean square ) { } protected void createDefaultContents ( final Shell shell ) { } private boolean getShowHeapStatus ( ) { } private void createHeapStatus ( Composite parent ) { } public void setPerspectiveBarLocation ( String location ) { } private void fireWindowOpening ( ) { } void fireWindowRestored ( ) throws WorkbenchException { } private void fireWindowCreated ( ) { } private void fireWindowOpened ( ) { } private boolean fireWindowShellClosing ( ) { } private void fireWindowClosed ( ) { } private void firePageActivated ( IWorkbenchPage page ) { } private void firePageClosed ( IWorkbenchPage page ) { } private void firePageOpened ( IWorkbenchPage page ) { } void firePerspectiveActivated ( IWorkbenchPage page , IPerspectiveDescriptor perspective ) { } void firePerspectiveDeactivated ( IWorkbenchPage page , IPerspectiveDescriptor perspective ) { } void firePerspectiveChanged ( IWorkbenchPage page , IPerspectiveDescriptor perspective , String changeId ) { } void firePerspectiveChanged ( IWorkbenchPage page , IPerspectiveDescriptor perspective , IWorkbenchPartReference partRef , String changeId ) { } void firePerspectiveClosed ( IWorkbenchPage page , IPerspectiveDescriptor perspective ) { } void firePerspectiveOpened ( IWorkbenchPage page , IPerspectiveDescriptor perspective ) { } void firePerspectiveSavedAs ( IWorkbenchPage page , IPerspectiveDescriptor oldPerspective , IPerspectiveDescriptor newPerspective ) { } public WWinActionBars getActionBars ( ) { } public IWorkbenchPage getActivePage ( ) { } WorkbenchPage getActiveWorkbenchPage ( ) { } protected Composite getPageComposite ( ) { } public MenuManager getMenuManager ( ) { } public int getNumber ( ) { } public IWorkbenchPage [ ] getPages ( ) { } public IPartService getPartService ( ) { } protected Layout getLayout ( ) { } public ISelectionService getSelectionService ( ) { } public boolean getShellActivated ( ) { } public StatusLineManager getStatusLineManager ( ) { } public IWorkbench getWorkbench ( ) { } public String getToolbarLabel ( String actionSetId ) { } private boolean hardClose ( ) { } public boolean isApplicationMenu ( String menuID ) { } boolean isWorkbenchCoolItemId ( String id ) { } void lockCoolBar ( boolean lock ) { } void makeVisible ( ) { } public boolean okToClose ( ) { } public IWorkbenchPage openPage ( final String perspId , final IAdaptable input ) throws WorkbenchException { } public IWorkbenchPage openPage ( IAdaptable input ) throws WorkbenchException { } public void removePageListener ( IPageListener l ) { } public void removePerspectiveListener ( org . eclipse . ui . IPerspectiveListener l ) { } private IStatus unableToRestorePage ( IMemento pageMem ) { } public IStatus restoreState ( IMemento memento , IPerspectiveDescriptor activeDescriptor ) { } private boolean restoreOldCoolBar ( IMemento coolbarMem ) { } private boolean readLayout ( IMemento memento , ArrayList itemIds , ArrayList wrapIndicies ) { } private IContributionItem findAlphabeticalOrder ( String startId , String itemId , IContributionManager mgr ) { } public void run ( boolean fork , boolean cancelable , IRunnableWithProgress runnable ) throws InterruptedException , InvocationTargetException { } private boolean saveAllPages ( boolean bConfirm ) { } public IStatus saveState ( IMemento memento ) { } public void setActivePage ( final IWorkbenchPage in ) { } protected boolean toolBarChildrenExist ( ) { } private void trackShellActivation ( Shell shell ) { } private void trackShellResize ( Shell newShell ) { } public void updateActionBars ( ) { if ( ( updateDisabled ) || ( updatesDeferred ( ) ) ) { return ; } <START_BUG> getMenuBarManager ( ) . update ( false ) ; <END_BUG> getCoolBarManager ( ) . update ( false ) ; getStatusLineManager ( ) . update ( false ) ; } private boolean updatesDeferred ( ) { } public final void largeUpdateStart ( ) { } public final void largeUpdateEnd ( ) { } public void updateActionSets ( ) { } private void createProgressIndicator ( Shell shell ) { } class PageList { private List pagesInCreationOrder ; private List pageInActivationOrder ; private Object active ; public PageList ( ) { } public boolean add ( Object object ) { } public Iterator iterator ( ) { } public boolean contains ( Object object ) { } public boolean remove ( Object object ) { } public boolean isEmpty ( ) { } public IWorkbenchPage [ ] getPages ( ) { } public void setActive ( Object page ) { } public WorkbenchPage getActive ( ) { } public WorkbenchPage getNextActive ( ) { } } WorkbenchWindowConfigurer getWindowConfigurer ( ) { } private WorkbenchAdvisor getAdvisor ( ) { } private WorkbenchWindowAdvisor getWindowAdvisor ( ) { } private ActionBarAdvisor getActionBarAdvisor ( ) { } private Workbench getWorkbenchImpl ( ) { } public void fillActionBars ( int flags ) { } public void fillActionBars ( IActionBarConfigurer proxyBars , int flags ) { } protected void initializeBounds ( ) { } protected void constrainShellSize ( ) { } protected Point getInitialLocation ( Point size ) { } protected Point getInitialSize ( ) { } public void setCoolBarVisible ( boolean visible ) { } public boolean getCoolBarVisible ( ) { } public void setPerspectiveBarVisible ( boolean visible ) { } public boolean getPerspectiveBarVisible ( ) { } public void setStatusLineVisible ( boolean visible ) { } public boolean getStatusLineVisible ( ) { }

Fix:
getMenuBarManager ( ) . updateAll ( false ) ;