Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 67424 - Deadlock in AnnotationPainter
Summary: Deadlock in AnnotationPainter
Status: VERIFIED FIXED
Alias: None
Product: Platform
Classification: Eclipse Project
Component: Text (show other bugs)
Version: 3.0   Edit
Hardware: PC Windows XP
: P1 major (vote)
Target Milestone: 3.0 RC3   Edit
Assignee: Dani Megert CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2004-06-16 06:04 EDT by Michael Moser CLA
Modified: 2004-06-22 07:31 EDT (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Michael Moser CLA 2004-06-16 06:04:31 EDT
I just got a NullPointerException - apparently in the CVS view (according to 
the stacktrace) which caused another deadlock:

the stacktrace - from console (but .log shows exactly the same):
!SESSION Jun 16, 2004 11:33:31.997 ---------------------------------------------
eclipse.buildId=I200406110010
java.version=1.4.2_03
java.vendor=Sun Microsystems Inc.
BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=de_CH

!ENTRY org.eclipse.ui 4 4 Jun 16, 2004 11:33:31.997
!MESSAGE Unhandled event loop exception
Unhandled event loop exception
Reason:

!ENTRY org.eclipse.ui 4 0 Jun 16, 2004 11:33:32.07
!MESSAGE java.lang.NullPointerException
!STACK 0
java.lang.NullPointerException
        at org.eclipse.team.internal.ccvs.ui.actions.SyncAction$2.run
(SyncAction.java:76)
        at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:135)
        at org.eclipse.ui.internal.UISynchronizer.syncExec
(UISynchronizer.java:25)
        at org.eclipse.swt.widgets.Display.syncExec(Display.java:3056)
        at 
org.eclipse.team.internal.ccvs.ui.actions.SyncAction.showSingleFileComparison
(SyncAction.java:74)
        at org.eclipse.team.internal.ccvs.ui.actions.SyncAction.execute
(SyncAction.java:43)
        at org.eclipse.team.internal.ccvs.ui.actions.CVSAction.run
(CVSAction.java:70)
        at org.eclipse.ui.actions.ActionDelegate.runWithEvent
(ActionDelegate.java:71)
        at org.eclipse.ui.internal.PluginAction.runWithEvent
(PluginAction.java:266)
        at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection
(ActionContributionItem.java:915)
        at org.eclipse.jface.action.ActionContributionItem.access$2
(ActionContributionItem.java:866)
        at org.eclipse.jface.action.ActionContributionItem$7.handleEvent
(ActionContributionItem.java:785)
        at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:82)
        at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:796)
        at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:2732)
        at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2398)
        at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1362)
        at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1333)
        at org.eclipse.ui.internal.Workbench.createAndRunWorkbench
(Workbench.java:252)
        at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:141)
        at org.eclipse.ui.internal.ide.IDEApplication.run
(IDEApplication.java:96)
        at org.eclipse.core.internal.runtime.PlatformActivator$1.run
(PlatformActivator.java:334)
        at org.eclipse.core.runtime.adaptor.EclipseStarter.run
(EclipseStarter.java:272)
        at org.eclipse.core.runtime.adaptor.EclipseStarter.run
(EclipseStarter.java:128)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.lang.reflect.Method.invoke(Unknown Source)
        at org.eclipse.core.launcher.Main.basicRun(Main.java:185)
        at org.eclipse.core.launcher.Main.run(Main.java:638)
        at org.eclipse.core.launcher.Main.main(Main.java:622)
java.lang.NullPointerException

!ENTRY org.eclipse.jdt.launching 4 150 Jun 16, 2004 11:34:01.520
!MESSAGE The archive: /act/import/lib/commons-logging.jar which is referenced 
by the classpath, does not exist.


The corresponding thread-dump:
-------------------------------------------------------------------
Full thread dump Java HotSpot(TM) Client VM (1.4.2_03-b02 mixed mode):

