deadlock during smart indentation
Nice deadlock I've been hitting after pressing enter on the editor. Looks like the SmartIndenter is triggering it, but I'm currently of the idea that it may be a deadlock caused by the Eclipse JDT.
Why? Because the only two calls coming from our sourcecode don't seem to be the direct cause of the deadlock.
Here is the interesting part:
And here is the whole thread dump:
Why? Because the only two calls coming from our sourcecode don't seem to be the direct cause of the deadlock.
- `scala.tools.eclipse.javaelements.ScalaSourceFile.reconcile(ScalaSourceFile.scala:68)` is simply redirecting to `org.eclipse.jdt.internal.core.CompilationUnit.reconcile(CompilationUnit.java:1244)` (the latter is the default implementation that JDT would be calling)
- `scala.tools.eclipse.contribution.weaving.jdt.cfprovider.ClassFileProviderAspect.ajc$around$scala_tools_eclipse_contribution_weaving_jdt_cfprovider_ClassFileProviderAspect$14$3eea5531(ClassFileProviderAspect.aj:393)` is an aspect that intercepts `org.eclipse.jdt.internal.corext.util.OpenTypeHistory.isContainerDirty(OpenTypeHistory.java:366)`. The two implementation are practically the same, the only difference is that in "our" pointcut we perform an additional check to make sure that the Resource attached to a CompilationUnit isn't null.
Here is the interesting part:
Found one Java-level deadlock:
=============================
"org.eclipse.jdt.internal.ui.text.JavaReconciler":
waiting to lock monitor 1011f9270 (object 76df1a7c0, a org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader),
which is held by "Worker-53"
"Worker-53":
waiting to lock monitor 100bee270 (object 76df6d920, a org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader),
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.osgi.baseadaptor.loader.ClasspathManager.findLocalClass_LockClassLoader(ClasspathManager.java:477)
- waiting to lock <76df1a7c0> (a org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader)
at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass(ClasspathManager.java:458)
at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.findLocalClass(DefaultClassLoader.java:216)
at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:400)
at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:476)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:429)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:417)
at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
at org.eclipse.osgi.internal.loader.BundleLoader.loadClass(BundleLoader.java:345)
at org.eclipse.osgi.framework.internal.core.BundleHost.loadClass(BundleHost.java:229)
at org.eclipse.osgi.framework.internal.core.AbstractBundle.loadClass(AbstractBundle.java:1207)
at org.eclipse.equinox.weaving.hooks.WeavingLoaderDelegateHook.postFindClass(WeavingLoaderDelegateHook.java:102)
at org.eclipse.osgi.internal.loader.BundleLoader.searchHooks(BundleLoader.java:528)
at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:493)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:429)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:417)
at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
at org.eclipse.jdt.internal.core.hierarchy.ChangeCollector.getAllTypesFromElement(ChangeCollector.java:334)
at org.eclipse.jdt.internal.core.hierarchy.ChangeCollector.addChange(ChangeCollector.java:174)
at org.eclipse.jdt.internal.core.hierarchy.ChangeCollector.addAffectedChildren(ChangeCollector.java:62)
at org.eclipse.jdt.internal.core.hierarchy.ChangeCollector.addChange(ChangeCollector.java:221)
at org.eclipse.jdt.internal.core.hierarchy.ChangeCollector.addAffectedChildren(ChangeCollector.java:57)
at org.eclipse.jdt.internal.core.hierarchy.ChangeCollector.addChange(ChangeCollector.java:91)
at org.eclipse.jdt.internal.core.hierarchy.TypeHierarchy.isAffectedByOpenable(TypeHierarchy.java:1000)
at org.eclipse.jdt.internal.core.hierarchy.TypeHierarchy.isAffected(TypeHierarchy.java:824)
- locked <775f8a5d8> (a org.eclipse.jdt.internal.core.hierarchy.TypeHierarchy)
at org.eclipse.jdt.internal.core.hierarchy.TypeHierarchy.elementChanged(TypeHierarchy.java:328)
at org.eclipse.jdt.internal.core.DeltaProcessor$4.run(DeltaProcessor.java:1670)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
at org.eclipse.jdt.internal.core.DeltaProcessor.notifyListeners(DeltaProcessor.java:1660)
at org.eclipse.jdt.internal.core.DeltaProcessor.fireReconcileDelta(DeltaProcessor.java:1512)
at org.eclipse.jdt.internal.core.DeltaProcessor.fire(DeltaProcessor.java:1471)
at org.eclipse.jdt.internal.core.JavaModelOperation.run(JavaModelOperation.java:769)
at org.eclipse.jdt.internal.core.JavaModelOperation.runOperation(JavaModelOperation.java:788)
at org.eclipse.jdt.internal.core.CompilationUnit.reconcile(CompilationUnit.java:1244)
at scala.tools.eclipse.javaelements.ScalaSourceFile.reconcile(ScalaSourceFile.scala:68)
at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.reconcile(JavaReconcilingStrategy.java:126)
at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.access$0(JavaReconcilingStrategy.java:108)
at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy$1.run(JavaReconcilingStrategy.java:89)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.reconcile(JavaReconcilingStrategy.java:87)
at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.reconcile(JavaReconcilingStrategy.java:151)
at org.eclipse.jdt.internal.ui.text.CompositeReconcilingStrategy.reconcile(CompositeReconcilingStrategy.java:86)
at org.eclipse.jdt.internal.ui.text.JavaCompositeReconcilingStrategy.reconcile(JavaCompositeReconcilingStrategy.java:104)
at org.eclipse.jface.text.reconciler.MonoReconciler.process(MonoReconciler.java:77)
at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run(AbstractReconciler.java:206)
"Worker-53":
at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass_LockClassLoader(ClasspathManager.java:477)
- waiting to lock <76df6d920> (a org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader)
at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass(ClasspathManager.java:458)
at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.findLocalClass(DefaultClassLoader.java:216)
at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:400)
at org.eclipse.osgi.internal.loader.SingleSourcePackage.loadClass(SingleSourcePackage.java:35)
at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:473)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:429)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:417)
at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
at scala.tools.eclipse.contribution.weaving.jdt.cfprovider.ClassFileProviderAspect.ajc$around$scala_tools_eclipse_contribution_weaving_jdt_cfprovider_ClassFileProviderAspect$14$3eea5531(ClassFileProviderAspect.aj:393)
at org.eclipse.jdt.internal.corext.util.OpenTypeHistory.isContainerDirty(OpenTypeHistory.java:366)
at org.eclipse.jdt.internal.corext.util.OpenTypeHistory.internalCheckConsistency(OpenTypeHistory.java:307)
- locked <771f526a8> (a org.eclipse.jdt.internal.corext.util.OpenTypeHistory)
at org.eclipse.jdt.internal.corext.util.OpenTypeHistory.access$0(OpenTypeHistory.java:296)
at org.eclipse.jdt.internal.corext.util.OpenTypeHistory$UpdateJob.run(OpenTypeHistory.java:157)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
And here is the whole thread dump:
17:50 mirco@Mircos-iMac /Users/mirco/Projects/ide/scala-ide/org.scala-ide.build
% jstack 3881
2012-04-24 17:50:50
Full thread dump Java HotSpot(TM) 64-Bit Server VM (20.6-b01-415 mixed mode):
"Attach Listener" daemon prio=9 tid=1167e9000 nid=0x12cb01000 waiting on condition [00000000]
java.lang.Thread.State: RUNNABLE
"Worker-59" prio=5 tid=131cd5800 nid=0x12b16f000 in Object.wait() [12b16e000]
java.lang.Thread.State: TIMED_WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <76561ad78> (a org.eclipse.ui.internal.Semaphore)
at org.eclipse.ui.internal.Semaphore.acquire(Semaphore.java:43)
- locked <76561ad78> (a org.eclipse.ui.internal.Semaphore)
at org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchronizer.java:168)
at org.eclipse.swt.widgets.Display.syncExec(Display.java:4613)
at org.eclipse.egit.ui.Activator.isActive(Activator.java:220)
at org.eclipse.egit.ui.Activator$RepositoryChangeScanner.run(Activator.java:429)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
"Worker-58" prio=5 tid=131c4e000 nid=0x13abcb000 in Object.wait() [13abca000]
java.lang.Thread.State: TIMED_WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <76da978b8> (a org.eclipse.core.internal.jobs.WorkerPool)
at org.eclipse.core.internal.jobs.WorkerPool.sleep(WorkerPool.java:188)
- locked <76da978b8> (a org.eclipse.core.internal.jobs.WorkerPool)
at org.eclipse.core.internal.jobs.WorkerPool.startJob(WorkerPool.java:220)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:50)
"Worker-57" prio=5 tid=115081000 nid=0x13a9c5000 in Object.wait() [13a9c4000]
java.lang.Thread.State: TIMED_WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <76da978b8> (a org.eclipse.core.internal.jobs.WorkerPool)
at org.eclipse.core.internal.jobs.WorkerPool.sleep(WorkerPool.java:188)
- locked <76da978b8> (a org.eclipse.core.internal.jobs.WorkerPool)
at org.eclipse.core.internal.jobs.WorkerPool.startJob(WorkerPool.java:220)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:50)
"Worker-56" prio=5 tid=131f4e800 nid=0x13a8c2000 in Object.wait() [13a8c1000]
java.lang.Thread.State: TIMED_WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <76da978b8> (a org.eclipse.core.internal.jobs.WorkerPool)
at org.eclipse.core.internal.jobs.WorkerPool.sleep(WorkerPool.java:188)
- locked <76da978b8> (a org.eclipse.core.internal.jobs.WorkerPool)
at org.eclipse.core.internal.jobs.WorkerPool.startJob(WorkerPool.java:220)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:50)
"org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=1 tid=11b48d000 nid=0x12b5b1000 in Object.wait() [12b5b0000]
java.lang.Thread.State: TIMED_WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <77cce1400> (a org.eclipse.jface.text.reconciler.DirtyRegionQueue)
at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run(AbstractReconciler.java:179)
- locked <77cce1400> (a org.eclipse.jface.text.reconciler.DirtyRegionQueue)
"org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=1 tid=131cfb000 nid=0x1317a5000 waiting for monitor entry [1317a2000]
java.lang.Thread.State: BLOCKED (on object monitor)
at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass_LockClassLoader(ClasspathManager.java:477)
- waiting to lock <76df1a7c0> (a org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader)
at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass(ClasspathManager.java:458)
at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.findLocalClass(DefaultClassLoader.java:216)
at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:400)
at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:476)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:429)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:417)
at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
at org.eclipse.osgi.internal.loader.BundleLoader.loadClass(BundleLoader.java:345)
at org.eclipse.osgi.framework.internal.core.BundleHost.loadClass(BundleHost.java:229)
at org.eclipse.osgi.framework.internal.core.AbstractBundle.loadClass(AbstractBundle.java:1207)
at org.eclipse.equinox.weaving.hooks.WeavingLoaderDelegateHook.postFindClass(WeavingLoaderDelegateHook.java:102)
at org.eclipse.osgi.internal.loader.BundleLoader.searchHooks(BundleLoader.java:528)
at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:493)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:429)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:417)
at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
at org.eclipse.jdt.internal.core.hierarchy.ChangeCollector.getAllTypesFromElement(ChangeCollector.java:334)
at org.eclipse.jdt.internal.core.hierarchy.ChangeCollector.addChange(ChangeCollector.java:174)
at org.eclipse.jdt.internal.core.hierarchy.ChangeCollector.addAffectedChildren(ChangeCollector.java:62)
at org.eclipse.jdt.internal.core.hierarchy.ChangeCollector.addChange(ChangeCollector.java:221)
at org.eclipse.jdt.internal.core.hierarchy.ChangeCollector.addAffectedChildren(ChangeCollector.java:57)
at org.eclipse.jdt.internal.core.hierarchy.ChangeCollector.addChange(ChangeCollector.java:91)
at org.eclipse.jdt.internal.core.hierarchy.TypeHierarchy.isAffectedByOpenable(TypeHierarchy.java:1000)
at org.eclipse.jdt.internal.core.hierarchy.TypeHierarchy.isAffected(TypeHierarchy.java:824)
- locked <775f8a5d8> (a org.eclipse.jdt.internal.core.hierarchy.TypeHierarchy)
at org.eclipse.jdt.internal.core.hierarchy.TypeHierarchy.elementChanged(TypeHierarchy.java:328)
at org.eclipse.jdt.internal.core.DeltaProcessor$4.run(DeltaProcessor.java:1670)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
at org.eclipse.jdt.internal.core.DeltaProcessor.notifyListeners(DeltaProcessor.java:1660)
at org.eclipse.jdt.internal.core.DeltaProcessor.fireReconcileDelta(DeltaProcessor.java:1512)
at org.eclipse.jdt.internal.core.DeltaProcessor.fire(DeltaProcessor.java:1471)
at org.eclipse.jdt.internal.core.JavaModelOperation.run(JavaModelOperation.java:769)
at org.eclipse.jdt.internal.core.JavaModelOperation.runOperation(JavaModelOperation.java:788)
at org.eclipse.jdt.internal.core.CompilationUnit.reconcile(CompilationUnit.java:1244)
at scala.tools.eclipse.javaelements.ScalaSourceFile.reconcile(ScalaSourceFile.scala:68)
at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.reconcile(JavaReconcilingStrategy.java:126)
at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.access$0(JavaReconcilingStrategy.java:108)
at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy$1.run(JavaReconcilingStrategy.java:89)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.reconcile(JavaReconcilingStrategy.java:87)
at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.reconcile(JavaReconcilingStrategy.java:151)
at org.eclipse.jdt.internal.ui.text.CompositeReconcilingStrategy.reconcile(CompositeReconcilingStrategy.java:86)
at org.eclipse.jdt.internal.ui.text.JavaCompositeReconcilingStrategy.reconcile(JavaCompositeReconcilingStrategy.java:104)
at org.eclipse.jface.text.reconciler.MonoReconciler.process(MonoReconciler.java:77)
at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run(AbstractReconciler.java:206)
"Worker-55" prio=5 tid=1167ec800 nid=0x12eb01000 in Object.wait() [12eb00000]
java.lang.Thread.State: TIMED_WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <76da978b8> (a org.eclipse.core.internal.jobs.WorkerPool)
at org.eclipse.core.internal.jobs.WorkerPool.sleep(WorkerPool.java:188)
- locked <76da978b8> (a org.eclipse.core.internal.jobs.WorkerPool)
at org.eclipse.core.internal.jobs.WorkerPool.startJob(WorkerPool.java:220)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:50)
"Worker-54" prio=5 tid=11672d800 nid=0x12cd78000 in Object.wait() [12cd77000]
java.lang.Thread.State: TIMED_WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <76da978b8> (a org.eclipse.core.internal.jobs.WorkerPool)
at org.eclipse.core.internal.jobs.WorkerPool.sleep(WorkerPool.java:188)
- locked <76da978b8> (a org.eclipse.core.internal.jobs.WorkerPool)
at org.eclipse.core.internal.jobs.WorkerPool.startJob(WorkerPool.java:220)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:50)
"Worker-53" prio=5 tid=116400000 nid=0x12b401000 waiting for monitor entry [12b3ff000]
java.lang.Thread.State: BLOCKED (on object monitor)
at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass_LockClassLoader(ClasspathManager.java:477)
- waiting to lock <76df6d920> (a org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader)
at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass(ClasspathManager.java:458)
at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.findLocalClass(DefaultClassLoader.java:216)
at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:400)
at org.eclipse.osgi.internal.loader.SingleSourcePackage.loadClass(SingleSourcePackage.java:35)
at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:473)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:429)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:417)
at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
at scala.tools.eclipse.contribution.weaving.jdt.cfprovider.ClassFileProviderAspect.ajc$around$scala_tools_eclipse_contribution_weaving_jdt_cfprovider_ClassFileProviderAspect$14$3eea5531(ClassFileProviderAspect.aj:393)
at org.eclipse.jdt.internal.corext.util.OpenTypeHistory.isContainerDirty(OpenTypeHistory.java:366)
at org.eclipse.jdt.internal.corext.util.OpenTypeHistory.internalCheckConsistency(OpenTypeHistory.java:307)
- locked <771f526a8> (a org.eclipse.jdt.internal.corext.util.OpenTypeHistory)
at org.eclipse.jdt.internal.corext.util.OpenTypeHistory.access$0(OpenTypeHistory.java:296)
at org.eclipse.jdt.internal.corext.util.OpenTypeHistory$UpdateJob.run(OpenTypeHistory.java:157)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
"org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=1 tid=131bc0800 nid=0x12e701000 in Object.wait() [12e700000]
java.lang.Thread.State: TIMED_WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <77c888c98> (a org.eclipse.jface.text.reconciler.DirtyRegionQueue)
at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run(AbstractReconciler.java:179)
- locked <77c888c98> (a org.eclipse.jface.text.reconciler.DirtyRegionQueue)
"Worker-50" prio=5 tid=11b1f6000 nid=0x133f8b000 in Object.wait() [133f8a000]
java.lang.Thread.State: TIMED_WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <76da978b8> (a org.eclipse.core.internal.jobs.WorkerPool)
at org.eclipse.core.internal.jobs.WorkerPool.sleep(WorkerPool.java:188)
- locked <76da978b8> (a org.eclipse.core.internal.jobs.WorkerPool)
at org.eclipse.core.internal.jobs.WorkerPool.startJob(WorkerPool.java:220)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:50)
"org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=1 tid=131bbe800 nid=0x12ec04000 in Object.wait() [12ec03000]
java.lang.Thread.State: TIMED_WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <77becb948> (a org.eclipse.jface.text.reconciler.DirtyRegionQueue)
at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run(AbstractReconciler.java:179)
- locked <77becb948> (a org.eclipse.jface.text.reconciler.DirtyRegionQueue)
"Scala Presentation Compiler [org.scala-ide.sdt.core.tests]" prio=6 tid=11b352800 nid=0x12ed07000 in Object.wait() [12ed06000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <7789ff730> (a scala.tools.nsc.util.WorkScheduler)
at java.lang.Object.wait(Object.java:485)
at scala.tools.nsc.util.WorkScheduler.waitForMoreWork(WorkScheduler.scala:16)
- locked <7789ff730> (a scala.tools.nsc.util.WorkScheduler)
at scala.tools.nsc.interactive.PresentationCompilerThread$$anonfun$run$1.apply$mcZ$sp(PresentationCompilerThread.scala:21)
at scala.tools.nsc.io.NullLogger$.logreplay(Replayer.scala:38)
at scala.tools.nsc.interactive.PresentationCompilerThread.run(PresentationCompilerThread.scala:21)
"Timer-0" daemon prio=1 tid=11600b800 nid=0x133e88000 in Object.wait() [133e87000]
java.lang.Thread.State: TIMED_WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <7778d6ca0> (a java.util.TaskQueue)
at java.util.TimerThread.mainLoop(Timer.java:509)
- locked <7778d6ca0> (a java.util.TaskQueue)
at java.util.TimerThread.run(Timer.java:462)
"1249266880@qtp-1404089919-1 - Acceptor0 SelectChannelConnector@127.0.0.1:52707" prio=5 tid=1235ee000 nid=0x13378a000 runnable [133789000]
java.lang.Thread.State: RUNNABLE
at sun.nio.ch.KQueueArrayWrapper.kevent0(Native Method)
at sun.nio.ch.KQueueArrayWrapper.poll(KQueueArrayWrapper.java:136)
at sun.nio.ch.KQueueSelectorImpl.doSelect(KQueueSelectorImpl.java:69)
at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:69)
- locked <7778d6cd0> (a sun.nio.ch.Util$2)
- locked <7778d6ce8> (a java.util.Collections$UnmodifiableSet)
- locked <7778ac410> (a sun.nio.ch.KQueueSelectorImpl)
at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:80)
at org.mortbay.io.nio.SelectorManager$SelectSet.doSelect(SelectorManager.java:484)
at org.mortbay.io.nio.SelectorManager.doSelect(SelectorManager.java:191)
at org.mortbay.jetty.nio.SelectChannelConnector.accept(SelectChannelConnector.java:124)
at org.mortbay.jetty.AbstractConnector$Acceptor.run(AbstractConnector.java:707)
at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)
"642908177@qtp-1404089919-0" prio=5 tid=123547000 nid=0x133687000 in Object.wait() [133686000]
java.lang.Thread.State: TIMED_WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <7778e2928> (a org.mortbay.thread.QueuedThreadPool$PoolThread)
at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:626)
- locked <7778e2928> (a org.mortbay.thread.QueuedThreadPool$PoolThread)
"Worker-44" prio=5 tid=11639f000 nid=0x12e814000 in Object.wait() [12e813000]
java.lang.Thread.State: TIMED_WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <76da978b8> (a org.eclipse.core.internal.jobs.WorkerPool)
at org.eclipse.core.internal.jobs.WorkerPool.sleep(WorkerPool.java:188)
- locked <76da978b8> (a org.eclipse.core.internal.jobs.WorkerPool)
at org.eclipse.core.internal.jobs.WorkerPool.startJob(WorkerPool.java:220)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:50)
"ForkJoinPool-1-worker-8" daemon prio=6 tid=11569c000 nid=0x12b06c000 waiting on condition [12b06b000]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <7768dc3e8> (a scala.concurrent.forkjoin.ForkJoinPool$WaitQueueNode)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:156)
at scala.concurrent.forkjoin.ForkJoinPool$WaitQueueNode.awaitSyncRelease(ForkJoinPool.java:1340)
at scala.concurrent.forkjoin.ForkJoinPool.sync(ForkJoinPool.java:1417)
at scala.concurrent.forkjoin.ForkJoinWorkerThread.mainLoop(ForkJoinWorkerThread.java:342)
at scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:325)
"ForkJoinPool-1-worker-7" daemon prio=6 tid=1163a8000 nid=0x12e40a000 waiting on condition [12e409000]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <7768dc348> (a scala.concurrent.forkjoin.ForkJoinPool$WaitQueueNode)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:156)
at scala.concurrent.forkjoin.ForkJoinPool$WaitQueueNode.awaitSyncRelease(ForkJoinPool.java:1340)
at scala.concurrent.forkjoin.ForkJoinPool.sync(ForkJoinPool.java:1417)
at scala.concurrent.forkjoin.ForkJoinWorkerThread.mainLoop(ForkJoinWorkerThread.java:342)
at scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:325)
"ForkJoinPool-1-worker-6" daemon prio=6 tid=1163a7800 nid=0x12e307000 waiting on condition [12e306000]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <7768dc368> (a scala.concurrent.forkjoin.ForkJoinPool$WaitQueueNode)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:156)
at scala.concurrent.forkjoin.ForkJoinPool$WaitQueueNode.awaitSpareRelease(ForkJoinPool.java:1349)
at scala.concurrent.forkjoin.ForkJoinPool.suspendIfSpare(ForkJoinPool.java:1634)
at scala.concurrent.forkjoin.ForkJoinPool.sync(ForkJoinPool.java:1408)
at scala.concurrent.forkjoin.ForkJoinWorkerThread.mainLoop(ForkJoinWorkerThread.java:342)
at scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:325)
"ForkJoinPool-1-worker-5" daemon prio=6 tid=1163a6800 nid=0x12e204000 waiting on condition [12e203000]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <7768dc328> (a scala.concurrent.forkjoin.ForkJoinPool$WaitQueueNode)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:156)
at scala.concurrent.forkjoin.ForkJoinPool$WaitQueueNode.awaitSyncRelease(ForkJoinPool.java:1340)
at scala.concurrent.forkjoin.ForkJoinPool.sync(ForkJoinPool.java:1417)
at scala.concurrent.forkjoin.ForkJoinWorkerThread.mainLoop(ForkJoinWorkerThread.java:342)
at scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:325)
"ForkJoinPool-1-worker-4" daemon prio=6 tid=1163a6000 nid=0x12e101000 waiting on condition [12e100000]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <7768dc3c8> (a scala.concurrent.forkjoin.ForkJoinPool$WaitQueueNode)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:156)
at scala.concurrent.forkjoin.ForkJoinPool$WaitQueueNode.awaitSyncRelease(ForkJoinPool.java:1340)
at scala.concurrent.forkjoin.ForkJoinPool.sync(ForkJoinPool.java:1417)
at scala.concurrent.forkjoin.ForkJoinWorkerThread.mainLoop(ForkJoinWorkerThread.java:342)
at scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:325)
"ForkJoinPool-1-worker-3" daemon prio=6 tid=1163a5000 nid=0x12cf96000 waiting on condition [12cf95000]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <7768dc3a8> (a scala.concurrent.forkjoin.ForkJoinPool$WaitQueueNode)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:156)
at scala.concurrent.forkjoin.ForkJoinPool$WaitQueueNode.awaitSyncRelease(ForkJoinPool.java:1340)
at scala.concurrent.forkjoin.ForkJoinPool.sync(ForkJoinPool.java:1417)
at scala.concurrent.forkjoin.ForkJoinWorkerThread.mainLoop(ForkJoinWorkerThread.java:342)
at scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:325)
"ForkJoinPool-1-worker-2" daemon prio=6 tid=1163a4800 nid=0x12ce93000 waiting on condition [12ce92000]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <7768dc408> (a scala.concurrent.forkjoin.ForkJoinPool$WaitQueueNode)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:156)
at scala.concurrent.forkjoin.ForkJoinPool$WaitQueueNode.awaitSyncRelease(ForkJoinPool.java:1340)
at scala.concurrent.forkjoin.ForkJoinPool.sync(ForkJoinPool.java:1417)
at scala.concurrent.forkjoin.ForkJoinWorkerThread.mainLoop(ForkJoinWorkerThread.java:342)
at scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:325)
"ForkJoinPool-1-worker-1" daemon prio=6 tid=1163a3800 nid=0x12cc75000 waiting on condition [12cc74000]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <7768dc388> (a scala.concurrent.forkjoin.ForkJoinPool$WaitQueueNode)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:156)
at scala.concurrent.forkjoin.ForkJoinPool$WaitQueueNode.awaitSyncRelease(ForkJoinPool.java:1340)
at scala.concurrent.forkjoin.ForkJoinPool.sync(ForkJoinPool.java:1417)
at scala.concurrent.forkjoin.ForkJoinWorkerThread.mainLoop(ForkJoinWorkerThread.java:342)
at scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:325)
"ForkJoinPool-1-worker-0" daemon prio=6 tid=1164d3000 nid=0x12abbf000 waiting on condition [12abbe000]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <7768dc308> (a scala.concurrent.forkjoin.ForkJoinPool$WaitQueueNode)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:156)
at scala.concurrent.forkjoin.ForkJoinPool$WaitQueueNode.awaitSyncRelease(ForkJoinPool.java:1340)
at scala.concurrent.forkjoin.ForkJoinPool.sync(ForkJoinPool.java:1417)
at scala.concurrent.forkjoin.ForkJoinWorkerThread.mainLoop(ForkJoinWorkerThread.java:342)
at scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:325)
"[ThreadPool Manager] - Idle Thread" daemon prio=5 tid=11b33a000 nid=0x12b6c7000 in Object.wait() [12b6c6000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <772c8c058> (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 <772c8c058> (a org.eclipse.equinox.internal.util.impl.tpt.threadpool.Executor)
"Scala Presentation Compiler [org.scala-ide.sdt.core]" prio=6 tid=115325000 nid=0x12aabc000 in Object.wait() [12aabb000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <76f3fde58> (a scala.tools.nsc.util.WorkScheduler)
at java.lang.Object.wait(Object.java:485)
at scala.tools.nsc.util.WorkScheduler.waitForMoreWork(WorkScheduler.scala:16)
- locked <76f3fde58> (a scala.tools.nsc.util.WorkScheduler)
at scala.tools.nsc.interactive.PresentationCompilerThread$$anonfun$run$1.apply$mcZ$sp(PresentationCompilerThread.scala:21)
at scala.tools.nsc.io.NullLogger$.logreplay(Replayer.scala:38)
at scala.tools.nsc.interactive.PresentationCompilerThread.run(PresentationCompilerThread.scala:21)
"Java indexing" daemon prio=4 tid=12345c800 nid=0x12a85e000 in Object.wait() [12a85d000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <76e44e0c8> (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:382)
- locked <76e44e0c8> (a org.eclipse.jdt.internal.core.search.indexing.IndexManager)
at java.lang.Thread.run(Thread.java:680)
"Thread-2" daemon prio=1 tid=115041000 nid=0x125548000 waiting on condition [125547000]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <76df2b6b8> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:156)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1987)
at java.util.concurrent.ArrayBlockingQueue.take(ArrayBlockingQueue.java:315)
at org.eclipse.equinox.weaving.internal.caching.CacheWriter$1.run(Unknown Source)
at java.lang.Thread.run(Thread.java:680)
"Provisioning Event Dispatcher" daemon prio=5 tid=11610e000 nid=0x127509000 in Object.wait() [127508000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <76d8c9f30> (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:400)
- locked <76d8c9f30> (a org.eclipse.osgi.framework.eventmgr.EventManager$EventThread)
at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:336)
"Worker-JM" prio=5 tid=11b220800 nid=0x127406000 in Object.wait() [127405000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <76d70e950> (a java.util.ArrayList)
at org.eclipse.core.internal.jobs.InternalWorker.run(InternalWorker.java:58)
- locked <76d70e950> (a java.util.ArrayList)
"[Timer] - Main Queue Handler" daemon prio=5 tid=11b1de000 nid=0x127303000 in Object.wait() [127302000]
java.lang.Thread.State: TIMED_WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <76d70e968> (a java.lang.Object)
at org.eclipse.equinox.internal.util.impl.tpt.timer.TimerImpl.run(TimerImpl.java:141)
- locked <76d70e968> (a java.lang.Object)
at java.lang.Thread.run(Thread.java:680)
"Framework Event Dispatcher" daemon prio=5 tid=11b225000 nid=0x1270fd000 in Object.wait() [1270fc000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <76d87d178> (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:400)
- locked <76d87d178> (a org.eclipse.osgi.framework.eventmgr.EventManager$EventThread)
at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:336)
"Start Level Event Dispatcher" daemon prio=5 tid=1230fe800 nid=0x1256f0000 in Object.wait() [1256ef000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <76d87d1f8> (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:400)
- locked <76d87d1f8> (a org.eclipse.osgi.framework.eventmgr.EventManager$EventThread)
at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:336)
"Bundle File Closer" daemon prio=5 tid=116189000 nid=0x124f8e000 in Object.wait() [124f8d000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <76d952fe8> (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:400)
- locked <76d952fe8> (a org.eclipse.osgi.framework.eventmgr.EventManager$EventThread)
at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:336)
"State Data Manager" daemon prio=5 tid=116186800 nid=0x124d14000 waiting on condition [124d13000]
java.lang.Thread.State: TIMED_WAITING (sleeping)
at java.lang.Thread.sleep(Native Method)
at org.eclipse.osgi.internal.baseadaptor.StateManager.run(StateManager.java:297)
at java.lang.Thread.run(Thread.java:680)
"Framework Active Thread" prio=5 tid=11617d800 nid=0x124c11000 in Object.wait() [124c10000]
java.lang.Thread.State: TIMED_WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <76d6609d0> (a org.eclipse.osgi.framework.internal.core.Framework)
at org.eclipse.osgi.framework.internal.core.Framework.run(Framework.java:1817)
- locked <76d6609d0> (a org.eclipse.osgi.framework.internal.core.Framework)
at java.lang.Thread.run(Thread.java:680)
"Poller SunPKCS11-Darwin" daemon prio=1 tid=11505b000 nid=0x124201000 waiting on condition [124200000]
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:680)
"Low Memory Detector" daemon prio=5 tid=123000000 nid=0x122c01000 runnable [00000000]
java.lang.Thread.State: RUNNABLE
"C2 CompilerThread1" daemon prio=9 tid=11b1be800 nid=0x12290a000 waiting on condition [00000000]
java.lang.Thread.State: RUNNABLE
"C2 CompilerThread0" daemon prio=9 tid=115010800 nid=0x122807000 waiting on condition [00000000]
java.lang.Thread.State: RUNNABLE
"Signal Dispatcher" daemon prio=9 tid=11500f800 nid=0x122704000 runnable [00000000]
java.lang.Thread.State: RUNNABLE
"Surrogate Locker Thread (Concurrent GC)" daemon prio=5 tid=116008800 nid=0x122601000 waiting on condition [00000000]
java.lang.Thread.State: RUNNABLE
"Finalizer" daemon prio=8 tid=11b1bd800 nid=0x12232c000 in Object.wait() [12232b000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <76d660880> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:118)
- locked <76d660880> (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=11b1bd000 nid=0x122229000 in Object.wait() [122228000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <76d660018> (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 <76d660018> (a java.lang.ref.Reference$Lock)
"main" prio=6 tid=117000800 nid=0x7fff70bcbcc0 waiting for monitor entry [7fff5fbf9000]
java.lang.Thread.State: BLOCKED (on object monitor)
at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass_LockClassLoader(ClasspathManager.java:477)
- waiting to lock <76df6d920> (a org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader)
at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass(ClasspathManager.java:458)
at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.findLocalClass(DefaultClassLoader.java:216)
at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:400)
at org.eclipse.osgi.internal.loader.SingleSourcePackage.loadClass(SingleSourcePackage.java:35)
at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:473)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:429)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:417)
at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
at scala.tools.eclipse.ui.ScalaAutoIndentStrategy.isClosed(ScalaAutoIndentStrategy.scala:522)
at scala.tools.eclipse.ui.ScalaAutoIndentStrategy.smartIndentAfterNewLine(ScalaAutoIndentStrategy.scala:304)
at scala.tools.eclipse.ui.ScalaAutoIndentStrategy.customizeDocumentCommand(ScalaAutoIndentStrategy.scala:1220)
at org.eclipse.jface.text.TextViewer.customizeDocumentCommand(TextViewer.java:3752)
at org.eclipse.jface.text.TextViewer.handleVerifyEvent(TextViewer.java:3782)
at org.eclipse.jface.text.source.projection.ProjectionViewer.handleVerifyEvent(ProjectionViewer.java:1277)
at org.eclipse.jface.text.TextViewer$TextVerifyListener.verifyText(TextViewer.java:435)
at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:265)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4128)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1457)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1480)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1465)
at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:1270)
at org.eclipse.swt.custom.StyledText.modifyContent(StyledText.java:7148)
at org.eclipse.swt.custom.StyledText.sendKeyEvent(StyledText.java:7994)
at org.eclipse.swt.custom.StyledText.doContent(StyledText.java:2456)
at org.eclipse.swt.custom.StyledText.handleKey(StyledText.java:5911)
at org.eclipse.swt.custom.StyledText.handleKeyDown(StyledText.java:5941)
at org.eclipse.swt.custom.StyledText$7.handleEvent(StyledText.java:5635)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4128)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1457)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1480)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1465)
at org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:1494)
at org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:1490)
at org.eclipse.swt.widgets.Canvas.sendKeyEvent(Canvas.java:463)
at org.eclipse.swt.widgets.Control.doCommandBySelector(Control.java:1051)
at org.eclipse.swt.widgets.Display.windowProc(Display.java:5563)
at org.eclipse.swt.internal.cocoa.OS.objc_msgSend(Native Method)
at org.eclipse.swt.internal.cocoa.NSResponder.interpretKeyEvents(NSResponder.java:68)
at org.eclipse.swt.widgets.Composite.keyDown(Composite.java:587)
at org.eclipse.swt.widgets.Display.windowProc(Display.java:5473)
at org.eclipse.swt.internal.cocoa.OS.objc_msgSendSuper(Native Method)
at org.eclipse.swt.widgets.Widget.callSuper(Widget.java:220)
at org.eclipse.swt.widgets.Widget.windowSendEvent(Widget.java:2092)
at org.eclipse.swt.widgets.Shell.windowSendEvent(Shell.java:2252)
at org.eclipse.swt.widgets.Display.windowProc(Display.java:5535)
at org.eclipse.swt.internal.cocoa.OS.objc_msgSendSuper(Native Method)
at org.eclipse.swt.widgets.Display.applicationSendEvent(Display.java:4989)
at org.eclipse.swt.widgets.Display.applicationProc(Display.java:5138)
at org.eclipse.swt.internal.cocoa.OS.objc_msgSend(Native Method)
at org.eclipse.swt.internal.cocoa.NSApplication.sendEvent(NSApplication.java:128)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3610)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2696)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2660)
at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2494)
at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:674)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:667)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:123)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
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:344)
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:622)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:577)
at org.eclipse.equinox.launcher.Main.run(Main.java:1410)
"VM Thread" prio=9 tid=11b1b8800 nid=0x122126000 runnable
"Gang worker#0 (Parallel GC Threads)" prio=9 tid=11b000000 nid=0x115c01000 runnable
"Gang worker#1 (Parallel GC Threads)" prio=9 tid=11b001000 nid=0x115d04000 runnable
"Gang worker#2 (Parallel GC Threads)" prio=9 tid=11b001800 nid=0x115e07000 runnable
"Gang worker#3 (Parallel GC Threads)" prio=9 tid=11b002000 nid=0x115f0a000 runnable
"Gang worker#4 (Parallel GC Threads)" prio=9 tid=11b002800 nid=0x11a902000 runnable
"Gang worker#5 (Parallel GC Threads)" prio=9 tid=11b003800 nid=0x11aa05000 runnable
"Gang worker#6 (Parallel GC Threads)" prio=9 tid=11b004000 nid=0x11ab08000 runnable
"Gang worker#7 (Parallel GC Threads)" prio=9 tid=11b004800 nid=0x11ac0b000 runnable
"Concurrent Mark-Sweep GC Thread" prio=9 tid=11b0e2000 nid=0x121e2d000 runnable
"Gang worker#0 (Parallel CMS Threads)" prio=9 tid=11b0e0800 nid=0x121427000 runnable
"Gang worker#1 (Parallel CMS Threads)" prio=9 tid=11b0e1800 nid=0x12152a000 runnable
"VM Periodic Task Thread" prio=10 tid=12300a000 nid=0x122d04000 waiting on condition
"Exception Catcher Thread" prio=10 tid=117001800 nid=0x104301000 runnable
JNI global references: 4134
Found one Java-level deadlock:
=============================
"org.eclipse.jdt.internal.ui.text.JavaReconciler":
waiting to lock monitor 1011f9270 (object 76df1a7c0, a org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader),
which is held by "Worker-53"
"Worker-53":
waiting to lock monitor 100bee270 (object 76df6d920, a org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader),
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.osgi.baseadaptor.loader.ClasspathManager.findLocalClass_LockClassLoader(ClasspathManager.java:477)
- waiting to lock <76df1a7c0> (a org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader)
at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass(ClasspathManager.java:458)
at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.findLocalClass(DefaultClassLoader.java:216)
at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:400)
at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:476)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:429)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:417)
at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
at org.eclipse.osgi.internal.loader.BundleLoader.loadClass(BundleLoader.java:345)
at org.eclipse.osgi.framework.internal.core.BundleHost.loadClass(BundleHost.java:229)
at org.eclipse.osgi.framework.internal.core.AbstractBundle.loadClass(AbstractBundle.java:1207)
at org.eclipse.equinox.weaving.hooks.WeavingLoaderDelegateHook.postFindClass(WeavingLoaderDelegateHook.java:102)
at org.eclipse.osgi.internal.loader.BundleLoader.searchHooks(BundleLoader.java:528)
at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:493)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:429)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:417)
at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
at org.eclipse.jdt.internal.core.hierarchy.ChangeCollector.getAllTypesFromElement(ChangeCollector.java:334)
at org.eclipse.jdt.internal.core.hierarchy.ChangeCollector.addChange(ChangeCollector.java:174)
at org.eclipse.jdt.internal.core.hierarchy.ChangeCollector.addAffectedChildren(ChangeCollector.java:62)
at org.eclipse.jdt.internal.core.hierarchy.ChangeCollector.addChange(ChangeCollector.java:221)
at org.eclipse.jdt.internal.core.hierarchy.ChangeCollector.addAffectedChildren(ChangeCollector.java:57)
at org.eclipse.jdt.internal.core.hierarchy.ChangeCollector.addChange(ChangeCollector.java:91)
at org.eclipse.jdt.internal.core.hierarchy.TypeHierarchy.isAffectedByOpenable(TypeHierarchy.java:1000)
at org.eclipse.jdt.internal.core.hierarchy.TypeHierarchy.isAffected(TypeHierarchy.java:824)
- locked <775f8a5d8> (a org.eclipse.jdt.internal.core.hierarchy.TypeHierarchy)
at org.eclipse.jdt.internal.core.hierarchy.TypeHierarchy.elementChanged(TypeHierarchy.java:328)
at org.eclipse.jdt.internal.core.DeltaProcessor$4.run(DeltaProcessor.java:1670)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
at org.eclipse.jdt.internal.core.DeltaProcessor.notifyListeners(DeltaProcessor.java:1660)
at org.eclipse.jdt.internal.core.DeltaProcessor.fireReconcileDelta(DeltaProcessor.java:1512)
at org.eclipse.jdt.internal.core.DeltaProcessor.fire(DeltaProcessor.java:1471)
at org.eclipse.jdt.internal.core.JavaModelOperation.run(JavaModelOperation.java:769)
at org.eclipse.jdt.internal.core.JavaModelOperation.runOperation(JavaModelOperation.java:788)
at org.eclipse.jdt.internal.core.CompilationUnit.reconcile(CompilationUnit.java:1244)
at scala.tools.eclipse.javaelements.ScalaSourceFile.reconcile(ScalaSourceFile.scala:68)
at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.reconcile(JavaReconcilingStrategy.java:126)
at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.access$0(JavaReconcilingStrategy.java:108)
at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy$1.run(JavaReconcilingStrategy.java:89)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.reconcile(JavaReconcilingStrategy.java:87)
at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.reconcile(JavaReconcilingStrategy.java:151)
at org.eclipse.jdt.internal.ui.text.CompositeReconcilingStrategy.reconcile(CompositeReconcilingStrategy.java:86)
at org.eclipse.jdt.internal.ui.text.JavaCompositeReconcilingStrategy.reconcile(JavaCompositeReconcilingStrategy.java:104)
at org.eclipse.jface.text.reconciler.MonoReconciler.process(MonoReconciler.java:77)
at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run(AbstractReconciler.java:206)
"Worker-53":
at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass_LockClassLoader(ClasspathManager.java:477)
- waiting to lock <76df6d920> (a org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader)
at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass(ClasspathManager.java:458)
at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.findLocalClass(DefaultClassLoader.java:216)
at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:400)
at org.eclipse.osgi.internal.loader.SingleSourcePackage.loadClass(SingleSourcePackage.java:35)
at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:473)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:429)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:417)
at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
at scala.tools.eclipse.contribution.weaving.jdt.cfprovider.ClassFileProviderAspect.ajc$around$scala_tools_eclipse_contribution_weaving_jdt_cfprovider_ClassFileProviderAspect$14$3eea5531(ClassFileProviderAspect.aj:393)
at org.eclipse.jdt.internal.corext.util.OpenTypeHistory.isContainerDirty(OpenTypeHistory.java:366)
at org.eclipse.jdt.internal.corext.util.OpenTypeHistory.internalCheckConsistency(OpenTypeHistory.java:307)
- locked <771f526a8> (a org.eclipse.jdt.internal.corext.util.OpenTypeHistory)
at org.eclipse.jdt.internal.corext.util.OpenTypeHistory.access$0(OpenTypeHistory.java:296)
at org.eclipse.jdt.internal.corext.util.OpenTypeHistory$UpdateJob.run(OpenTypeHistory.java:157)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
Found 1 deadlock.
Leave a comment
on 2012-04-25 02:39 *
By Mirco Dotta
Description changed from Nice deadlock I've been hit... to Nice deadlock I've been hit...
on 2012-04-25 02:40 *
By Mirco Dotta
Description changed from Nice deadlock I've been hit... to Nice deadlock I've been hit...
on 2012-04-25 02:46 *
By Mirco Dotta
Description changed from Nice deadlock I've been hit... to Nice deadlock I've been hit...
on 2012-04-25 03:05 *
By Mirco Dotta
I just created a bug in the Eclipse bugs tracker: https://bugs.eclipse.org/bugs/show_bug.cgi?id=377609
Apparently, this is a bug in the Oracle JVM and it is fixed only for the JRE 7. This is really an annoying issue, but I fear there is nothing we can do. I'm closing the ticket and leave the information here for posterity.