Found one Java-level deadlock:

“Text Viewer Hover Presenter”:
waiting for ownable synchronizer 11ec8f040, (a java.util.concurrent.locks.ReentrantLock$NonfairSync),
which is held by “Worker-230”
“Worker-230”:
waiting to lock monitor 1c2130a50 (object 11ec8ab80, a org.strategoxt.imp.runtime.SWTSafeLock),
which is held by “Worker-233”
“Worker-233”:
waiting for ownable synchronizer 11ec8f040, (a java.util.concurrent.locks.ReentrantLock$NonfairSync),
which is held by “Worker-230”

Java stack information for the threads listed above:

“Text Viewer Hover Presenter”:
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <11ec8f040> (a java.util.concurrent.locks.ReentrantLock$NonfairSync)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:747)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireQueued(AbstractQueuedSynchronizer.java:778)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquire(AbstractQueuedSynchronizer.java:1114)
at java.util.concurrent.locks.ReentrantLock$NonfairSync.lock(ReentrantLock.java:186)
at java.util.concurrent.locks.ReentrantLock.lock(ReentrantLock.java:262)
at org.strategoxt.imp.runtime.SWTSafeLock.lock(SWTSafeLock.java:49)
at org.strategoxt.imp.runtime.services.StrategoReferenceResolver.getLinkTarget(StrategoReferenceResolver.java:50)
at org.strategoxt.imp.runtime.services.StrategoReferenceResolver.getLinkTarget(StrategoReferenceResolver.java:1)
at org.strategoxt.imp.runtime.dynamicloading.DynamicReferenceResolver.getLinkTarget(DynamicReferenceResolver.java:21)
at org.strategoxt.imp.runtime.services.AnnotationHoverHelper.getHoverHelpAt(AnnotationHoverHelper.java:43)
at org.eclipse.imp.editor.internal.HoverHelpController.getHoverInfo(HoverHelpController.java:59)
at org.eclipse.jface.text.TextViewerHoverManager$4.run(TextViewerHoverManager.java:168)
“Worker-230”:
at org.strategoxt.imp.runtime.services.StrategoObserver.update(StrategoObserver.java:290)
- waiting to lock <11ec8ab80> (a org.strategoxt.imp.runtime.SWTSafeLock)
at org.strategoxt.imp.runtime.services.StrategoObserverUpdateJob.analyze(StrategoObserverUpdateJob.java:30)
at org.strategoxt.imp.runtime.services.StrategoAnalysisQueue$UpdateJob.run(StrategoAnalysisQueue.java:88)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
“Worker-233”:
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <11ec8f040> (a java.util.concurrent.locks.ReentrantLock$NonfairSync)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:747)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireQueued(AbstractQueuedSynchronizer.java:778)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquire(AbstractQueuedSynchronizer.java:1114)
at java.util.concurrent.locks.ReentrantLock$NonfairSync.lock(ReentrantLock.java:186)
at java.util.concurrent.locks.ReentrantLock.lock(ReentrantLock.java:262)
at org.strategoxt.imp.runtime.SWTSafeLock.lock(SWTSafeLock.java:49)
at org.strategoxt.imp.runtime.services.StrategoObserver.invoke(StrategoObserver.java:546)
at org.strategoxt.imp.runtime.services.StrategoObserver.invokeSilent(StrategoObserver.java:602)
at org.strategoxt.imp.runtime.services.StrategoObserver.update(StrategoObserver.java:291)
- locked <11ec8ab80> (a org.strategoxt.imp.runtime.SWTSafeLock)
at org.strategoxt.imp.runtime.services.StrategoObserverBackgroundUpdateJob.analyze(StrategoObserverBackgroundUpdateJob.java:68)
at org.strategoxt.imp.runtime.services.StrategoAnalysisQueue$UpdateJob.run(StrategoAnalysisQueue.java:88)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)

Found 1 deadlock.

Heap
par new generation total 38336K, used 26287K [119810000, 11c1a0000, 11c1a0000)
eden space 34112K, 67% used [119810000, 11ae96eb8, 11b960000)
from space 4224K, 76% used [11bd80000, 11c0a4e00, 11c1a0000)
to space 4224K, 0% used [11b960000, 11b960000, 11bd80000)
concurrent mark-sweep generation total 2005440K, used 1335912K [11c1a0000, 196810000, 196810000)
concurrent-mark-sweep perm gen total 262144K, used 172628K [196810000, 1a6810000, 1a6810000)

^\2010-10-03 08:17:14
Full thread dump Java HotSpot(TM) 64-Bit Server VM (16.3-b01-279 mixed mode):

“Text Viewer Hover Presenter” daemon prio=1 tid=11841a800 nid=0x1ca007000 waiting on condition [1ca006000]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <11ec8f040> (a java.util.concurrent.locks.ReentrantLock$NonfairSync)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:747)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireQueued(AbstractQueuedSynchronizer.java:778)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquire(AbstractQueuedSynchronizer.java:1114)
at java.util.concurrent.locks.ReentrantLock$NonfairSync.lock(ReentrantLock.java:186)
at java.util.concurrent.locks.ReentrantLock.lock(ReentrantLock.java:262)
at org.strategoxt.imp.runtime.SWTSafeLock.lock(SWTSafeLock.java:49)
at org.strategoxt.imp.runtime.services.StrategoReferenceResolver.getLinkTarget(StrategoReferenceResolver.java:50)
at org.strategoxt.imp.runtime.services.StrategoReferenceResolver.getLinkTarget(StrategoReferenceResolver.java:1)
at org.strategoxt.imp.runtime.dynamicloading.DynamicReferenceResolver.getLinkTarget(DynamicReferenceResolver.java:21)
at org.strategoxt.imp.runtime.services.AnnotationHoverHelper.getHoverHelpAt(AnnotationHoverHelper.java:43)
at org.eclipse.imp.editor.internal.HoverHelpController.getHoverInfo(HoverHelpController.java:59)
at org.eclipse.jface.text.TextViewerHoverManager$4.run(TextViewerHoverManager.java:168)

“Text Viewer Hover Presenter” daemon prio=1 tid=11841a000 nid=0x1c9804000 waiting on condition [1c9803000]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <11ec8f040> (a java.util.concurrent.locks.ReentrantLock$NonfairSync)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:747)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireQueued(AbstractQueuedSynchronizer.java:778)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquire(AbstractQueuedSynchronizer.java:1114)
at java.util.concurrent.locks.ReentrantLock$NonfairSync.lock(ReentrantLock.java:186)
at java.util.concurrent.locks.ReentrantLock.lock(ReentrantLock.java:262)
at org.strategoxt.imp.runtime.SWTSafeLock.lock(SWTSafeLock.java:49)
at org.strategoxt.imp.runtime.services.StrategoReferenceResolver.getLinkTarget(StrategoReferenceResolver.java:50)
at org.strategoxt.imp.runtime.services.StrategoReferenceResolver.getLinkTarget(StrategoReferenceResolver.java:1)
at org.strategoxt.imp.runtime.dynamicloading.DynamicReferenceResolver.getLinkTarget(DynamicReferenceResolver.java:21)
at org.strategoxt.imp.runtime.services.AnnotationHoverHelper.getHoverHelpAt(AnnotationHoverHelper.java:43)
at org.eclipse.imp.editor.internal.HoverHelpController.getHoverInfo(HoverHelpController.java:59)
at org.eclipse.jface.text.TextViewerHoverManager$4.run(TextViewerHoverManager.java:168)

“Worker-233” prio=5 tid=113fb8000 nid=0x1c9001000 waiting on condition [1c9000000]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <11ec8f040> (a java.util.concurrent.locks.ReentrantLock$NonfairSync)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:747)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireQueued(AbstractQueuedSynchronizer.java:778)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquire(AbstractQueuedSynchronizer.java:1114)
at java.util.concurrent.locks.ReentrantLock$NonfairSync.lock(ReentrantLock.java:186)
at java.util.concurrent.locks.ReentrantLock.lock(ReentrantLock.java:262)
at org.strategoxt.imp.runtime.SWTSafeLock.lock(SWTSafeLock.java:49)
at org.strategoxt.imp.runtime.services.StrategoObserver.invoke(StrategoObserver.java:546)
at org.strategoxt.imp.runtime.services.StrategoObserver.invokeSilent(StrategoObserver.java:602)
at org.strategoxt.imp.runtime.services.StrategoObserver.update(StrategoObserver.java:291)
- locked <11ec8ab80> (a org.strategoxt.imp.runtime.SWTSafeLock)
at org.strategoxt.imp.runtime.services.StrategoObserverBackgroundUpdateJob.analyze(StrategoObserverBackgroundUpdateJob.java:68)
at org.strategoxt.imp.runtime.services.StrategoAnalysisQueue$UpdateJob.run(StrategoAnalysisQueue.java:88)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)