"Worker-16" prio=5 tid=0x02e65528 nid=0xa14 in Object.wait() [3c9f000..3c9fd8c]
        at java.lang.Object.wait(Native Method)
        at org.eclipse.core.internal.jobs.WorkerPool.sleep(WorkerPool.java:166)
        - locked <0x11941488> (a org.eclipse.core.internal.jobs.WorkerPool)
        at org.eclipse.core.internal.jobs.WorkerPool.startJob
(WorkerPool.java:193)
        at org.eclipse.core.internal.jobs.Worker.run(Worker.java:59)

"Thread-758" daemon prio=7 tid=0x0452eeb8 nid=0x3c0 waiting for monitor entry 
[53bf000..53bfd8c]
        at org.eclipse.jface.text.source.AnnotationMap.keySetIterator
(AnnotationMap.java:73)
        - waiting to lock <0x15e81c80> (a java.lang.Object)
        at org.eclipse.jface.text.source.AnnotationModel.getAnnotationIterator
(AnnotationModel.java:555)
        at org.eclipse.jface.text.source.AnnotationModel.getAnnotationIterator
(AnnotationModel.java:498)
        at org.eclipse.jface.text.source.AnnotationModel.getAnnotationIterator
(AnnotationModel.java:478)
        at 
org.eclipse.jface.text.source.projection.ProjectionSummary.removeSummaries
(ProjectionSummary.java:156)
        at 
org.eclipse.jface.text.source.projection.ProjectionSummary.internalUpdateSummari
es(ProjectionSummary.java:129)
        at org.eclipse.jface.text.source.projection.ProjectionSummary.access$3
(ProjectionSummary.java:111)
        at 
org.eclipse.jface.text.source.projection.ProjectionSummary$Summarizer.run
(ProjectionSummary.java:61)

"org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=2 tid=0x0479bbb8 
nid=0x4b8 waiting for monitor entry [537f000..537fd8c
]
        at org.eclipse.jface.text.source.AnnotationPainter.modelChanged
(AnnotationPainter.java:895)
        - waiting to lock <0x15eb50e8> (a 
org.eclipse.jface.text.source.AnnotationPainter)
        at org.eclipse.jface.text.source.AnnotationModel.fireModelChanged
(AnnotationModel.java:401)
        at org.eclipse.jface.text.source.AnnotationModel.fireModelChanged
(AnnotationModel.java:367)
        at org.eclipse.jface.text.source.AnnotationModel.replaceAnnotations
(AnnotationModel.java:210)
        at org.eclipse.jface.text.source.AnnotationModel.replaceAnnotations
(AnnotationModel.java:175)
        at 
org.eclipse.jdt.internal.ui.javaeditor.OverrideIndicatorManager.updateAnnotation
s(OverrideIndicatorManager.java:262)
        - locked <0x15e81c80> (a java.lang.Object)
        at 
org.eclipse.jdt.internal.ui.javaeditor.OverrideIndicatorManager.reconciled
(OverrideIndicatorManager.java:303)
        at 
org.eclipse.jdt.internal.ui.javaeditor.CompilationUnitEditor.reconciled
(CompilationUnitEditor.java:1743)
        at 
org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.reconcile
(JavaReconcilingStrategy.java:117)
        at 
org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.initialReconcile
(JavaReconcilingStrategy.java:156)
        at 
org.eclipse.jdt.internal.ui.text.CompositeReconcilingStrategy.initialReconcile
(CompositeReconcilingStrategy.java:114)
        at 
org.eclipse.jdt.internal.ui.text.JavaCompositeReconcilingStrategy.initialReconci
le(JavaCompositeReconcilingStrategy.java:
122)
        at org.eclipse.jface.text.reconciler.MonoReconciler.initialProcess
(MonoReconciler.java:104)
        at org.eclipse.jdt.internal.ui.text.JavaReconciler.initialProcess
(JavaReconciler.java:304)
        - locked <0x15e80e78> (a java.lang.Object)
        at 
org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run
(AbstractReconciler.java:169)

