Community
Participate
Working Groups
Build 20040505 While editing some code, I got deadlocked. The VM issued following diagnosis in console. Found one Java-level deadlock: ============================= "org.eclipse.jdt.internal.ui.text.JavaReconciler": waiting to lock monitor 0x00a0ecbc (object 0x166d48b8, a org.eclipse.jface.text.source.AnnotationPainter), which is held by "main" "main": waiting to lock monitor 0x00a0ed7c (object 0x166916d8, 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 <0x166d48b8> (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 <0x166916d8> (a java.lang.Object) at org.eclipse.jdt.internal.ui.javaeditor.OverrideIndicatorManager.reconciled (OverrideIndicatorManager.java:294) - locked <0x16691c20> (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 <0x166916d8> (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 <0x166d48b8> (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 <0x10762f50> (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.
Full thread dump is: osgi> Full thread dump Java HotSpot(TM) Client VM (1.4.2_04-b05 mixed mode): "Worker-140" prio=5 tid=0x05152b40 nid=0xaf4 in Object.wait() [5b0f000..5b0fd8c] at java.lang.Object.wait(Native Method) at org.eclipse.core.internal.jobs.WorkerPool.sleep(WorkerPool.java:209) - locked <0x12a44d00> (a org.eclipse.core.internal.jobs.WorkerPool) at org.eclipse.core.internal.jobs.WorkerPool.startJob (WorkerPool.java:236) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:59) "org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=2 tid=0x053d8488 nid=0x888 in Object.wait() [5e0f000..5e0fd8c] at java.lang.Object.wait(Native Method) at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run (AbstractReconciler.java:161) - locked <0x17317860> (a org.eclipse.jface.text.reconciler.DirtyRegionQueue) "org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=2 tid=0x05304108 nid=0xfd0 in Object.wait() [6a0f000..6a0fd8c] at java.lang.Object.wait(Native Method) at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run (AbstractReconciler.java:161) - locked <0x17185c10> (a org.eclipse.jface.text.reconciler.DirtyRegionQueue) "org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=2 tid=0x0528bd08 nid=0xe88 in Object.wait() [6e0f000..6e0fd8c] at java.lang.Object.wait(Native Method) at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run (AbstractReconciler.java:161) - locked <0x170da1c8> (a org.eclipse.jface.text.reconciler.DirtyRegionQueue) "org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=2 tid=0x052b5008 nid=0x814 in Object.wait() [5a0f000..5a0fd8c] at java.lang.Object.wait(Native Method) at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run (AbstractReconciler.java:161) - locked <0x16eb7290> (a org.eclipse.jface.text.reconciler.DirtyRegionQueue) "org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=2 tid=0x052151f0 nid=0xfc0 in Object.wait() [640f000..640fd8c] at java.lang.Object.wait(Native Method) at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run (AbstractReconciler.java:161) - locked <0x16e602f8> (a org.eclipse.jface.text.reconciler.DirtyRegionQueue) "org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=2 tid=0x051b4c00 nid=0xa98 in Object.wait() [4e1f000..4e1fd8c] at java.lang.Object.wait(Native Method) at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run (AbstractReconciler.java:161) - locked <0x16c66f50> (a org.eclipse.jface.text.reconciler.DirtyRegionQueue) "org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=2 tid=0x04f8b880 nid=0xd10 in Object.wait() [5c0f000..5c0fd8c] at java.lang.Object.wait(Native Method) at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run (AbstractReconciler.java:161) - locked <0x16af4968> (a org.eclipse.jface.text.reconciler.DirtyRegionQueue) "org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=2 tid=0x03bf7ee8 nid=0x98c in Object.wait() [580f000..580fd8c] at java.lang.Object.wait(Native Method) at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run (AbstractReconciler.java:161) - locked <0x168568f8> (a org.eclipse.jface.text.reconciler.DirtyRegionQueue) "org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=2 tid=0x03c645c8 nid=0xa28 waiting for monitor entry [590f000..590fd8c] at org.eclipse.jface.text.source.AnnotationPainter.modelChanged (AnnotationPainter.java:847) - waiting to lock <0x166d48b8> (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 <0x166916d8> (a java.lang.Object) at org.eclipse.jdt.internal.ui.javaeditor.OverrideIndicatorManager.reconciled (OverrideIndicatorManager.java:294) - locked <0x16691c20> (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) "org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=2 tid=0x05181188 nid=0x4cc in Object.wait() [4d1f000..4d1fd8c] at java.lang.Object.wait(Native Method) at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run (AbstractReconciler.java:161) - locked <0x16642f90> (a org.eclipse.jface.text.reconciler.DirtyRegionQueue) "org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=2 tid=0x050ad118 nid=0x7e4 in Object.wait() [4c1f000..4c1fd8c] at java.lang.Object.wait(Native Method) at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run (AbstractReconciler.java:161) - locked <0x160ed820> (a org.eclipse.jface.text.reconciler.DirtyRegionQueue) "org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=2 tid=0x0507ed88 nid=0xb08 in Object.wait() [4a1f000..4a1fd8c] at java.lang.Object.wait(Native Method) at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run (AbstractReconciler.java:161) - locked <0x1606dad8> (a org.eclipse.jface.text.reconciler.DirtyRegionQueue) "Java indexing" daemon prio=4 tid=0x0393da70 nid=0x110 in Object.wait() [464f000..464fd8c] at java.lang.Object.wait(Native Method) at java.lang.Object.wait(Object.java:429) at org.eclipse.jdt.internal.core.search.processing.JobManager.run (JobManager.java:323) - locked <0x12fc7000> (a org.eclipse.jdt.internal.core.search.indexing.IndexManager) at java.lang.Thread.run(Thread.java:534) "Start Level Event Dispatcher" daemon prio=5 tid=0x033dba90 nid=0xd8c in Object.wait() [388f000..388fd8c] at java.lang.Object.wait(Native Method) - waiting on <0x12802e98> (a org.eclipse.osgi.framework.eventmgr.EventThread) at java.lang.Object.wait(Object.java:429) at org.eclipse.osgi.framework.eventmgr.EventThread.getNextEvent (EventThread.java:149) - locked <0x12802e98> (a org.eclipse.osgi.framework.eventmgr.EventThread) at org.eclipse.osgi.framework.eventmgr.EventThread.run (EventThread.java:107) "OSGi Console" prio=5 tid=0x033cd3a0 nid=0x954 runnable [378f000..378fd8c] at java.lang.Object.wait(Native Method) at org.eclipse.osgi.framework.internal.core.FrameworkConsole.console (FrameworkConsole.java:258) - locked <0x127f0fe0> (a java.lang.Object) at org.eclipse.osgi.framework.internal.core.FrameworkConsole.console (FrameworkConsole.java:231) at org.eclipse.osgi.framework.internal.core.FrameworkConsole.run (FrameworkConsole.java:206) at java.lang.Thread.run(Thread.java:534) "Framework Event Dispatcher" daemon prio=5 tid=0x033c9d40 nid=0xc3c in Object.wait() [368f000..368fd8c] at java.lang.Object.wait(Native Method) at java.lang.Object.wait(Object.java:429) at org.eclipse.osgi.framework.eventmgr.EventThread.getNextEvent (EventThread.java:149) - locked <0x127f1078> (a org.eclipse.osgi.framework.eventmgr.EventThread) at org.eclipse.osgi.framework.eventmgr.EventThread.run (EventThread.java:107) "Signal Dispatcher" daemon prio=10 tid=0x00a11c58 nid=0x2d8 waiting on condition [0..0] "Finalizer" daemon prio=9 tid=0x0003f5d8 nid=0x518 in Object.wait() [2f8f000..2f8fd8c] at java.lang.Object.wait(Native Method) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:111) - locked <0x1277a9a8> (a java.lang.ref.ReferenceQueue$Lock) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:127) at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159) "Reference Handler" daemon prio=10 tid=0x00a0f540 nid=0x864 in Object.wait() [2e8f000..2e8fd8c] at java.lang.Object.wait(Native Method) at java.lang.Object.wait(Object.java:429) at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:115) - locked <0x1277aa10> (a java.lang.ref.Reference$Lock) "main" prio=7 tid=0x000356d0 nid=0x400 waiting for monitor entry [7f000..7fc3c] at org.eclipse.jface.text.source.AnnotationMap.get (AnnotationMap.java:100) - waiting to lock <0x166916d8> (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 <0x166d48b8> (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 <0x10762f50> (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) "VM Thread" prio=5 tid=0x009be330 nid=0x884 runnable "VM Periodic Task Thread" prio=10 tid=0x00a10cd8 nid=0xbe8 waiting on condition "Suspend Checker Thread" prio=10 tid=0x0003ff60 nid=0xc30 runnable Found one Java-level deadlock: ============================= "org.eclipse.jdt.internal.ui.text.JavaReconciler": waiting to lock monitor 0x00a0ecbc (object 0x166d48b8, a org.eclipse.jface.text.source.AnnotationPainter), which is held by "main" "main": waiting to lock monitor 0x00a0ed7c (object 0x166916d8, 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 <0x166d48b8> (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 <0x166916d8> (a java.lang.Object) at org.eclipse.jdt.internal.ui.javaeditor.OverrideIndicatorManager.reconciled (OverrideIndicatorManager.java:294) - locked <0x16691c20> (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 <0x166916d8> (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 <0x166d48b8> (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 <0x10762f50> (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.
*** This bug has been marked as a duplicate of 59420 ***