“Worker-230” prio=5 tid=1b524d800 nid=0x1c6f0a000 waiting for monitor entry [1c6f09000]
java.lang.Thread.State: BLOCKED (on object monitor)
at org.strategoxt.imp.runtime.services.StrategoObserver.update(StrategoObserver.java:290)
- waiting to lock <11ec8ab80> (a org.strategoxt.imp.runtime.SWTSafeLock)
at org.strategoxt.imp.runtime.services.StrategoObserverUpdateJob.analyze(StrategoObserverUpdateJob.java:30)
at org.strategoxt.imp.runtime.services.StrategoAnalysisQueue$UpdateJob.run(StrategoAnalysisQueue.java:88)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)

“Worker-229” prio=5 tid=1183db800 nid=0x1c5001000 waiting for monitor entry [1c5000000]
java.lang.Thread.State: BLOCKED (on object monitor)
at org.strategoxt.imp.runtime.services.StrategoObserver.update(StrategoObserver.java:290)
- waiting to lock <11ec8ab80> (a org.strategoxt.imp.runtime.SWTSafeLock)
at org.strategoxt.imp.runtime.services.StrategoObserverBackgroundUpdateJob.analyze(StrategoObserverBackgroundUpdateJob.java:68)
at org.strategoxt.imp.runtime.services.StrategoAnalysisQueue$UpdateJob.run(StrategoAnalysisQueue.java:88)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)

“Worker-228” prio=5 tid=118482800 nid=0x1c5804000 in Object.wait() [1c5803000]
java.lang.Thread.State: TIMED_WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at org.eclipse.core.internal.jobs.WorkerPool.sleep(WorkerPool.java:185)
- locked <11ca334a0> (a org.eclipse.core.internal.jobs.WorkerPool)
at org.eclipse.core.internal.jobs.WorkerPool.startJob(WorkerPool.java:217)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:51)

“Worker-227” prio=5 tid=1b51e9800 nid=0x1bea01000 waiting on condition [1bea00000]
java.lang.Thread.State: TIMED_WAITING (sleeping)
at java.lang.Thread.sleep(Native Method)
at org.strategoxt.imp.runtime.MonitorStateWatchDog$WatchDogJob.run(MonitorStateWatchDog.java:70)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)

“Worker-226” prio=5 tid=1b5242800 nid=0x1bc415000 in Object.wait() [1bc414000]
java.lang.Thread.State: TIMED_WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at org.eclipse.core.internal.jobs.WorkerPool.sleep(WorkerPool.java:185)
- locked <11ca334a0> (a org.eclipse.core.internal.jobs.WorkerPool)
at org.eclipse.core.internal.jobs.WorkerPool.startJob(WorkerPool.java:217)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:51)

“[ThreadPool Manager] - Idle Thread” daemon prio=5 tid=11838a800 nid=0x1c1d63000 in Object.wait() [1c1d62000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:485)
at org.eclipse.equinox.internal.util.impl.tpt.threadpool.Executor.run(Executor.java:106)
- locked <120ebecf8> (a org.eclipse.equinox.internal.util.impl.tpt.threadpool.Executor)

“Java indexing” daemon prio=4 tid=113daf000 nid=0x1bbc12000 in Object.wait() [1bbc11000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:485)
at org.eclipse.jdt.internal.core.search.processing.JobManager.run(JobManager.java:378)
- locked <11fef6f00> (a org.eclipse.jdt.internal.core.search.indexing.IndexManager)
at java.lang.Thread.run(Thread.java:637)

“Timer-0” daemon prio=6 tid=113b38800 nid=0x1bb40f000 in Object.wait() [1bb40e000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:485)
at java.util.TimerThread.mainLoop(Timer.java:483)
- locked <11f06eeb8> (a java.util.TaskQueue)
at java.util.TimerThread.run(Timer.java:462)

“[Timer] - Main Queue Handler” daemon prio=5 tid=113e43800 nid=0x1b6804000 in Object.wait() [1b6803000]
java.lang.Thread.State: TIMED_WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at org.eclipse.equinox.internal.util.impl.tpt.timer.TimerImpl.run(TimerImpl.java:141)
- locked <11cbd9648> (a java.lang.Object)
at java.lang.Thread.run(Thread.java:637)

“Bundle File Closer” daemon prio=5 tid=118778000 nid=0x1b47a7000 in Object.wait() [1b47a6000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:485)
at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.getNextEvent(EventManager.java:393)
- locked <11c7dc948> (a org.eclipse.osgi.framework.eventmgr.EventManager$EventThread)
at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:333)

“Framework Event Dispatcher” daemon prio=5 tid=113917000 nid=0x1b3fa4000 in Object.wait() [1b3fa3000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <11c7dca08> (a org.eclipse.osgi.framework.eventmgr.EventManager$EventThread)
at java.lang.Object.wait(Object.java:485)
at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.getNextEvent(EventManager.java:393)
- locked <11c7dca08> (a org.eclipse.osgi.framework.eventmgr.EventManager$EventThread)
at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:333)

“Start Level Event Dispatcher” daemon prio=5 tid=11399a000 nid=0x1b37a1000 in Object.wait() [1b37a0000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <11c7dcac8> (a org.eclipse.osgi.framework.eventmgr.EventManager$EventThread)
at java.lang.Object.wait(Object.java:485)
at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.getNextEvent(EventManager.java:393)
- locked <11c7dcac8> (a org.eclipse.osgi.framework.eventmgr.EventManager$EventThread)
at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:333)

“State Data Manager” daemon prio=5 tid=113945000 nid=0x1b2f9e000 waiting on condition [1b2f9d000]
java.lang.Thread.State: TIMED_WAITING (sleeping)
at java.lang.Thread.sleep(Native Method)
at org.eclipse.osgi.internal.baseadaptor.StateManager.run(StateManager.java:306)
at java.lang.Thread.run(Thread.java:637)

“Poller SunPKCS11-Darwin” daemon prio=1 tid=113a44000 nid=0x1b089f000 waiting on condition [1b089e000]
java.lang.Thread.State: TIMED_WAITING (sleeping)
at java.lang.Thread.sleep(Native Method)
at sun.security.pkcs11.SunPKCS11$TokenPoller.run(SunPKCS11.java:692)
at java.lang.Thread.run(Thread.java:637)

“Low Memory Detector” daemon prio=5 tid=1138a1800 nid=0x1af797000 runnable [00000000]
java.lang.Thread.State: RUNNABLE

“CompilerThread1” daemon prio=9 tid=1138a0800 nid=0x1aef94000 waiting on condition [00000000]
java.lang.Thread.State: RUNNABLE

“CompilerThread0” daemon prio=9 tid=1138a0000 nid=0x1ae791000 waiting on condition [00000000]
java.lang.Thread.State: RUNNABLE

“Signal Dispatcher” daemon prio=9 tid=11389f000 nid=0x1adf8e000 waiting on condition [00000000]
java.lang.Thread.State: RUNNABLE

“Surrogate Locker Thread (CMS)” daemon prio=5 tid=11389e800 nid=0x1ad78b000 waiting on condition [00000000]
java.lang.Thread.State: RUNNABLE

“Finalizer” daemon prio=8 tid=113889800 nid=0x1acf88000 in Object.wait() [1acf87000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:118)
- locked <11c1a0018> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:134)
at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159)

“Reference Handler” daemon prio=10 tid=113889000 nid=0x1ac785000 in Object.wait() [1ac784000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:485)
at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:116)
- locked <11c1a3e38> (a java.lang.ref.Reference$Lock)