"org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=2 tid=0x045b54a8 
nid=0x504 in Object.wait() [530f000..530fd8c]
        at java.lang.Object.wait(Native Method)
        at 
org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run
(AbstractReconciler.java:175)
        - locked <0x15c2de60> (a 
org.eclipse.jface.text.reconciler.DirtyRegionQueue)

"org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=2 tid=0x046454e8 
nid=0xb34 in Object.wait() [52cf000..52cfd8c]
        at java.lang.Object.wait(Native Method)
        at 
org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run
(AbstractReconciler.java:175)
        - locked <0x15ae17e8> (a 
org.eclipse.jface.text.reconciler.DirtyRegionQueue)

"org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=2 tid=0x04590b10 
nid=0xcb0 runnable [528f000..528fd8c]
        at java.lang.Object.wait(Native Method)
        at 
org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run
(AbstractReconciler.java:175)
        - locked <0x15a3fd70> (a 
org.eclipse.jface.text.reconciler.DirtyRegionQueue)

"org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=2 tid=0x0458eb30 
nid=0x88c runnable [524f000..524fd8c]
        at java.lang.Object.wait(Native Method)
        at 
org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run
(AbstractReconciler.java:175)
        - locked <0x15950560> (a 
org.eclipse.jface.text.reconciler.DirtyRegionQueue)

"org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=2 tid=0x047d2e10 
nid=0xd80 runnable [520f000..520fd8c]
        at java.lang.Object.wait(Native Method)
        at 
org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run
(AbstractReconciler.java:175)
        - locked <0x1585fe50> (a 
org.eclipse.jface.text.reconciler.DirtyRegionQueue)

"org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=2 tid=0x046398c8 
nid=0xd48 runnable [51cf000..51cfd8c]
        at java.lang.Object.wait(Native Method)
        at 
org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run
(AbstractReconciler.java:175)
        - locked <0x1574a120> (a 
org.eclipse.jface.text.reconciler.DirtyRegionQueue)

"org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=2 tid=0x04638788 
nid=0x310 runnable [516f000..516fd8c]
        at java.lang.Object.wait(Native Method)
        at 
org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run
(AbstractReconciler.java:175)
        - locked <0x1564d2f8> (a 
org.eclipse.jface.text.reconciler.DirtyRegionQueue)

"org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=2 tid=0x0472d768 
nid=0x9fc runnable [506f000..506fd8c]
        at java.lang.Object.wait(Native Method)
        at 
org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run
(AbstractReconciler.java:175)
        - locked <0x1556edb0> (a 
org.eclipse.jface.text.reconciler.DirtyRegionQueue)

"org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=2 tid=0x04526330 
nid=0xacc runnable [421f000..421fd8c]
        at java.lang.Object.wait(Native Method)
        at 
org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run
(AbstractReconciler.java:175)
        - locked <0x153f3de8> (a 
org.eclipse.jface.text.reconciler.DirtyRegionQueue)

"Worker-12" prio=5 tid=0x046bf678 nid=0x968 in Object.wait() [512f000..512fd8c]
        at java.lang.Object.wait(Native Method)
        at org.eclipse.core.internal.jobs.WorkerPool.sleep(WorkerPool.java:166)
        - locked <0x11941488> (a org.eclipse.core.internal.jobs.WorkerPool)
        at org.eclipse.core.internal.jobs.WorkerPool.startJob
(WorkerPool.java:193)
        at org.eclipse.core.internal.jobs.Worker.run(Worker.java:59)

"org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=2 tid=0x0322ecb8 
nid=0x14c runnable [4e2f000..4e2fd8c]
        at java.lang.Object.wait(Native Method)
        at 
org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run
(AbstractReconciler.java:175)
        - locked <0x13793d18> (a 
org.eclipse.jface.text.reconciler.DirtyRegionQueue)

"org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=2 tid=0x04403b20 
nid=0xb24 runnable [4c2f000..4c2fd8c]
        at java.lang.Object.wait(Native Method)
        - waiting on <0x13597058> (a 
org.eclipse.jface.text.reconciler.DirtyRegionQueue)
        at 
