Summary: | Deadlock between AnnotationPainter and AnnotationModel lock | ||
---|---|---|---|
Product: | [Eclipse Project] Platform | Reporter: | Christof Marti <christof_marti> |
Component: | Text | Assignee: | Dani Megert <daniel_megert> |
Status: | RESOLVED FIXED | QA Contact: | |
Severity: | major | ||
Priority: | P1 | CC: | jeffmcaffer, markus.kell.r, philippe_mulet |
Version: | 3.0 | ||
Target Milestone: | 3.0 M9 | ||
Hardware: | PC | ||
OS: | Windows XP | ||
Whiteboard: |
Description
Christof Marti
2004-04-21 09:21:49 EDT
*** Bug 60530 has been marked as a duplicate of this bug. *** *** Bug 61205 has been marked as a duplicate of this bug. *** Got it again today. Slightly different trace, I'll attach it in case useful. Found one Java-level deadlock: ============================= "org.eclipse.jdt.internal.ui.text.JavaReconciler": waiting to lock monitor 0x00a0ec9c (object 0x16d3dce8, a org.eclipse.jface.text.source.AnnotationPainter), which is held by "main" "main": waiting to lock monitor 0x00a0ecfc (object 0x15c31d70, a java.lang.Object), which is held by "org.eclipse.jdt.internal.ui.text.JavaReconciler" Java stack information for the threads listed above: =================================================== "org.eclipse.jdt.internal.ui.text.JavaReconciler": at org.eclipse.jface.text.source.AnnotationPainter.modelChanged (AnnotationPainter.java:847) - waiting to lock <0x16d3dce8> (a org.eclipse.jface.text.source.AnnotationPainter) at org.eclipse.jface.text.source.AnnotationModel.fireModelChanged (AnnotationModel.java:396) at org.eclipse.jface.text.source.AnnotationModel.fireModelChanged (AnnotationModel.java:360) at org.eclipse.jface.text.source.AnnotationModel.replaceAnnotations (AnnotationModel.java:208) at org.eclipse.jface.text.source.AnnotationModel.replaceAnnotations (AnnotationModel.java:173) at org.eclipse.jdt.internal.ui.javaeditor.OverrideIndicatorManager.updateAnnotatio ns(OverrideIndicatorManager.java:253) - locked <0x15c31d70> (a java.lang.Object) at org.eclipse.jdt.internal.ui.javaeditor.OverrideIndicatorManager.reconciled (OverrideIndicatorManager.java:294) - locked <0x16d3d968> (a org.eclipse.jdt.internal.ui.javaeditor.OverrideIndicatorManager) at org.eclipse.jdt.internal.ui.javaeditor.CompilationUnitEditor.reconciled (CompilationUnitEditor.java:1735) at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.reconcile (JavaReconcilingStrategy.java:117) at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.reconcile (JavaReconcilingStrategy.java:129) at org.eclipse.jdt.internal.ui.text.CompositeReconcilingStrategy.reconcile (CompositeReconcilingStrategy.java:86) at org.eclipse.jdt.internal.ui.text.JavaCompositeReconcilingStrategy.reconcile (JavaCompositeReconcilingStrategy.java:96) at org.eclipse.jface.text.reconciler.MonoReconciler.process (MonoReconciler.java:76) at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run (AbstractReconciler.java:189) "main": at org.eclipse.jface.text.source.AnnotationMap.get (AnnotationMap.java:100) - waiting to lock <0x15c31d70> (a java.lang.Object) at org.eclipse.jface.text.source.AnnotationModel.getPosition (AnnotationModel.java:534) at org.eclipse.jface.text.source.AnnotationPainter.getDecoration (AnnotationPainter.java:611) at org.eclipse.jface.text.source.AnnotationPainter.catchupWithModel (AnnotationPainter.java:504) - locked <0x16d3dce8> (a org.eclipse.jface.text.source.AnnotationPainter) at org.eclipse.jface.text.source.AnnotationPainter.updatePainting (AnnotationPainter.java:765) at org.eclipse.jface.text.source.AnnotationPainter.access$1 (AnnotationPainter.java:762) at org.eclipse.jface.text.source.AnnotationPainter$1.run (AnnotationPainter.java:871) at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35) at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages (Synchronizer.java:106) - locked <0x100459e0> (a org.eclipse.swt.widgets.RunnableLock) at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:2571) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2276) at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1353) at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1324) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench (Workbench.java:243) at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:140) at org.eclipse.ui.internal.ide.IDEApplication.run (IDEApplication.java:90) at org.eclipse.core.internal.runtime.PlatformActivator$1.run (PlatformActivator.java:283) at org.eclipse.core.runtime.adaptor.EclipseStarter.run (EclipseStarter.java:242) at org.eclipse.core.runtime.adaptor.EclipseStarter.run (EclipseStarter.java:119) 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.basicRun(Main.java:269) at org.eclipse.core.launcher.Main.run(Main.java:700) at org.eclipse.core.launcher.Main.main(Main.java:684) Found 1 deadlock. I agree this is a P1, as it results in data loss (cannot save editor contents). *** Bug 60122 has been marked as a duplicate of this bug. *** Released fix. Will go into tonights I-build. |