“main” prio=6 tid=113801000 nid=0x7fff70584c20 waiting on condition [7fff5fbf9000]
java.lang.Thread.State: TIMED_WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <11ec8f040> (a java.util.concurrent.locks.ReentrantLock$NonfairSync)
at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:198)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireNanos(AbstractQueuedSynchronizer.java:841)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.tryAcquireNanos(AbstractQueuedSynchronizer.java:1160)
at java.util.concurrent.locks.ReentrantLock.tryLock(ReentrantLock.java:416)
at org.strategoxt.imp.runtime.SWTSafeLock.lock(SWTSafeLock.java:43)
at org.strategoxt.imp.runtime.services.OnSaveService.documentChanged(OnSaveService.java:54)
at org.eclipse.imp.editor.UniversalEditor.doSave(UniversalEditor.java:1937)
at org.eclipse.ui.texteditor.AbstractTextEditor$TextEditorSavable.doSave(AbstractTextEditor.java:7066)
at org.eclipse.ui.Saveable.doSave(Saveable.java:214)
at org.eclipse.ui.internal.SaveableHelper.doSaveModel(SaveableHelper.java:346)
at org.eclipse.ui.internal.SaveableHelper$3.run(SaveableHelper.java:193)
at org.eclipse.ui.internal.SaveableHelper$5.run(SaveableHelper.java:274)
at org.eclipse.jface.operation.ModalContext.runInCurrentThread(ModalContext.java:464)
at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:372)
at org.eclipse.jface.window.ApplicationWindow$1.run(ApplicationWindow.java:759)
at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
at org.eclipse.jface.window.ApplicationWindow.run(ApplicationWindow.java:756)
at org.eclipse.ui.internal.WorkbenchWindow.run(WorkbenchWindow.java:2579)
at org.eclipse.ui.internal.SaveableHelper.runProgressMonitorOperation(SaveableHelper.java:282)
at org.eclipse.ui.internal.SaveableHelper.runProgressMonitorOperation(SaveableHelper.java:261)
at org.eclipse.ui.internal.SaveableHelper.saveModels(SaveableHelper.java:204)
at org.eclipse.ui.internal.SaveableHelper.savePart(SaveableHelper.java:144)
at org.eclipse.ui.internal.EditorManager.savePart(EditorManager.java:1357)
at org.eclipse.ui.internal.WorkbenchPage.savePart(WorkbenchPage.java:3328)
at org.eclipse.ui.internal.WorkbenchPage.saveEditor(WorkbenchPage.java:3341)
at org.eclipse.ui.internal.SaveAction.run(SaveAction.java:76)
at org.eclipse.jface.action.Action.runWithEvent(Action.java:498)
at org.eclipse.ui.commands.ActionHandler.execute(ActionHandler.java:185)
at org.eclipse.ui.internal.handlers.LegacyHandlerWrapper.execute(LegacyHandlerWrapper.java:109)
at org.eclipse.core.commands.Command.executeWithChecks(Command.java:476)
at org.eclipse.core.commands.ParameterizedCommand.executeWithChecks(ParameterizedCommand.java:508)
at org.eclipse.ui.internal.handlers.HandlerService.executeCommand(HandlerService.java:169)
at org.eclipse.ui.internal.keys.WorkbenchKeyboard.executeCommand(WorkbenchKeyboard.java:470)
at org.eclipse.ui.internal.keys.WorkbenchKeyboard.press(WorkbenchKeyboard.java:824)
at org.eclipse.ui.internal.keys.WorkbenchKeyboard.processKeyEvent(WorkbenchKeyboard.java:880)
at org.eclipse.ui.internal.keys.WorkbenchKeyboard.filterKeySequenceBindings(WorkbenchKeyboard.java:569)
at org.eclipse.ui.internal.keys.WorkbenchKeyboard.access$3(WorkbenchKeyboard.java:510)
at org.eclipse.ui.internal.keys.WorkbenchKeyboard$KeyDownFilter.handleEvent(WorkbenchKeyboard.java:125)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Display.filterEvent(Display.java:965)
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:3542)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1250)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1273)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1258)
at org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:1287)
at org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:1283)
at org.eclipse.swt.widgets.Canvas.sendKeyEvent(Canvas.java:433)
at org.eclipse.swt.widgets.Control.doCommandBySelector(Control.java:906)
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4741)
at org.eclipse.swt.internal.cocoa.OS.objc_msgSend(Native Method)
at org.eclipse.swt.internal.cocoa.NSResponder.interpretKeyEvents(NSResponder.java:56)
at org.eclipse.swt.widgets.Composite.keyDown(Composite.java:516)
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4655)
at org.eclipse.swt.internal.cocoa.OS.objc_msgSendSuper(Native Method)
at org.eclipse.swt.widgets.Widget.callSuper(Widget.java:202)
at org.eclipse.swt.widgets.Widget.windowSendEvent(Widget.java:1753)
at org.eclipse.swt.widgets.Shell.windowSendEvent(Shell.java:1825)
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4713)
at org.eclipse.swt.internal.cocoa.OS.objc_msgSendSuper(Native Method)
at org.eclipse.swt.widgets.Display.applicationSendEvent(Display.java:4285)
at org.eclipse.swt.widgets.Display.applicationProc(Display.java:4352)
at org.eclipse.swt.internal.cocoa.OS.objc_msgSend(Native Method)
at org.eclipse.swt.internal.cocoa.NSApplication.sendEvent(NSApplication.java:101)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3097)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2405)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2369)
at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2221)
at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:500)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:493)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:113)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:194)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:368)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
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:597)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:559)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:514)
at org.eclipse.equinox.launcher.Main.run(Main.java:1311)

“VM Thread” prio=9 tid=113886800 nid=0x1abf82000 runnable

“Gang worker#0 (Parallel GC Threads)” prio=9 tid=118000000 nid=0x119001000 runnable

“Gang worker#1 (Parallel GC Threads)” prio=9 tid=118001000 nid=0x119804000 runnable

“Concurrent Mark-Sweep GC Thread” prio=9 tid=113836000 nid=0x1abe7f000 runnable
“VM Periodic Task Thread” prio=10 tid=1138a3000 nid=0x1aff9a000 waiting on condition

“Exception Catcher Thread” prio=10 tid=113801800 nid=0x114801000 runnable
JNI global references: 2194

Found one Java-level deadlock:

“Text Viewer Hover Presenter”:
waiting for ownable synchronizer 11ec8f040, (a java.util.concurrent.locks.ReentrantLock$NonfairSync),
which is held by “Worker-230”
“Worker-230”:
waiting to lock monitor 1c2130a50 (object 11ec8ab80, a org.strategoxt.imp.runtime.SWTSafeLock),
which is held by “Worker-233”
“Worker-233”:
waiting for ownable synchronizer 11ec8f040, (a java.util.concurrent.locks.ReentrantLock$NonfairSync),
which is held by “Worker-230”

Java stack information for the threads listed above:

“Text Viewer Hover Presenter”:
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <11ec8f040> (a java.util.concurrent.locks.ReentrantLock$NonfairSync)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:747)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireQueued(AbstractQueuedSynchronizer.java:778)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquire(AbstractQueuedSynchronizer.java:1114)
at java.util.concurrent.locks.ReentrantLock$NonfairSync.lock(ReentrantLock.java:186)
at java.util.concurrent.locks.ReentrantLock.lock(ReentrantLock.java:262)
at org.strategoxt.imp.runtime.SWTSafeLock.lock(SWTSafeLock.java:49)
at org.strategoxt.imp.runtime.services.StrategoReferenceResolver.getLinkTarget(StrategoReferenceResolver.java:50)
at org.strategoxt.imp.runtime.services.StrategoReferenceResolver.getLinkTarget(StrategoReferenceResolver.java:1)
at org.strategoxt.imp.runtime.dynamicloading.DynamicReferenceResolver.getLinkTarget(DynamicReferenceResolver.java:21)
at org.strategoxt.imp.runtime.services.AnnotationHoverHelper.getHoverHelpAt(AnnotationHoverHelper.java:43)
at org.eclipse.imp.editor.internal.HoverHelpController.getHoverInfo(HoverHelpController.java:59)
at org.eclipse.jface.text.TextViewerHoverManager$4.run(TextViewerHoverManager.java:168)
“Worker-230”:
at org.strategoxt.imp.runtime.services.StrategoObserver.update(StrategoObserver.java:290)
- waiting to lock <11ec8ab80> (a org.strategoxt.imp.runtime.SWTSafeLock)
at org.strategoxt.imp.runtime.services.StrategoObserverUpdateJob.analyze(StrategoObserverUpdateJob.java:30)
at org.strategoxt.imp.runtime.services.StrategoAnalysisQueue$UpdateJob.run(StrategoAnalysisQueue.java:88)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
“Worker-233”:
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <11ec8f040> (a java.util.concurrent.locks.ReentrantLock$NonfairSync)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:747)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireQueued(AbstractQueuedSynchronizer.java:778)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquire(AbstractQueuedSynchronizer.java:1114)
at java.util.concurrent.locks.ReentrantLock$NonfairSync.lock(ReentrantLock.java:186)
at java.util.concurrent.locks.ReentrantLock.lock(ReentrantLock.java:262)
at org.strategoxt.imp.runtime.SWTSafeLock.lock(SWTSafeLock.java:49)
at org.strategoxt.imp.runtime.services.StrategoObserver.invoke(StrategoObserver.java:546)
at org.strategoxt.imp.runtime.services.StrategoObserver.invokeSilent(StrategoObserver.java:602)
at org.strategoxt.imp.runtime.services.StrategoObserver.update(StrategoObserver.java:291)
- locked <11ec8ab80> (a org.strategoxt.imp.runtime.SWTSafeLock)
at org.strategoxt.imp.runtime.services.StrategoObserverBackgroundUpdateJob.analyze(StrategoObserverBackgroundUpdateJob.java:68)
at org.strategoxt.imp.runtime.services.StrategoAnalysisQueue$UpdateJob.run(StrategoAnalysisQueue.java:88)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)

Found 1 deadlock.

Heap
par new generation total 38336K, used 26287K [119810000, 11c1a0000, 11c1a0000)
eden space 34112K, 67% used [119810000, 11ae96eb8, 11b960000)
from space 4224K, 76% used [11bd80000, 11c0a4e00, 11c1a0000)
to space 4224K, 0% used [11b960000, 11b960000, 11bd80000)
concurrent mark-sweep generation total 2005440K, used 1335912K [11c1a0000, 196810000, 196810000)
concurrent-mark-sweep perm gen total 262144K, used 172628K [196810000, 1a6810000, 1a6810000)

^\2010-10-03 08:17:14
Full thread dump Java HotSpot(TM) 64-Bit Server VM (16.3-b01-279 mixed mode):