org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run
(AbstractReconciler.java:175)
        - locked <0x13597058> (a 
org.eclipse.jface.text.reconciler.DirtyRegionQueue)

"org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=2 tid=0x04381a68 
nid=0xee4 runnable [4bef000..4befd8c]
        at java.lang.Object.wait(Native Method)
        - waiting on <0x13509ca0> (a 
org.eclipse.jface.text.reconciler.DirtyRegionQueue)
        at 
org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run
(AbstractReconciler.java:175)
        - locked <0x13509ca0> (a 
org.eclipse.jface.text.reconciler.DirtyRegionQueue)

"org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=2 tid=0x042aaa50 
nid=0xdcc runnable [4aaf000..4aafd8c]
        at java.lang.Object.wait(Native Method)
        - waiting on <0x13447660> (a 
org.eclipse.jface.text.reconciler.DirtyRegionQueue)
        at 
org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run
(AbstractReconciler.java:175)
        - locked <0x13447660> (a 
org.eclipse.jface.text.reconciler.DirtyRegionQueue)

"Java indexing" daemon prio=4 tid=0x030b1ac0 nid=0x6dc in Object.wait() 
[3fdf000..3fdfd8c]
        at java.lang.Object.wait(Native Method)
        - waiting on <0x11c83a18> (a 
org.eclipse.jdt.internal.core.search.indexing.IndexManager)
        at java.lang.Object.wait(Unknown Source)
        at org.eclipse.jdt.internal.core.search.processing.JobManager.run
(JobManager.java:338)
        - locked <0x11c83a18> (a 
org.eclipse.jdt.internal.core.search.indexing.IndexManager)
        at java.lang.Thread.run(Unknown Source)

"Reference Cleaner - 2" prio=7 tid=0x0308dba8 nid=0xb1c in Object.wait() 
[3ecf000..3ecfd8c]
        at java.lang.Object.wait(Native Method)
        - waiting on <0x11bf39d8> (a java.lang.ref.ReferenceQueue$Lock)
        at java.lang.ref.ReferenceQueue.remove(Unknown Source)
        - locked <0x11bf39d8> (a java.lang.ref.ReferenceQueue$Lock)
        at java.lang.ref.ReferenceQueue.remove(Unknown Source)
        at 
org.eclipse.jface.action.ActionContributionItem$ImageCache$ReferenceCleanerThrea
d.run(ActionContributionItem.java:207)

"Reference Cleaner - 1" prio=7 tid=0x03065c58 nid=0xbd4 in Object.wait() 
[3e8f000..3e8fd8c]
        at java.lang.Object.wait(Native Method)
        - waiting on <0x11bf3a48> (a java.lang.ref.ReferenceQueue$Lock)
        at java.lang.ref.ReferenceQueue.remove(Unknown Source)
        - locked <0x11bf3a48> (a java.lang.ref.ReferenceQueue$Lock)
        at java.lang.ref.ReferenceQueue.remove(Unknown Source)
        at 
org.eclipse.jface.action.ActionContributionItem$ImageCache$ReferenceCleanerThrea
d.run(ActionContributionItem.java:207)

"Start Level Event Dispatcher" daemon prio=5 tid=0x02ea88e0 nid=0xf0c in 
Object.wait() [2fcf000..2fcfd8c]
        at java.lang.Object.wait(Native Method)
        - waiting on <0x117c8f00> (a 
org.eclipse.osgi.framework.eventmgr.EventThread)
        at java.lang.Object.wait(Unknown Source)
        at org.eclipse.osgi.framework.eventmgr.EventThread.getNextEvent
(EventThread.java:162)
        - locked <0x117c8f00> (a 
org.eclipse.osgi.framework.eventmgr.EventThread)
        at org.eclipse.osgi.framework.eventmgr.EventThread.run
(EventThread.java:100)

