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
} finally {
			super.handlePreferenceStoreChanged(event);
		}
	}
	/*
	 * @see org.eclipse.jdt.internal.ui.javaeditor.JavaEditor#createJavaSourceViewer(org.eclipse.swt.widgets.Composite, org.eclipse.jface.text.source.IVerticalRuler, org.eclipse.jface.text.source.IOverviewRuler, boolean, int)
	 */
	protected ISourceViewer createJavaSourceViewer(Composite parent, IVerticalRuler verticalRuler, IOverviewRuler overviewRuler, boolean isOverviewRulerVisible, int styles) {
		return new AdaptedSourceViewer(parent, verticalRuler, overviewRuler, isOverviewRulerVisible, styles);
	}
	
	/*
	 * @see org.eclipse.jdt.internal.ui.text.java.IJavaReconcilingListener#aboutToBeReconciled()
	 * @since 3.0
	 */
	public void aboutToBeReconciled() {
		
		JavaPlugin.getDefault().getASTProvider().aboutToBeReconciled(getInputJavaElement());
		
		
		synchronized (fReconcilingListeners) {
			Object[] listeners = fReconcilingListeners.getListeners();
			for (int i = 0, length= listeners.length; i < length; ++i)
				((IJavaReconcilingListener)listeners[i]).aboutToBeReconciled();
		}
	}
	
	/*
	 * @see org.eclipse.jdt.internal.ui.text.java.IJavaReconcilingListener#reconciled(org.eclipse.jdt.core.dom.CompilationUnit, boolean, boolean)