“Text Viewer Hover Presenter” daemon prio=1 tid=11841a800 nid=0x1ca007000 waiting on condition [1ca006000]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <11ec8f040> (a java.util.concurrent.locks.ReentrantLock$NonfairSync)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:747)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireQueued(AbstractQueuedSynchronizer.java:778)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquire(AbstractQueuedSynchronizer.java:1114)
at java.util.concurrent.locks.ReentrantLock$NonfairSync.lock(ReentrantLock.java:186)
at java.util.concurrent.locks.ReentrantLock.lock(ReentrantLock.java:262)
at org.strategoxt.imp.runtime.SWTSafeLock.lock(SWTSafeLock.java:49)
at org.strategoxt.imp.runtime.services.StrategoReferenceResolver.getLinkTarget(StrategoReferenceResolver.java:50)
at org.strategoxt.imp.runtime.services.StrategoReferenceResolver.getLinkTarget(StrategoReferenceResolver.java:1)
at org.strategoxt.imp.runtime.dynamicloading.DynamicReferenceResolver.getLinkTarget(DynamicReferenceResolver.java:21)
at org.strategoxt.imp.runtime.services.AnnotationHoverHelper.getHoverHelpAt(AnnotationHoverHelper.java:43)
at org.eclipse.imp.editor.internal.HoverHelpController.getHoverInfo(HoverHelpController.java:59)
at org.eclipse.jface.text.TextViewerHoverManager$4.run(TextViewerHoverManager.java:168)

“Text Viewer Hover Presenter” daemon prio=1 tid=11841a000 nid=0x1c9804000 waiting on condition [1c9803000]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <11ec8f040> (a java.util.concurrent.locks.ReentrantLock$NonfairSync)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:747)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireQueued(AbstractQueuedSynchronizer.java:778)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquire(AbstractQueuedSynchronizer.java:1114)
at java.util.concurrent.locks.ReentrantLock$NonfairSync.lock(ReentrantLock.java:186)
at java.util.concurrent.locks.ReentrantLock.lock(ReentrantLock.java:262)
at org.strategoxt.imp.runtime.SWTSafeLock.lock(SWTSafeLock.java:49)
at org.strategoxt.imp.runtime.services.StrategoReferenceResolver.getLinkTarget(StrategoReferenceResolver.java:50)
at org.strategoxt.imp.runtime.services.StrategoReferenceResolver.getLinkTarget(StrategoReferenceResolver.java:1)
at org.strategoxt.imp.runtime.dynamicloading.DynamicReferenceResolver.getLinkTarget(DynamicReferenceResolver.java:21)
at org.strategoxt.imp.runtime.services.AnnotationHoverHelper.getHoverHelpAt(AnnotationHoverHelper.java:43)
at org.eclipse.imp.editor.internal.HoverHelpController.getHoverInfo(HoverHelpController.java:59)
at org.eclipse.jface.text.TextViewerHoverManager$4.run(TextViewerHoverManager.java:168)

“Worker-233” prio=5 tid=113fb8000 nid=0x1c9001000 waiting on condition [1c9000000]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <11ec8f040> (a java.util.concurrent.locks.ReentrantLock$NonfairSync)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:747)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireQueued(AbstractQueuedSynchronizer.java:778)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquire(AbstractQueuedSynchronizer.java:1114)
at java.util.concurrent.locks.ReentrantLock$NonfairSync.lock(ReentrantLock.java:186)
at java.util.concurrent.locks.ReentrantLock.lock(ReentrantLock.java:262)
at org.strategoxt.imp.runtime.SWTSafeLock.lock(SWTSafeLock.java:49)
at org.strategoxt.imp.runtime.services.StrategoObserver.invoke(StrategoObserver.java:546)
at org.strategoxt.imp.runtime.services.StrategoObserver.invokeSilent(StrategoObserver.java:602)
at org.strategoxt.imp.runtime.services.StrategoObserver.update(StrategoObserver.java:291)
- locked <11ec8ab80> (a org.strategoxt.imp.runtime.SWTSafeLock)
at org.strategoxt.imp.runtime.services.StrategoObserverBackgroundUpdateJob.analyze(StrategoObserverBackgroundUpdateJob.java:68)
at org.strategoxt.imp.runtime.services.StrategoAnalysisQueue$UpdateJob.run(StrategoAnalysisQueue.java:88)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)

“Worker-230” prio=5 tid=1b524d800 nid=0x1c6f0a000 waiting for monitor entry [1c6f09000]
java.lang.Thread.State: BLOCKED (on object monitor)
at org.strategoxt.imp.runtime.services.StrategoObserver.update(StrategoObserver.java:290)
- waiting to lock <11ec8ab80> (a org.strategoxt.imp.runtime.SWTSafeLock)
at org.strategoxt.imp.runtime.services.StrategoObserverUpdateJob.analyze(StrategoObserverUpdateJob.java:30)
at org.strategoxt.imp.runtime.services.StrategoAnalysisQueue$UpdateJob.run(StrategoAnalysisQueue.java:88)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)

“Worker-229” prio=5 tid=1183db800 nid=0x1c5001000 waiting for monitor entry [1c5000000]
java.lang.Thread.State: BLOCKED (on object monitor)
at org.strategoxt.imp.runtime.services.StrategoObserver.update(StrategoObserver.java:290)
- waiting to lock <11ec8ab80> (a org.strategoxt.imp.runtime.SWTSafeLock)
at org.strategoxt.imp.runtime.services.StrategoObserverBackgroundUpdateJob.analyze(StrategoObserverBackgroundUpdateJob.java:68)
at org.strategoxt.imp.runtime.services.StrategoAnalysisQueue$UpdateJob.run(StrategoAnalysisQueue.java:88)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)

“Worker-228” prio=5 tid=118482800 nid=0x1c5804000 in Object.wait() [1c5803000]
java.lang.Thread.State: TIMED_WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at org.eclipse.core.internal.jobs.WorkerPool.sleep(WorkerPool.java:185)
- locked <11ca334a0> (a org.eclipse.core.internal.jobs.WorkerPool)
at org.eclipse.core.internal.jobs.WorkerPool.startJob(WorkerPool.java:217)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:51)

“Worker-227” prio=5 tid=1b51e9800 nid=0x1bea01000 waiting on condition [1bea00000]
java.lang.Thread.State: TIMED_WAITING (sleeping)
at java.lang.Thread.sleep(Native Method)
at org.strategoxt.imp.runtime.MonitorStateWatchDog$WatchDogJob.run(MonitorStateWatchDog.java:70)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)

“Worker-226” prio=5 tid=1b5242800 nid=0x1bc415000 in Object.wait() [1bc414000]
java.lang.Thread.State: TIMED_WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at org.eclipse.core.internal.jobs.WorkerPool.sleep(WorkerPool.java:185)
- locked <11ca334a0> (a org.eclipse.core.internal.jobs.WorkerPool)
at org.eclipse.core.internal.jobs.WorkerPool.startJob(WorkerPool.java:217)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:51)

“[ThreadPool Manager] - Idle Thread” daemon prio=5 tid=11838a800 nid=0x1c1d63000 in Object.wait() [1c1d62000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:485)
at org.eclipse.equinox.internal.util.impl.tpt.threadpool.Executor.run(Executor.java:106)
- locked <120ebecf8> (a org.eclipse.equinox.internal.util.impl.tpt.threadpool.Executor)

“Java indexing” daemon prio=4 tid=113daf000 nid=0x1bbc12000 in Object.wait() [1bbc11000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:485)
at org.eclipse.jdt.internal.core.search.processing.JobManager.run(JobManager.java:378)
- locked <11fef6f00> (a org.eclipse.jdt.internal.core.search.indexing.IndexManager)
at java.lang.Thread.run(Thread.java:637)

“Timer-0” daemon prio=6 tid=113b38800 nid=0x1bb40f000 in Object.wait() [1bb40e000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:485)
at java.util.TimerThread.mainLoop(Timer.java:483)
- locked <11f06eeb8> (a java.util.TaskQueue)
at java.util.TimerThread.run(Timer.java:462)

“[Timer] - Main Queue Handler” daemon prio=5 tid=113e43800 nid=0x1b6804000 in Object.wait() [1b6803000]
java.lang.Thread.State: TIMED_WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at org.eclipse.equinox.internal.util.impl.tpt.timer.TimerImpl.run(TimerImpl.java:141)
- locked <11cbd9648> (a java.lang.Object)
at java.lang.Thread.run(Thread.java:637)

“Bundle File Closer” daemon prio=5 tid=118778000 nid=0x1b47a7000 in Object.wait() [1b47a6000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:485)
at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.getNextEvent(EventManager.java:393)
- locked <11c7dc948> (a org.eclipse.osgi.framework.eventmgr.EventManager$EventThread)
at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:333)

“Framework Event Dispatcher” daemon prio=5 tid=113917000 nid=0x1b3fa4000 in Object.wait() [1b3fa3000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <11c7dca08> (a org.eclipse.osgi.framework.eventmgr.EventManager$EventThread)
at java.lang.Object.wait(Object.java:485)
at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.getNextEvent(EventManager.java:393)
- locked <11c7dca08> (a org.eclipse.osgi.framework.eventmgr.EventManager$EventThread)
at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:333)