"Framework Event Dispatcher" daemon prio=5 tid=0x009897a8 nid=0x738 in 
Object.wait() [2f8f000..2f8fd8c]
        at java.lang.Object.wait(Native Method)
        - waiting on <0x117b1438> (a 
org.eclipse.osgi.framework.eventmgr.EventThread)
        at java.lang.Object.wait(Unknown Source)
        at org.eclipse.osgi.framework.eventmgr.EventThread.getNextEvent
(EventThread.java:162)
        - locked <0x117b1438> (a 
org.eclipse.osgi.framework.eventmgr.EventThread)
        at org.eclipse.osgi.framework.eventmgr.EventThread.run
(EventThread.java:100)

"Signal Dispatcher" daemon prio=10 tid=0x008f62e0 nid=0xcec waiting on 
condition [0..0]

"Finalizer" daemon prio=9 tid=0x008f34d8 nid=0xaa0 in Object.wait() 
[2c2f000..2c2fd8c]
        at java.lang.Object.wait(Native Method)
        - waiting on <0x1172a238> (a java.lang.ref.ReferenceQueue$Lock)
        at java.lang.ref.ReferenceQueue.remove(Unknown Source)
        - locked <0x1172a238> (a java.lang.ref.ReferenceQueue$Lock)
        at java.lang.ref.ReferenceQueue.remove(Unknown Source)
        at java.lang.ref.Finalizer$FinalizerThread.run(Unknown Source)

"Reference Handler" daemon prio=10 tid=0x008f20a8 nid=0x9b8 in Object.wait() 
[2bef000..2befd8c]
        at java.lang.Object.wait(Native Method)
        - waiting on <0x1172a2a0> (a java.lang.ref.Reference$Lock)
        at java.lang.Object.wait(Unknown Source)
        at java.lang.ref.Reference$ReferenceHandler.run(Unknown Source)
        - locked <0x1172a2a0> (a java.lang.ref.Reference$Lock)

"main" prio=5 tid=0x00035c78 nid=0x928 waiting for monitor entry [7e000..7fc3c]
        at org.eclipse.jface.text.source.AnnotationMap.get
(AnnotationMap.java:100)
        - waiting to lock <0x15e81c80> (a java.lang.Object)
        at org.eclipse.jface.text.source.AnnotationModel.getPosition
(AnnotationModel.java:562)
        at org.eclipse.jface.text.source.AnnotationPainter.getDecoration
(AnnotationPainter.java:644)
        at org.eclipse.jface.text.source.AnnotationPainter.catchupWithModel
(AnnotationPainter.java:531)
        at org.eclipse.jface.text.source.AnnotationPainter.updatePainting
(AnnotationPainter.java:798)
        at org.eclipse.jface.text.source.AnnotationPainter.modelChanged
(AnnotationPainter.java:899)
        - locked <0x15eb50e8> (a 
org.eclipse.jface.text.source.AnnotationPainter)
        at org.eclipse.jface.text.source.AnnotationModel.fireModelChanged
(AnnotationModel.java:401)
        at org.eclipse.jface.text.source.AnnotationModel.fireModelChanged
(AnnotationModel.java:367)
        at org.eclipse.ui.texteditor.ResourceMarkerAnnotationModel.update
(ResourceMarkerAnnotationModel.java:110)
        at 
org.eclipse.ui.texteditor.ResourceMarkerAnnotationModel$ResourceChangeListener.r
esourceChanged(ResourceMarkerAnnotationMo
del.java:53)
        at org.eclipse.core.internal.events.NotificationManager$2.run
(NotificationManager.java:283)
        at org.eclipse.core.internal.runtime.InternalPlatform.run
(InternalPlatform.java:615)
        at org.eclipse.core.runtime.Platform.run(Platform.java:758)
        at org.eclipse.core.internal.events.NotificationManager.notify
(NotificationManager.java:277)
        at org.eclipse.core.internal.events.NotificationManager.broadcastChanges
(NotificationManager.java:151)
        at org.eclipse.core.internal.resources.Workspace.broadcastChanges
(Workspace.java:172)
        at org.eclipse.core.internal.resources.Workspace.endOperation
