Bug 59050 Dead lock in JavaReconciler
Using build I200404131323. I was editing several files and haven't save them immediately when my eclipse hanged infinitely... Looking at console, the exception seems to show that I was trying to open a popup-menu on a new created class, but I'm not completely sure that dead-lock occurred exactly at this moment. I'll add complete console output including VM Dump Thread which identifies the dead-lock... Set severity 'critical' as I have to cancel my eclipse session without saving and lost my modifications in modified editors...
org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/javaeditor/CompilationUnitEditor.java
configureToggleCommentAction();
		action= new TextOperationAction(JavaEditorMessages.getResourceBundle(), "Format.", this, ISourceViewer.FORMAT); 
		action.setActionDefinitionId(IJavaEditorActionDefinitionIds.FORMAT);		
		setAction("Format", action); 
		markAsStateDependentAction("Format", true); 
		markAsSelectionDependentAction("Format", true); 		
		WorkbenchHelp.setHelp(action, IJavaHelpContextIds.FORMAT_ACTION);
		
		action= new AddBlockCommentAction(JavaEditorMessages.getResourceBundle(), "AddBlockComment.", this);  
		action.setActionDefinitionId(IJavaEditorActionDefinitionIds.ADD_BLOCK_COMMENT);		
		setAction("AddBlockComment", action); 
		markAsStateDependentAction("AddBlockComment", true); 
		markAsSelectionDependentAction("AddBlockComment", true); 		
		WorkbenchHelp.setHelp(action, IJavaHelpContextIds.ADD_BLOCK_COMMENT_ACTION);
		action= new RemoveBlockCommentAction(JavaEditorMessages.getResourceBundle(), "RemoveBlockComment.", this);  
		action.setActionDefinitionId(IJavaEditorActionDefinitionIds.REMOVE_BLOCK_COMMENT);		
		setAction("RemoveBlockComment", action); 
		markAsStateDependentAction("RemoveBlockComment", true); 
		markAsSelectionDependentAction("RemoveBlockComment", true); 		
		WorkbenchHelp.setHelp(action, IJavaHelpContextIds.REMOVE_BLOCK_COMMENT_ACTION);
		
		action= new IndentAction(JavaEditorMessages.getResourceBundle(), "Indent.", this, false); 
		action.setActionDefinitionId(IJavaEditorActionDefinitionIds.INDENT);		
		setAction("Indent", action); 
		markAsStateDependentAction("Indent", true); 
		markAsSelectionDependentAction("Indent", true); 
		WorkbenchHelp.setHelp(action, IJavaHelpContextIds.INDENT_ACTION);
		
		action= new IndentAction(JavaEditorMessages.getResourceBundle(), "Indent.", this, true); 
		setAction("IndentOnTab", action);