“Start Level Event Dispatcher” daemon prio=5 tid=11399a000 nid=0x1b37a1000 in Object.wait() [1b37a0000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <11c7dcac8> (a org.eclipse.osgi.framework.eventmgr.EventManager$EventThread)
at java.lang.Object.wait(Object.java:485)
at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.getNextEvent(EventManager.java:393)
- locked <11c7dcac8> (a org.eclipse.osgi.framework.eventmgr.EventManager$EventThread)
at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:333)

“State Data Manager” daemon prio=5 tid=113945000 nid=0x1b2f9e000 waiting on condition [1b2f9d000]
java.lang.Thread.State: TIMED_WAITING (sleeping)
at java.lang.Thread.sleep(Native Method)
at org.eclipse.osgi.internal.baseadaptor.StateManager.run(StateManager.java:306)
at java.lang.Thread.run(Thread.java:637)

“Poller SunPKCS11-Darwin” daemon prio=1 tid=113a44000 nid=0x1b089f000 waiting on condition [1b089e000]
java.lang.Thread.State: TIMED_WAITING (sleeping)
at java.lang.Thread.sleep(Native Method)
at sun.security.pkcs11.SunPKCS11$TokenPoller.run(SunPKCS11.java:692)
at java.lang.Thread.run(Thread.java:637)

“Low Memory Detector” daemon prio=5 tid=1138a1800 nid=0x1af797000 runnable [00000000]
java.lang.Thread.State: RUNNABLE

“CompilerThread1” daemon prio=9 tid=1138a0800 nid=0x1aef94000 waiting on condition [00000000]
java.lang.Thread.State: RUNNABLE

“CompilerThread0” daemon prio=9 tid=1138a0000 nid=0x1ae791000 waiting on condition [00000000]
java.lang.Thread.State: RUNNABLE

“Signal Dispatcher” daemon prio=9 tid=11389f000 nid=0x1adf8e000 waiting on condition [00000000]
java.lang.Thread.State: RUNNABLE

“Surrogate Locker Thread (CMS)” daemon prio=5 tid=11389e800 nid=0x1ad78b000 waiting on condition [00000000]
java.lang.Thread.State: RUNNABLE

“Finalizer” daemon prio=8 tid=113889800 nid=0x1acf88000 in Object.wait() [1acf87000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:118)
- locked <11c1a0018> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:134)
at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159)

“Reference Handler” daemon prio=10 tid=113889000 nid=0x1ac785000 in Object.wait() [1ac784000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:485)
at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:116)
- locked <11c1a3e38> (a java.lang.ref.Reference$Lock)

“main” prio=6 tid=113801000 nid=0x7fff70584c20 waiting on condition [7fff5fbf9000]
java.lang.Thread.State: TIMED_WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <11ec8f040> (a java.util.concurrent.locks.ReentrantLock$NonfairSync)
at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:198)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireNanos(AbstractQueuedSynchronizer.java:841)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.tryAcquireNanos(AbstractQueuedSynchronizer.java:1160)
at java.util.concurrent.locks.ReentrantLock.tryLock(ReentrantLock.java:416)
at org.strategoxt.imp.runtime.SWTSafeLock.lock(SWTSafeLock.java:43)
at org.strategoxt.imp.runtime.services.OnSaveService.documentChanged(OnSaveService.java:54)
at org.eclipse.imp.editor.UniversalEditor.doSave(UniversalEditor.java:1937)
at org.eclipse.ui.texteditor.AbstractTextEditor$TextEditorSavable.doSave(AbstractTextEditor.java:7066)
at org.eclipse.ui.Saveable.doSave(Saveable.java:214)
at org.eclipse.ui.internal.SaveableHelper.doSaveModel(SaveableHelper.java:346)
at org.eclipse.ui.internal.SaveableHelper$3.run(SaveableHelper.java:193)
at org.eclipse.ui.internal.SaveableHelper$5.run(SaveableHelper.java:274)
at org.eclipse.jface.operation.ModalContext.runInCurrentThread(ModalContext.java:464)
at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:372)
at org.eclipse.jface.window.ApplicationWindow$1.run(ApplicationWindow.java:759)
at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
at org.eclipse.jface.window.ApplicationWindow.run(ApplicationWindow.java:756)
at org.eclipse.ui.internal.WorkbenchWindow.run(WorkbenchWindow.java:2579)
at org.eclipse.ui.internal.SaveableHelper.runProgressMonitorOperation(SaveableHelper.java:282)
at org.eclipse.ui.internal.SaveableHelper.runProgressMonitorOperation(SaveableHelper.java:261)
at org.eclipse.ui.internal.SaveableHelper.saveModels(SaveableHelper.java:204)
at org.eclipse.ui.internal.SaveableHelper.savePart(SaveableHelper.java:144)
at org.eclipse.ui.internal.EditorManager.savePart(EditorManager.java:1357)
at org.eclipse.ui.internal.WorkbenchPage.savePart(WorkbenchPage.java:3328)
at org.eclipse.ui.internal.WorkbenchPage.saveEditor(WorkbenchPage.java:3341)
at org.eclipse.ui.internal.SaveAction.run(SaveAction.java:76)
at org.eclipse.jface.action.Action.runWithEvent(Action.java:498)
at org.eclipse.ui.commands.ActionHandler.execute(ActionHandler.java:185)
at org.eclipse.ui.internal.handlers.LegacyHandlerWrapper.execute(LegacyHandlerWrapper.java:109)
at org.eclipse.core.commands.Command.executeWithChecks(Command.java:476)
at org.eclipse.core.commands.ParameterizedCommand.executeWithChecks(ParameterizedCommand.java:508)
at org.eclipse.ui.internal.handlers.HandlerService.executeCommand(HandlerService.java:169)
at org.eclipse.ui.internal.keys.WorkbenchKeyboard.executeCommand(WorkbenchKeyboard.java:470)
at org.eclipse.ui.internal.keys.WorkbenchKeyboard.press(WorkbenchKeyboard.java:824)
at org.eclipse.ui.internal.keys.WorkbenchKeyboard.processKeyEvent(WorkbenchKeyboard.java:880)
at org.eclipse.ui.internal.keys.WorkbenchKeyboard.filterKeySequenceBindings(WorkbenchKeyboard.java:569)
at org.eclipse.ui.internal.keys.WorkbenchKeyboard.access$3(WorkbenchKeyboard.java:510)
at org.eclipse.ui.internal.keys.WorkbenchKeyboard$KeyDownFilter.handleEvent(WorkbenchKeyboard.java:125)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Display.filterEvent(Display.java:965)
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:3542)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1250)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1273)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1258)
at org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:1287)
at org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:1283)
at org.eclipse.swt.widgets.Canvas.sendKeyEvent(Canvas.java:433)
at org.eclipse.swt.widgets.Control.doCommandBySelector(Control.java:906)
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4741)
at org.eclipse.swt.internal.cocoa.OS.objc_msgSend(Native Method)
at org.eclipse.swt.internal.cocoa.NSResponder.interpretKeyEvents(NSResponder.java:56)
at org.eclipse.swt.widgets.Composite.keyDown(Composite.java:516)
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4655)
at org.eclipse.swt.internal.cocoa.OS.objc_msgSendSuper(Native Method)
at org.eclipse.swt.widgets.Widget.callSuper(Widget.java:202)
at org.eclipse.swt.widgets.Widget.windowSendEvent(Widget.java:1753)
at org.eclipse.swt.widgets.Shell.windowSendEvent(Shell.java:1825)
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4713)
at org.eclipse.swt.internal.cocoa.OS.objc_msgSendSuper(Native Method)
at org.eclipse.swt.widgets.Display.applicationSendEvent(Display.java:4285)
at org.eclipse.swt.widgets.Display.applicationProc(Display.java:4352)
at org.eclipse.swt.internal.cocoa.OS.objc_msgSend(Native Method)
at org.eclipse.swt.internal.cocoa.NSApplication.sendEvent(NSApplication.java:101)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3097)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2405)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2369)
at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2221)
at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:500)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:493)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:113)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:194)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:368)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
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:597)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:559)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:514)
at org.eclipse.equinox.launcher.Main.run(Main.java:1311)

“VM Thread” prio=9 tid=113886800 nid=0x1abf82000 runnable

“Gang worker#0 (Parallel GC Threads)” prio=9 tid=118000000 nid=0x119001000 runnable

“Gang worker#1 (Parallel GC Threads)” prio=9 tid=118001000 nid=0x119804000 runnable

“Concurrent Mark-Sweep GC Thread” prio=9 tid=113836000 nid=0x1abe7f000 runnable
“VM Periodic Task Thread” prio=10 tid=1138a3000 nid=0x1aff9a000 waiting on condition

“Exception Catcher Thread” prio=10 tid=113801800 nid=0x114801000 runnable
JNI global references: 2194