(Workspace.java:900)
        at org.eclipse.core.internal.resources.Workspace.run
(Workspace.java:1682)
        at org.eclipse.core.internal.resources.Workspace.run
(Workspace.java:1693)
        at org.eclipse.ajdt.internal.ui.editor.AspectJEditor.addNewMarkers
(AspectJEditor.java:509)
        at org.eclipse.ajdt.internal.ui.editor.AspectJEditor$1.run
(AspectJEditor.java:397)
        at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
        at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages
(Synchronizer.java:106)
        - locked <0x15f089f0> (a org.eclipse.swt.widgets.RunnableLock)
        at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:2709)
        at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2401)
        at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1362)
        at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1333)
        at org.eclipse.ui.internal.Workbench.createAndRunWorkbench
(Workbench.java:252)
        at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:141)
        at org.eclipse.ui.internal.ide.IDEApplication.run
(IDEApplication.java:96)
        at org.eclipse.core.internal.runtime.PlatformActivator$1.run
(PlatformActivator.java:334)
        at org.eclipse.core.runtime.adaptor.EclipseStarter.run
(EclipseStarter.java:272)
        at org.eclipse.core.runtime.adaptor.EclipseStarter.run
(EclipseStarter.java:128)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.lang.reflect.Method.invoke(Unknown Source)
        at org.eclipse.core.launcher.Main.basicRun(Main.java:185)
        at org.eclipse.core.launcher.Main.run(Main.java:638)
        at org.eclipse.core.launcher.Main.main(Main.java:622)

"VM Thread" prio=5 tid=0x009336b0 nid=0x8e0 runnable

"VM Periodic Task Thread" prio=10 tid=0x0094e1a8 nid=0xb0 waiting on condition
"Suspend Checker Thread" prio=10 tid=0x008f5558 nid=0xc28 runnable

Found one Java-level deadlock:
=============================
"org.eclipse.jdt.internal.ui.text.JavaReconciler":
  waiting to lock monitor 0x008f2db4 (object 0x15eb50e8, a 
org.eclipse.jface.text.source.AnnotationPainter),
  which is held by "main"
"main":
  waiting to lock monitor 0x008f2d94 (object 0x15e81c80, 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:895)
        - waiting to lock <0x15eb50e8> (a 
org.eclipse.jface.text.source.AnnotationPainter)
        at org.eclipse.jface.text.source.AnnotationModel.fireModelChanged
(AnnotationModel.java:401)
        at org.eclipse.jface.text.source.AnnotationModel.fireModelChanged
(AnnotationModel.java:367)
        at org.eclipse.jface.text.source.AnnotationModel.replaceAnnotations
(AnnotationModel.java:210)
        at org.eclipse.jface.text.source.AnnotationModel.replaceAnnotations
(AnnotationModel.java:175)
        at 
org.eclipse.jdt.internal.ui.javaeditor.OverrideIndicatorManager.updateAnnotation
s(OverrideIndicatorManager.java:262)
        - locked <0x15e81c80> (a java.lang.Object)
        at 
org.eclipse.jdt.internal.ui.javaeditor.OverrideIndicatorManager.reconciled
(OverrideIndicatorManager.java:303)
        at 
org.eclipse.jdt.internal.ui.javaeditor.CompilationUnitEditor.reconciled
(CompilationUnitEditor.java:1743)
        at 
org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.reconcile
(JavaReconcilingStrategy.java:117)
        at 
org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.initialReconcile
(JavaReconcilingStrategy.java:156)
        at 
org.eclipse.jdt.internal.ui.text.CompositeReconcilingStrategy.initialReconcile
(CompositeReconcilingStrategy.java:114)
        at 
org.eclipse.jdt.internal.ui.text.JavaCompositeReconcilingStrategy.initialReconci
le(JavaCompositeReconcilingStrategy.java:
122)
        at org.eclipse.jface.text.reconciler.MonoReconciler.initialProcess