Found one Java-level deadlock:

“Text Viewer Hover Presenter”:
waiting for ownable synchronizer 11ec8f040, (a java.util.concurrent.locks.ReentrantLock$NonfairSync),
which is held by “Worker-230”
“Worker-230”:
waiting to lock monitor 1c2130a50 (object 11ec8ab80, a org.strategoxt.imp.runtime.SWTSafeLock),
which is held by “Worker-233”
“Worker-233”:
waiting for ownable synchronizer 11ec8f040, (a java.util.concurrent.locks.ReentrantLock$NonfairSync),
which is held by “Worker-230”

Java stack information for the threads listed above:

“Text Viewer Hover Presenter”:
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <11ec8f040> (a java.util.concurrent.locks.ReentrantLock$NonfairSync)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:747)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireQueued(AbstractQueuedSynchronizer.java:778)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquire(AbstractQueuedSynchronizer.java:1114)
at java.util.concurrent.locks.ReentrantLock$NonfairSync.lock(ReentrantLock.java:186)
at java.util.concurrent.locks.ReentrantLock.lock(ReentrantLock.java:262)
at org.strategoxt.imp.runtime.SWTSafeLock.lock(SWTSafeLock.java:49)
at org.strategoxt.imp.runtime.services.StrategoReferenceResolver.getLinkTarget(StrategoReferenceResolver.java:50)
at org.strategoxt.imp.runtime.services.StrategoReferenceResolver.getLinkTarget(StrategoReferenceResolver.java:1)
at org.strategoxt.imp.runtime.dynamicloading.DynamicReferenceResolver.getLinkTarget(DynamicReferenceResolver.java:21)
at org.strategoxt.imp.runtime.services.AnnotationHoverHelper.getHoverHelpAt(AnnotationHoverHelper.java:43)
at org.eclipse.imp.editor.internal.HoverHelpController.getHoverInfo(HoverHelpController.java:59)
at org.eclipse.jface.text.TextViewerHoverManager$4.run(TextViewerHoverManager.java:168)
“Worker-230”:
at org.strategoxt.imp.runtime.services.StrategoObserver.update(StrategoObserver.java:290)
- waiting to lock <11ec8ab80> (a org.strategoxt.imp.runtime.SWTSafeLock)
at org.strategoxt.imp.runtime.services.StrategoObserverUpdateJob.analyze(StrategoObserverUpdateJob.java:30)
at org.strategoxt.imp.runtime.services.StrategoAnalysisQueue$UpdateJob.run(StrategoAnalysisQueue.java:88)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
“Worker-233”:
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <11ec8f040> (a java.util.concurrent.locks.ReentrantLock$NonfairSync)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:747)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireQueued(AbstractQueuedSynchronizer.java:778)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquire(AbstractQueuedSynchronizer.java:1114)
at java.util.concurrent.locks.ReentrantLock$NonfairSync.lock(ReentrantLock.java:186)
at java.util.concurrent.locks.ReentrantLock.lock(ReentrantLock.java:262)
at org.strategoxt.imp.runtime.SWTSafeLock.lock(SWTSafeLock.java:49)
at org.strategoxt.imp.runtime.services.StrategoObserver.invoke(StrategoObserver.java:546)
at org.strategoxt.imp.runtime.services.StrategoObserver.invokeSilent(StrategoObserver.java:602)
at org.strategoxt.imp.runtime.services.StrategoObserver.update(StrategoObserver.java:291)
- locked <11ec8ab80> (a org.strategoxt.imp.runtime.SWTSafeLock)
at org.strategoxt.imp.runtime.services.StrategoObserverBackgroundUpdateJob.analyze(StrategoObserverBackgroundUpdateJob.java:68)
at org.strategoxt.imp.runtime.services.StrategoAnalysisQueue$UpdateJob.run(StrategoAnalysisQueue.java:88)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)

Found 1 deadlock.

Heap
par new generation total 38336K, used 26287K [119810000, 11c1a0000, 11c1a0000)
eden space 34112K, 67% used [119810000, 11ae96eb8, 11b960000)
from space 4224K, 76% used [11bd80000, 11c0a4e00, 11c1a0000)
to space 4224K, 0% used [11b960000, 11b960000, 11bd80000)
concurrent mark-sweep generation total 2005440K, used 1335912K [11c1a0000, 196810000, 196810000)
concurrent-mark-sweep perm gen total 262144K, used 172628K [196810000, 1a6810000, 1a6810000)

Killed
[08:17:33] ~$ /Applications/eclipse3/eclipse

^\2010-10-03 16:16:21
Full thread dump Java HotSpot(TM) 64-Bit Server VM (16.3-b01-279 mixed mode):

“Worker-115” prio=5 tid=114c82800 nid=0x1c3fd5000 waiting on condition [1c3fd4000]
java.lang.Thread.State: TIMED_WAITING (sleeping)
at java.lang.Thread.sleep(Native Method)
at org.strategoxt.imp.runtime.MonitorStateWatchDog$WatchDogJob.run(MonitorStateWatchDog.java:70)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)

“Worker-112” prio=5 tid=114c89000 nid=0x1c1579000 waiting on condition [1c1578000]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <11fb510e0> (a java.util.concurrent.locks.ReentrantLock$NonfairSync)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:747)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireQueued(AbstractQueuedSynchronizer.java:778)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquire(AbstractQueuedSynchronizer.java:1114)
at java.util.concurrent.locks.ReentrantLock$NonfairSync.lock(ReentrantLock.java:186)
at java.util.concurrent.locks.ReentrantLock.lock(ReentrantLock.java:262)
at org.strategoxt.imp.runtime.SWTSafeLock.lock(SWTSafeLock.java:49)
at org.strategoxt.imp.runtime.services.StrategoObserver.invoke(StrategoObserver.java:546)
at org.strategoxt.imp.runtime.services.StrategoObserver.invokeSilent(StrategoObserver.java:602)
at org.strategoxt.imp.runtime.services.StrategoObserver.update(StrategoObserver.java:291)
- locked <11fb53a10> (a org.strategoxt.imp.runtime.SWTSafeLock)
at org.strategoxt.imp.runtime.services.StrategoObserverBackgroundUpdateJob.analyze(StrategoObserverBackgroundUpdateJob.java:68)
at org.strategoxt.imp.runtime.services.StrategoAnalysisQueue$UpdateJob.run(StrategoAnalysisQueue.java:88)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)

“Worker-110” prio=5 tid=114b67800 nid=0x1c000a000 in Object.wait() [1c0009000]
java.lang.Thread.State: TIMED_WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <11c86fa28> (a org.eclipse.core.internal.jobs.WorkerPool)
at org.eclipse.core.internal.jobs.WorkerPool.sleep(WorkerPool.java:185)
- locked <11c86fa28> (a org.eclipse.core.internal.jobs.WorkerPool)
at org.eclipse.core.internal.jobs.WorkerPool.startJob(WorkerPool.java:217)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:51)

“Worker-109” prio=5 tid=114e74800 nid=0x1bf807000 waiting for monitor entry [1bf806000]
java.lang.Thread.State: BLOCKED (on object monitor)
at org.strategoxt.imp.runtime.services.StrategoObserver.update(StrategoObserver.java:290)
- waiting to lock <11fb53a10> (a org.strategoxt.imp.runtime.SWTSafeLock)
at org.strategoxt.imp.runtime.services.StrategoObserverUpdateJob.analyze(StrategoObserverUpdateJob.java:30)
at org.strategoxt.imp.runtime.services.StrategoAnalysisQueue$UpdateJob.run(StrategoAnalysisQueue.java:88)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)

“Worker-108” prio=5 tid=1b88c6000 nid=0x1bf004000 waiting on condition [1bf002000]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <11fb510e0> (a java.util.concurrent.locks.ReentrantLock$NonfairSync)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:747)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireQueued(AbstractQueuedSynchronizer.java:778)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquire(AbstractQueuedSynchronizer.java:1114)
at java.util.concurrent.locks.ReentrantLock$NonfairSync.lock(ReentrantLock.java:186)
at java.util.concurrent.locks.ReentrantLock.lock(ReentrantLock.java:262)
at org.strategoxt.imp.runtime.SWTSafeLock.lock(SWTSafeLock.java:49)
at org.strategoxt.imp.runtime.parser.ParseErrorHandler.ambToString(ParseErrorHandler.java:375)
- locked <12bcae7b8> (a org.strategoxt.lang.Context)
at org.strategoxt.imp.runtime.parser.ParseErrorHandler.reportAmbiguity(ParseErrorHandler.java:353)
at org.strategoxt.imp.runtime.parser.ParseErrorHandler.reportRecoveredErrors(ParseErrorHandler.java:273)
at org.strategoxt.imp.runtime.parser.ParseErrorHandler.reportRecoveredErrors(ParseErrorHandler.java:293)
at org.strategoxt.imp.runtime.parser.ParseErrorHandler.reportRecoveredErrors(ParseErrorHandler.java:293)
at org.strategoxt.imp.runtime.parser.ParseErrorHandler.reportRecoveredErrors(ParseErrorHandler.java:293)
at org.strategoxt.imp.runtime.parser.ParseErrorHandler.reportRecoveredErrors(ParseErrorHandler.java:293)
at org.strategoxt.imp.runtime.parser.ParseErrorHandler.reportRecoveredErrors(ParseErrorHandler.java:293)
at org.strategoxt.imp.runtime.parser.ParseErrorHandler.reportRecoveredErrors(ParseErrorHandler.java:293)
at org.strategoxt.imp.runtime.parser.ParseErrorHandler.reportRecoveredErrors(ParseErrorHandler.java:293)
at org.strategoxt.imp.runtime.parser.ParseErrorHandler.reportRecoveredErrors(ParseErrorHandler.java:293)
at org.strategoxt.imp.runtime.parser.ParseErrorHandler.reportRecoveredErrors(ParseErrorHandler.java:293)
at org.strategoxt.imp.runtime.parser.ParseErrorHandler.reportRecoveredErrors(ParseErrorHandler.java:293)
at org.strategoxt.imp.runtime.parser.ParseErrorHandler.reportRecoveredErrors(ParseErrorHandler.java:293)
at org.strategoxt.imp.runtime.parser.ParseErrorHandler.reportRecoveredErrors(ParseErrorHandler.java:293)
at org.strategoxt.imp.runtime.parser.ParseErrorHandler.gatherNonFatalErrors(ParseErrorHandler.java:152)
at org.strategoxt.imp.runtime.parser.SGLRParseController.parse(SGLRParseController.java:292)
at org.strategoxt.imp.runtime.parser.SGLRParseController.parse(SGLRParseController.java:1)
at org.strategoxt.imp.runtime.dynamicloading.DynamicParseController.parse(DynamicParseController.java:166)
at org.eclipse.imp.editor.ParserScheduler.run(ParserScheduler.java:86)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)

“Worker-107” prio=5 tid=1142b7000 nid=0x1be801000 in Object.wait() [1be800000]
java.lang.Thread.State: TIMED_WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <11c86fa28> (a org.eclipse.core.internal.jobs.WorkerPool)
at org.eclipse.core.internal.jobs.WorkerPool.sleep(WorkerPool.java:185)
- locked <11c86fa28> (a org.eclipse.core.internal.jobs.WorkerPool)
at org.eclipse.core.internal.jobs.WorkerPool.startJob(WorkerPool.java:217)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:51)

“Worker-103” prio=5 tid=1b8c80800 nid=0x1b7bda000 waiting for monitor entry [1b7bd9000]
java.lang.Thread.State: BLOCKED (on object monitor)
at org.strategoxt.imp.runtime.services.StrategoObserver.update(StrategoObserver.java:290)
- waiting to lock <11fb53a10> (a org.strategoxt.imp.runtime.SWTSafeLock)
at org.strategoxt.imp.runtime.services.StrategoObserverBackgroundUpdateJob.analyze(StrategoObserverBackgroundUpdateJob.java:68)
at org.strategoxt.imp.runtime.services.StrategoAnalysisQueue$UpdateJob.run(StrategoAnalysisQueue.java:88)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)

“Java indexing” daemon prio=4 tid=114653800 nid=0x1bd418000 in Object.wait() [1bd417000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <120c21d38> (a org.eclipse.jdt.internal.core.search.indexing.IndexManager)
at java.lang.Object.wait(Object.java:485)
at org.eclipse.jdt.internal.core.search.processing.JobManager.run(JobManager.java:378)
- locked <120c21d38> (a org.eclipse.jdt.internal.core.search.indexing.IndexManager)
at java.lang.Thread.run(Thread.java:637)

“Timer-0” daemon prio=6 tid=1146e7000 nid=0x1bcc15000 in Object.wait() [1bcc14000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <11fd21010> (a java.util.TaskQueue)
at java.lang.Object.wait(Object.java:485)
at java.util.TimerThread.mainLoop(Timer.java:483)
- locked <11fd21010> (a java.util.TaskQueue)
at java.util.TimerThread.run(Timer.java:462)

“[ThreadPool Manager] - Idle Thread” daemon prio=5 tid=11479e000 nid=0x1bc412000 in Object.wait() [1bc411000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <11faa3130> (a org.eclipse.equinox.internal.util.impl.tpt.threadpool.Executor)
at java.lang.Object.wait(Object.java:485)
at org.eclipse.equinox.internal.util.impl.tpt.threadpool.Executor.run(Executor.java:106)
- locked <11faa3130> (a org.eclipse.equinox.internal.util.impl.tpt.threadpool.Executor)

“[Timer] - Main Queue Handler” daemon prio=5 tid=114dd2000 nid=0x1b62a4000 in Object.wait() [1b62a3000]
java.lang.Thread.State: TIMED_WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <11cea13c8> (a java.lang.Object)
at org.eclipse.equinox.internal.util.impl.tpt.timer.TimerImpl.run(TimerImpl.java:141)
- locked <11cea13c8> (a java.lang.Object)
at java.lang.Thread.run(Thread.java:637)

“Bundle File Closer” daemon prio=5 tid=114e53000 nid=0x1b2996000 in Object.wait() [1b2995000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <11c72dc78> (a org.eclipse.osgi.framework.eventmgr.EventManager$EventThread)
at java.lang.Object.wait(Object.java:485)
at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.getNextEvent(EventManager.java:393)
- locked <11c72dc78> (a org.eclipse.osgi.framework.eventmgr.EventManager$EventThread)
at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:333)

“Framework Event Dispatcher” daemon prio=5 tid=114181800 nid=0x1b529e000 in Object.wait() [1b529d000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <11c4e8980> (a org.eclipse.osgi.framework.eventmgr.EventManager$EventThread)
at java.lang.Object.wait(Object.java:485)
at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.getNextEvent(EventManager.java:393)
- locked <11c4e8980> (a org.eclipse.osgi.framework.eventmgr.EventManager$EventThread)
at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:333)

“Start Level Event Dispatcher” daemon prio=5 tid=114a83800 nid=0x1b4a9b000 in Object.wait() [1b4a9a000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <11c4e8a40> (a org.eclipse.osgi.framework.eventmgr.EventManager$EventThread)
at java.lang.Object.wait(Object.java:485)
at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.getNextEvent(EventManager.java:393)
- locked <11c4e8a40> (a org.eclipse.osgi.framework.eventmgr.EventManager$EventThread)
at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:333)

“State Data Manager” daemon prio=5 tid=1149b8800 nid=0x1b4298000 waiting on condition [1b4297000]
java.lang.Thread.State: TIMED_WAITING (sleeping)
at java.lang.Thread.sleep(Native Method)
at org.eclipse.osgi.internal.baseadaptor.StateManager.run(StateManager.java:306)
at java.lang.Thread.run(Thread.java:637)

“Poller SunPKCS11-Darwin” daemon prio=1 tid=11408b000 nid=0x1b1024000 waiting on condition [1b1023000]
java.lang.Thread.State: TIMED_WAITING (sleeping)
at java.lang.Thread.sleep(Native Method)
at sun.security.pkcs11.SunPKCS11$TokenPoller.run(SunPKCS11.java:692)
at java.lang.Thread.run(Thread.java:637)

“Low Memory Detector” daemon prio=5 tid=114813000 nid=0x1af889000 runnable [00000000]
java.lang.Thread.State: RUNNABLE

“CompilerThread1” daemon prio=9 tid=1140a2000 nid=0x1af086000 waiting on condition [00000000]
java.lang.Thread.State: RUNNABLE

“CompilerThread0” daemon prio=9 tid=1140a1800 nid=0x1ae883000 waiting on condition [00000000]
java.lang.Thread.State: RUNNABLE

“Signal Dispatcher” daemon prio=9 tid=1140a0800 nid=0x1ae080000 waiting on condition [00000000]
java.lang.Thread.State: RUNNABLE

“Surrogate Locker Thread (CMS)” daemon prio=5 tid=1140a0000 nid=0x1ad87d000 waiting on condition [00000000]
java.lang.Thread.State: RUNNABLE

“Finalizer” daemon prio=8 tid=114085800 nid=0x1ad07a000 in Object.wait() [1ad079000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <11c1a0018> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:118)
- locked <11c1a0018> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:134)
at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159)

“Reference Handler” daemon prio=10 tid=114085000 nid=0x1ac877000 in Object.wait() [1ac876000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <11c1a4af0> (a java.lang.ref.Reference$Lock)
at java.lang.Object.wait(Object.java:485)
at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:116)
- locked <11c1a4af0> (a java.lang.ref.Reference$Lock)

“main” prio=6 tid=114800000 nid=0x7fff70584c20 waiting on condition [7fff5fbf9000]
java.lang.Thread.State: TIMED_WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <11fb510e0> (a java.util.concurrent.locks.ReentrantLock$NonfairSync)
at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:198)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireNanos(AbstractQueuedSynchronizer.java:841)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.tryAcquireNanos(AbstractQueuedSynchronizer.java:1160)
at java.util.concurrent.locks.ReentrantLock.tryLock(ReentrantLock.java:416)
at org.strategoxt.imp.runtime.SWTSafeLock.lock(SWTSafeLock.java:43)
at org.strategoxt.imp.runtime.services.OnSaveService.documentChanged(OnSaveService.java:54)
at org.eclipse.imp.editor.UniversalEditor.doSave(UniversalEditor.java:1937)
at org.eclipse.ui.texteditor.AbstractTextEditor$TextEditorSavable.doSave(AbstractTextEditor.java:7066)
at org.eclipse.ui.Saveable.doSave(Saveable.java:214)
at org.eclipse.ui.internal.SaveableHelper.doSaveModel(SaveableHelper.java:346)
at org.eclipse.ui.internal.SaveableHelper$3.run(SaveableHelper.java:193)
at org.eclipse.ui.internal.SaveableHelper$5.run(SaveableHelper.java:274)
at org.eclipse.jface.operation.ModalContext.runInCurrentThread(ModalContext.java:464)
at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:372)
at org.eclipse.jface.window.ApplicationWindow$1.run(ApplicationWindow.java:759)
at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
at org.eclipse.jface.window.ApplicationWindow.run(ApplicationWindow.java:756)
at org.eclipse.ui.internal.WorkbenchWindow.run(WorkbenchWindow.java:2579)
at org.eclipse.ui.internal.SaveableHelper.runProgressMonitorOperation(SaveableHelper.java:282)
at org.eclipse.ui.internal.SaveableHelper.runProgressMonitorOperation(SaveableHelper.java:261)
at org.eclipse.ui.internal.SaveableHelper.saveModels(SaveableHelper.java:204)
at org.eclipse.ui.internal.SaveableHelper.savePart(SaveableHelper.java:144)
at org.eclipse.ui.internal.EditorManager.savePart(EditorManager.java:1357)
at org.eclipse.ui.internal.WorkbenchPage.savePart(WorkbenchPage.java:3328)
at org.eclipse.ui.internal.WorkbenchPage.saveEditor(WorkbenchPage.java:3341)
at org.eclipse.ui.internal.SaveAction.run(SaveAction.java:76)
at org.eclipse.jface.action.Action.runWithEvent(Action.java:498)
at org.eclipse.ui.commands.ActionHandler.execute(ActionHandler.java:185)
at org.eclipse.ui.internal.handlers.LegacyHandlerWrapper.execute(LegacyHandlerWrapper.java:109)
at org.eclipse.core.commands.Command.executeWithChecks(Command.java:476)
at org.eclipse.core.commands.ParameterizedCommand.executeWithChecks(ParameterizedCommand.java:508)
at org.eclipse.ui.internal.handlers.HandlerService.executeCommand(HandlerService.java:169)
at org.eclipse.ui.internal.keys.WorkbenchKeyboard.executeCommand(WorkbenchKeyboard.java:470)
at org.eclipse.ui.internal.keys.WorkbenchKeyboard.press(WorkbenchKeyboard.java:824)
at org.eclipse.ui.internal.keys.WorkbenchKeyboard.processKeyEvent(WorkbenchKeyboard.java:880)
at org.eclipse.ui.internal.keys.WorkbenchKeyboard.filterKeySequenceBindings(WorkbenchKeyboard.java:569)
at org.eclipse.ui.internal.keys.WorkbenchKeyboard.access$3(WorkbenchKeyboard.java:510)
at org.eclipse.ui.internal.keys.WorkbenchKeyboard$KeyDownFilter.handleEvent(WorkbenchKeyboard.java:125)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Display.filterEvent(Display.java:965)
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:3542)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1250)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1273)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1258)
at org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:1287)
at org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:1283)
at org.eclipse.swt.widgets.Canvas.sendKeyEvent(Canvas.java:433)
at org.eclipse.swt.widgets.Control.doCommandBySelector(Control.java:906)
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4741)
at org.eclipse.swt.internal.cocoa.OS.objc_msgSend(Native Method)
at org.eclipse.swt.internal.cocoa.NSResponder.interpretKeyEvents(NSResponder.java:56)
at org.eclipse.swt.widgets.Composite.keyDown(Composite.java:516)
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4655)
at org.eclipse.swt.internal.cocoa.OS.objc_msgSendSuper(Native Method)
at org.eclipse.swt.widgets.Widget.callSuper(Widget.java:202)
at org.eclipse.swt.widgets.Widget.windowSendEvent(Widget.java:1753)
at org.eclipse.swt.widgets.Shell.windowSendEvent(Shell.java:1825)
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4713)
at org.eclipse.swt.internal.cocoa.OS.objc_msgSendSuper(Native Method)
at org.eclipse.swt.widgets.Display.applicationSendEvent(Display.java:4285)
at org.eclipse.swt.widgets.Display.applicationProc(Display.java:4352)
at org.eclipse.swt.internal.cocoa.OS.objc_msgSend(Native Method)
at org.eclipse.swt.internal.cocoa.NSApplication.sendEvent(NSApplication.java:101)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3097)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2405)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2369)
at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2221)
at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:500)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:493)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:113)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:194)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:368)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
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:597)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:559)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:514)
at org.eclipse.equinox.launcher.Main.run(Main.java:1311)