(MonoReconciler.java:104)
        at org.eclipse.jdt.internal.ui.text.JavaReconciler.initialProcess
(JavaReconciler.java:304)
        - locked <0x15e80e78> (a java.lang.Object)
        at 
org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run
(AbstractReconciler.java:169)
"main":
        at org.eclipse.jface.text.source.AnnotationMap.get
(AnnotationMap.java:100)
        - waiting to lock <0x15e81c80> (a java.lang.Object)
        at org.eclipse.jface.text.source.AnnotationModel.getPosition
(AnnotationModel.java:562)
        at org.eclipse.jface.text.source.AnnotationPainter.getDecoration
(AnnotationPainter.java:644)
        at org.eclipse.jface.text.source.AnnotationPainter.catchupWithModel
(AnnotationPainter.java:531)
        at org.eclipse.jface.text.source.AnnotationPainter.updatePainting
(AnnotationPainter.java:798)
        at org.eclipse.jface.text.source.AnnotationPainter.modelChanged
(AnnotationPainter.java:899)
        - locked <0x15eb50e8> (a 
org.eclipse.jface.text.source.AnnotationPainter)
        at org.eclipse.jface.text.source.AnnotationModel.fireModelChanged
(AnnotationModel.java:401)
        at org.eclipse.jface.text.source.AnnotationModel.fireModelChanged
(AnnotationModel.java:367)
        at org.eclipse.ui.texteditor.ResourceMarkerAnnotationModel.update
(ResourceMarkerAnnotationModel.java:110)
        at 
org.eclipse.ui.texteditor.ResourceMarkerAnnotationModel$ResourceChangeListener.r
esourceChanged(ResourceMarkerAnnotationMo
del.java:53)
        at org.eclipse.core.internal.events.NotificationManager$2.run
(NotificationManager.java:283)
        at org.eclipse.core.internal.runtime.InternalPlatform.run
(InternalPlatform.java:615)
        at org.eclipse.core.runtime.Platform.run(Platform.java:758)
        at org.eclipse.core.internal.events.NotificationManager.notify
(NotificationManager.java:277)
        at org.eclipse.core.internal.events.NotificationManager.broadcastChanges
(NotificationManager.java:151)
        at org.eclipse.core.internal.resources.Workspace.broadcastChanges
(Workspace.java:172)
        at org.eclipse.core.internal.resources.Workspace.endOperation
(Workspace.java:900)
        at org.eclipse.core.internal.resources.Workspace.run
(Workspace.java:1682)
        at org.eclipse.core.internal.resources.Workspace.run
(Workspace.java:1693)
        at org.eclipse.ajdt.internal.ui.editor.AspectJEditor.addNewMarkers
(AspectJEditor.java:509)
        at org.eclipse.ajdt.internal.ui.editor.AspectJEditor$1.run
(AspectJEditor.java:397)
        at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
        at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages
(Synchronizer.java:106)
        - locked <0x15f089f0> (a org.eclipse.swt.widgets.RunnableLock)
        at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:2709)
        at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2401)
        at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1362)
        at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1333)
        at org.eclipse.ui.internal.Workbench.createAndRunWorkbench
(Workbench.java:252)
        at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:141)
        at org.eclipse.ui.internal.ide.IDEApplication.run
(IDEApplication.java:96)
        at org.eclipse.core.internal.runtime.PlatformActivator$1.run
(PlatformActivator.java:334)
        at org.eclipse.core.runtime.adaptor.EclipseStarter.run
(EclipseStarter.java:272)
        at org.eclipse.core.runtime.adaptor.EclipseStarter.run
(EclipseStarter.java:128)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.lang.reflect.Method.invoke(Unknown Source)
        at org.eclipse.core.launcher.Main.basicRun(Main.java:185)
        at org.eclipse.core.launcher.Main.run(Main.java:638)
        at org.eclipse.core.launcher.Main.main(Main.java:622)

Found 1 deadlock.
Comment 1 Olivier Thomann CLA 2004-06-16 09:12:51 EDT
Move to Platform/CVS
Comment 2 Michael Valenta CLA 2004-06-16 11:12:14 EDT
I have opened bug 67464 for the NPE and I'm noving this bug to Platform Text 
to investigate the deadlock (I doubt that the NPE is related to the deadlock).
Comment 3 Erich Gamma CLA 2004-06-17 17:16:00 EDT
+1 for RC3
Comment 4 Dani Megert CLA 2004-06-18 10:17:03 EDT
Reviewed by KUM.
Fixed in HEAD.
Will be released into an upcoming build (> I200406181200)


Comment 5 Christof Marti CLA 2004-06-21 05:59:33 EDT
Start verifying
Comment 6 Christof Marti CLA 2004-06-21 08:54:36 EDT
Verified by code inspection
Comment 7 Michael Moser CLA 2004-06-22 07:20:22 EDT
I just installed M3.0RC3 and got the following - I guess this is now working as 
designed. I just wanted to make sure...
Michael

!SESSION Jun 22, 2004 13:07:47.354 ---------------------------------------------
eclipse.buildId=I200406192000
java.version=1.4.2_03
java.vendor=Sun Microsystems Inc.
BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=de_CH

!ENTRY org.eclipse.osgi Jun 22, 2004 13:07:47.364
!MESSAGE While loading 
class "org.eclipse.team.internal.ccvs.ui.console.ConsoleDocument$ConsoleLine", 
thread "main" timed out waitin
g (5000ms) for thread "Worker-2" to finish starting 
bundle "org.eclipse.team.cvs.ui". To avoid deadlock, thread "main" is proceeding
 but "org.eclipse.team.internal.ccvs.ui.console.ConsoleDocument$ConsoleLine" 
may not be fully initialized.
!STACK 0
java.lang.Exception: Generated exception.
        at org.eclipse.core.runtime.adaptor.EclipseClassLoader.findLocalClass
(EclipseClassLoader.java:102)
        at org.eclipse.osgi.framework.internal.core.BundleLoader.findLocalClass
(BundleLoader.java:371)
        at org.eclipse.osgi.framework.internal.core.BundleLoader.findClass
(BundleLoader.java:402)
        at org.eclipse.osgi.framework.adaptor.core.AbstractClassLoader.loadClass
(AbstractClassLoader.java:93)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClassInternal(Unknown Source)
        at org.eclipse.team.internal.ccvs.ui.console.ConsoleDocument.getLines
(ConsoleDocument.java:78)
        at org.eclipse.team.internal.ccvs.ui.console.CVSOutputConsole.dump
(CVSOutputConsole.java:140)
        at org.eclipse.team.internal.ccvs.ui.console.CVSOutputConsole.access$1
(CVSOutputConsole.java:137)
        at org.eclipse.team.internal.ccvs.ui.console.CVSOutputConsole$1.run
(CVSOutputConsole.java:108)
        at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
        at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages
(Synchronizer.java:106)
        at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:2709)
        at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2401)
        at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1375)
        at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1346)
        at org.eclipse.ui.internal.Workbench.createAndRunWorkbench
(Workbench.java:252)
        at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:141)
        at org.eclipse.ui.internal.ide.IDEApplication.run
(IDEApplication.java:96)
        at org.eclipse.core.internal.runtime.PlatformActivator$1.run
(PlatformActivator.java:335)
        at org.eclipse.core.runtime.adaptor.EclipseStarter.run
(EclipseStarter.java:272)
        at org.eclipse.core.runtime.adaptor.EclipseStarter.run
(EclipseStarter.java:128)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.lang.reflect.Method.invoke(Unknown Source)
        at org.eclipse.core.launcher.Main.basicRun(Main.java:186)
        at org.eclipse.core.launcher.Main.run(Main.java:647)
        at org.eclipse.core.launcher.Main.main(Main.java:631)
Comment 8 Dani Megert CLA 2004-06-22 07:31:50 EDT
Michael the last comment is unrelated to this bug and its fix. Please file a new
bug to track this down.