“VM Thread” prio=9 tid=114084000 nid=0x113fc8000 runnable

“Gang worker#0 (Parallel GC Threads)” prio=9 tid=114801800 nid=0x119005000 runnable

“Gang worker#1 (Parallel GC Threads)” prio=9 tid=114802000 nid=0x119808000 runnable

“Concurrent Mark-Sweep GC Thread” prio=9 tid=114040000 nid=0x1abe7f000 runnable
“VM Periodic Task Thread” prio=10 tid=114814800 nid=0x1b0821000 waiting on condition

“Exception Catcher Thread” prio=10 tid=114801000 nid=0x115801000 runnable
JNI global references: 2500

Found one Java-level deadlock:

“Worker-112”:
waiting for ownable synchronizer 11fb510e0, (a java.util.concurrent.locks.ReentrantLock$NonfairSync),
which is held by “Worker-109”
“Worker-109”:
waiting to lock monitor 101299130 (object 11fb53a10, a org.strategoxt.imp.runtime.SWTSafeLock),
which is held by “Worker-112”

Java stack information for the threads listed above:

“Worker-112”:
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <11fb510e0> (a java.util.concurrent.locks.ReentrantLock$NonfairSync)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:747)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireQueued(AbstractQueuedSynchronizer.java:778)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquire(AbstractQueuedSynchronizer.java:1114)
at java.util.concurrent.locks.ReentrantLock$NonfairSync.lock(ReentrantLock.java:186)
at java.util.concurrent.locks.ReentrantLock.lock(ReentrantLock.java:262)
at org.strategoxt.imp.runtime.SWTSafeLock.lock(SWTSafeLock.java:49)
at org.strategoxt.imp.runtime.services.StrategoObserver.invoke(StrategoObserver.java:546)
at org.strategoxt.imp.runtime.services.StrategoObserver.invokeSilent(StrategoObserver.java:602)
at org.strategoxt.imp.runtime.services.StrategoObserver.update(StrategoObserver.java:291)
- locked <11fb53a10> (a org.strategoxt.imp.runtime.SWTSafeLock)
at org.strategoxt.imp.runtime.services.StrategoObserverBackgroundUpdateJob.analyze(StrategoObserverBackgroundUpdateJob.java:68)
at org.strategoxt.imp.runtime.services.StrategoAnalysisQueue$UpdateJob.run(StrategoAnalysisQueue.java:88)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
“Worker-109”:
at org.strategoxt.imp.runtime.services.StrategoObserver.update(StrategoObserver.java:290)
- waiting to lock <11fb53a10> (a org.strategoxt.imp.runtime.SWTSafeLock)
at org.strategoxt.imp.runtime.services.StrategoObserverUpdateJob.analyze(StrategoObserverUpdateJob.java:30)
at org.strategoxt.imp.runtime.services.StrategoAnalysisQueue$UpdateJob.run(StrategoAnalysisQueue.java:88)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)

Found 1 deadlock.

Heap
par new generation total 38336K, used 8525K [119810000, 11c1a0000, 11c1a0000)
eden space 34112K, 14% used [119810000, 119cf5ac0, 11b960000)
from space 4224K, 83% used [11b960000, 11bccdca0, 11bd80000)
to space 4224K, 0% used [11bd80000, 11bd80000, 11c1a0000)
concurrent mark-sweep generation total 1354052K, used 1000298K [11c1a0000, 16ebf1000, 196810000)
concurrent-mark-sweep perm gen total 236072K, used 141655K [196810000, 1a4e9a000, 1a6810000)

Submitted by Eelco Visser on 3 October 2010 at 16:17

On 3 October 2010 at 19:10 Lennart Kats commented:

Thanks for the stack traces. There’s something very odd about them; turns out that one of the Java methods is still using the synchronized statement instead of the java.util.concurrent API. Fixed in r21268 (to be released as 0.5.3.7).


On 3 October 2010 at 19:10 Lennart Kats closed this issue.

Log in to post comments