<AWT Dev> nativeGetCursorPosition() locks EDT

Dmitriy Ermashov dmitriy.ermashov at oracle.com
Thu Jun 26 12:25:10 UTC 2014


Hi all,

The bug can be related with https://bugs.openjdk.java.net/browse/JDK-8047288

Thanks,
Dima

On 06/26/2014 04:15 PM, Konstantin Bulenkov wrote:
> Hi,
>
> After switching to 1.8.0_20-ea-b19 x86_64 (Mac OS X 10.9.3) I got EDT locked very often in my desktop application (IntelliJ IDEA). I don’t have this problem in stable versions of 1.8/1.7
>
> Symptoms: EDT stops responding
> Could you please take a look? Looks like regression. Here is the stack trace:
>
> "JobScheduler FJ pool 0/4" prio=0 tid=0x0 nid=0x0 waiting on condition
>       java.lang.Thread.State: TIMED_WAITING
>   on jsr166e.ForkJoinPool at 1e356543
> 	at sun.misc.Unsafe.park(Native Method)
> 	at jsr166e.ForkJoinPool.awaitWork(ForkJoinPool.java:1756)
> 	at jsr166e.ForkJoinPool.scan(ForkJoinPool.java:1694)
> 	at jsr166e.ForkJoinPool.runWorker(ForkJoinPool.java:1642)
> 	at jsr166e.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:109)
>
> "YJPAgent-OOMESnapshotDetector" prio=0 tid=0x0 nid=0x0 runnable
>       java.lang.Thread.State: RUNNABLE
>   (in native)
>
> "YJPAgent-CPUSampler" prio=0 tid=0x0 nid=0x0 runnable
>       java.lang.Thread.State: RUNNABLE
>
>
> "YJPAgent-RequestListener" prio=0 tid=0x0 nid=0x0 runnable
>       java.lang.Thread.State: RUNNABLE
>   (in native)
> 	at java.net.PlainSocketImpl.socketAccept(Native Method)
> 	at java.net.AbstractPlainSocketImpl.accept(AbstractPlainSocketImpl.java:404)
> 	at java.net.ServerSocket.implAccept(ServerSocket.java:545)
> 	at java.net.ServerSocket.accept(ServerSocket.java:513)
> 	at com.yourkit.runtime.Core$4.run(Core.java:710)
> 	at java.lang.Thread.null(Unknown Source)
>
> "YJPAgent-Telemetry" prio=0 tid=0x0 nid=0x0 waiting on condition
>       java.lang.Thread.State: TIMED_WAITING
>
> 	at java.lang.Thread.sleep(Native Method)
> 	at com.yourkit.util.Util.sleep(Util.java:55)
> 	at com.yourkit.runtime.TelemetryThread.run(TelemetryThread.java:541)
>
> "Attach Listener" prio=0 tid=0x0 nid=0x0 runnable
>       java.lang.Thread.State: RUNNABLE
>
>
> "ApplicationImpl pooled thread 87" prio=0 tid=0x0 nid=0x0 waiting on condition
>       java.lang.Thread.State: TIMED_WAITING
>   on java.util.concurrent.SynchronousQueue$TransferStack at 667921bf
> 	at sun.misc.Unsafe.park(Native Method)
> 	at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
> 	at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:460)
> 	at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:362)
> 	at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:941)
> 	at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1066)
> 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
> 	at java.lang.Thread.null(Unknown Source)
> 	at com.intellij.openapi.application.impl.ApplicationImpl$1$1.run(ApplicationImpl.java:149)
>
> "ApplicationImpl pooled thread 85" prio=0 tid=0x0 nid=0x0 waiting on condition
>       java.lang.Thread.State: TIMED_WAITING
>   on java.util.concurrent.SynchronousQueue$TransferStack at 667921bf
> 	at sun.misc.Unsafe.park(Native Method)
> 	at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
> 	at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:460)
> 	at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:362)
> 	at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:941)
> 	at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1066)
> 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
> 	at java.lang.Thread.null(Unknown Source)
> 	at com.intellij.openapi.application.impl.ApplicationImpl$1$1.run(ApplicationImpl.java:149)
>
> "ApplicationImpl pooled thread 84" prio=0 tid=0x0 nid=0x0 waiting on condition
>       java.lang.Thread.State: TIMED_WAITING
>   on java.util.concurrent.SynchronousQueue$TransferStack at 667921bf
> 	at sun.misc.Unsafe.park(Native Method)
> 	at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
> 	at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:460)
> 	at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:362)
> 	at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:941)
> 	at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1066)
> 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
> 	at java.lang.Thread.null(Unknown Source)
> 	at com.intellij.openapi.application.impl.ApplicationImpl$1$1.run(ApplicationImpl.java:149)
>
> "ApplicationImpl pooled thread 83" prio=0 tid=0x0 nid=0x0 waiting on condition
>       java.lang.Thread.State: TIMED_WAITING
>   on java.util.concurrent.SynchronousQueue$TransferStack at 667921bf
> 	at sun.misc.Unsafe.park(Native Method)
> 	at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
> 	at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:460)
> 	at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:362)
> 	at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:941)
> 	at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1066)
> 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
> 	at java.lang.Thread.null(Unknown Source)
> 	at com.intellij.openapi.application.impl.ApplicationImpl$1$1.run(ApplicationImpl.java:149)
>
> "ApplicationImpl pooled thread 81" prio=0 tid=0x0 nid=0x0 waiting on condition
>       java.lang.Thread.State: TIMED_WAITING
>   on java.util.concurrent.SynchronousQueue$TransferStack at 667921bf
> 	at sun.misc.Unsafe.park(Native Method)
> 	at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
> 	at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:460)
> 	at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:362)
> 	at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:941)
> 	at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1066)
> 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
> 	at java.lang.Thread.null(Unknown Source)
> 	at com.intellij.openapi.application.impl.ApplicationImpl$1$1.run(ApplicationImpl.java:149)
>
> "Action Updater" prio=0 tid=0x0 nid=0x0 waiting on condition
>       java.lang.Thread.State: WAITING
>   on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject at 6c9990ec
> 	at sun.misc.Unsafe.park(Native Method)
> 	at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
> 	at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
> 	at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
> 	at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067)
> 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
> 	at java.lang.Thread.null(Unknown Source)
>
> "globalEventExecutor-1-3" prio=0 tid=0x0 nid=0x0 waiting on condition
>       java.lang.Thread.State: TIMED_WAITING
>   on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject at e8a4982
> 	at sun.misc.Unsafe.park(Native Method)
> 	at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
> 	at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078)
> 	at java.util.concurrent.LinkedBlockingQueue.poll(LinkedBlockingQueue.java:467)
> 	at io.netty.util.concurrent.GlobalEventExecutor.takeTask(GlobalEventExecutor.java:89)
> 	at io.netty.util.concurrent.GlobalEventExecutor$TaskRunner.run(GlobalEventExecutor.java:318)
> 	at java.lang.Thread.null(Unknown Source)
>
> "RefCountingStorage write content helper" prio=0 tid=0x0 nid=0x0 waiting on condition
>       java.lang.Thread.State: WAITING
>   on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject at 4eb490de
> 	at sun.misc.Unsafe.park(Native Method)
> 	at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
> 	at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
> 	at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
> 	at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067)
> 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
> 	at java.lang.Thread.null(Unknown Source)
>
> "File type re-detect" prio=0 tid=0x0 nid=0x0 waiting on condition
>       java.lang.Thread.State: WAITING
>   on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject at 68ecdc47
> 	at sun.misc.Unsafe.park(Native Method)
> 	at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
> 	at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
> 	at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1081)
> 	at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:809)
> 	at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067)
> 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
> 	at java.lang.Thread.null(Unknown Source)
>
> "FS Synchronizer" prio=0 tid=0x0 nid=0x0 waiting on condition
>       java.lang.Thread.State: WAITING
>   on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject at 3e6f0bdd
> 	at sun.misc.Unsafe.park(Native Method)
> 	at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
> 	at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
> 	at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
> 	at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067)
> 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
> 	at java.lang.Thread.null(Unknown Source)
>
> "Change List Updater" prio=0 tid=0x0 nid=0x0 waiting on condition
>       java.lang.Thread.State: WAITING
>   on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject at 7021b508
> 	at sun.misc.Unsafe.park(Native Method)
> 	at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
> 	at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
> 	at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1081)
> 	at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:809)
> 	at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067)
> 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
> 	at java.lang.Thread.null(Unknown Source)
>
> "EditorNotifications executor" prio=0 tid=0x0 nid=0x0 waiting on condition
>       java.lang.Thread.State: WAITING
>   on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject at 40daf476
> 	at sun.misc.Unsafe.park(Native Method)
> 	at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
> 	at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
> 	at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
> 	at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067)
> 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
> 	at java.lang.Thread.null(Unknown Source)
>
> "ApplicationImpl pooled thread 8" prio=0 tid=0x0 nid=0x0 runnable
>       java.lang.Thread.State: RUNNABLE
>   (in native)
> 	at sun.nio.ch.KQueueArrayWrapper.kevent0(Native Method)
> 	at sun.nio.ch.KQueueArrayWrapper.poll(KQueueArrayWrapper.java:198)
> 	at sun.nio.ch.KQueueSelectorImpl.doSelect(KQueueSelectorImpl.java:103)
> 	at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:86)
> 	at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:97)
> 	at io.netty.channel.nio.NioEventLoop.select(NioEventLoop.java:618)
> 	at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:306)
> 	at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:824)
> 	at com.intellij.openapi.application.impl.ApplicationImpl$9.run(ApplicationImpl.java:446)
> 	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
> 	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
> 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
> 	at java.lang.Thread.null(Unknown Source)
> 	at com.intellij.openapi.application.impl.ApplicationImpl$1$1.run(ApplicationImpl.java:149)
>
> "Encoding detection thread" prio=0 tid=0x0 nid=0x0 waiting on condition
>       java.lang.Thread.State: WAITING
>   on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject at 685d1c9c
> 	at sun.misc.Unsafe.park(Native Method)
> 	at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
> 	at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
> 	at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1081)
> 	at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:809)
> 	at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067)
> 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
> 	at java.lang.Thread.null(Unknown Source)
>
> "Document commit thread" prio=0 tid=0x0 nid=0x0 waiting on condition
>       java.lang.Thread.State: WAITING
>   on com.intellij.util.containers.Queue at 7ab56c4
> 	at java.lang.Object.wait(Native Method)
> 	at java.lang.Object.wait(Object.java:502)
> 	at com.intellij.psi.impl.DocumentCommitThread.pollQueue(DocumentCommitThread.java:262)
> 	at com.intellij.psi.impl.DocumentCommitThread.run(DocumentCommitThread.java:238)
> 	at java.lang.Thread.null(Unknown Source)
>
> "TimerQueue" prio=0 tid=0x0 nid=0x0 waiting on condition
>       java.lang.Thread.State: TIMED_WAITING
>   on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject at 10457b03
> 	at sun.misc.Unsafe.park(Native Method)
> 	at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
> 	at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078)
> 	at java.util.concurrent.DelayQueue.take(DelayQueue.java:223)
> 	at javax.swing.TimerQueue.run(TimerQueue.java:171)
> 	at java.lang.Thread.null(Unknown Source)
>
> "Alarm pool(shared)" prio=0 tid=0x0 nid=0x0 waiting on condition
>       java.lang.Thread.State: WAITING
>   on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject at 602951d2
> 	at sun.misc.Unsafe.park(Native Method)
> 	at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
> 	at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
> 	at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
> 	at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067)
> 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
> 	at java.lang.Thread.null(Unknown Source)
>
> "Animations" prio=0 tid=0x0 nid=0x0 waiting on condition
>       java.lang.Thread.State: TIMED_WAITING
>   on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject at 609008b7
> 	at sun.misc.Unsafe.park(Native Method)
> 	at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
> 	at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078)
> 	at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1093)
> 	at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:809)
> 	at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067)
> 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
> 	at java.lang.Thread.null(Unknown Source)
>
> "FocusManager timer" prio=0 tid=0x0 nid=0x0 waiting on condition
>       java.lang.Thread.State: WAITING
>   on java.util.TaskQueue at 3d507f17
> 	at java.lang.Object.wait(Native Method)
> 	at java.lang.Object.wait(Object.java:502)
> 	at java.util.TimerThread.mainLoop(Timer.java:526)
> 	at java.util.TimerThread.run(Timer.java:505)
>
> "Shared SimpleTimer" prio=0 tid=0x0 nid=0x0 waiting on condition
>       java.lang.Thread.State: WAITING
>   on java.util.TaskQueue at 6f686dd
> 	at java.lang.Object.wait(Native Method)
> 	at java.lang.Object.wait(Object.java:502)
> 	at java.util.TimerThread.mainLoop(Timer.java:526)
> 	at java.util.TimerThread.run(Timer.java:505)
>
> "Performance watcher" prio=0 tid=0x0 nid=0x0 runnable
>       java.lang.Thread.State: RUNNABLE
>
> 	at sun.management.ThreadImpl.dumpThreads0(Native Method)
> 	at sun.management.ThreadImpl.dumpAllThreads(ThreadImpl.java:446)
> 	at com.intellij.diagnostic.ThreadDumper.dumpThreadsToFile(ThreadDumper.java:47)
> 	at com.intellij.diagnostic.PerformanceWatcher.dumpThreads(PerformanceWatcher.java:219)
> 	at com.intellij.diagnostic.PerformanceWatcher.checkEDTResponsiveness(PerformanceWatcher.java:172)
> 	at com.intellij.diagnostic.PerformanceWatcher.access$100(PerformanceWatcher.java:40)
> 	at com.intellij.diagnostic.PerformanceWatcher$2.run(PerformanceWatcher.java:113)
> 	at java.lang.Thread.null(Unknown Source)
>
> "ApplicationImpl pooled thread 3" prio=0 tid=0x0 nid=0x0 runnable
>       java.lang.Thread.State: RUNNABLE
>   (in native)
> 	at sun.nio.ch.KQueueArrayWrapper.kevent0(Native Method)
> 	at sun.nio.ch.KQueueArrayWrapper.poll(KQueueArrayWrapper.java:198)
> 	at sun.nio.ch.KQueueSelectorImpl.doSelect(KQueueSelectorImpl.java:103)
> 	at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:86)
> 	at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:97)
> 	at io.netty.channel.nio.NioEventLoop.select(NioEventLoop.java:618)
> 	at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:306)
> 	at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:824)
> 	at com.intellij.openapi.application.impl.ApplicationImpl$9.run(ApplicationImpl.java:446)
> 	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
> 	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
> 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
> 	at java.lang.Thread.null(Unknown Source)
> 	at com.intellij.openapi.application.impl.ApplicationImpl$1$1.run(ApplicationImpl.java:149)
>
> "StoreRefreshStatusThread" prio=0 tid=0x0 nid=0x0 waiting on condition
>       java.lang.Thread.State: TIMED_WAITING
>
> 	at java.lang.Thread.sleep(Native Method)
> 	at com.intellij.util.TimeoutUtil.sleep(TimeoutUtil.java:58)
> 	at com.intellij.openapi.vfs.impl.local.LocalFileSystemImpl$StoreRefreshStatusThread.run(LocalFileSystemImpl.java:355)
>
> "ApplicationImpl pooled thread 2" prio=0 tid=0x0 nid=0x0 waiting on condition
>       java.lang.Thread.State: TIMED_WAITING
>
> 	at java.lang.Thread.sleep(Native Method)
> 	at com.intellij.util.TimeoutUtil.sleep(TimeoutUtil.java:58)
> 	at com.intellij.util.io.BaseDataReader.doRun(BaseDataReader.java:105)
> 	at com.intellij.util.io.BaseDataReader$1.run(BaseDataReader.java:46)
> 	at com.intellij.openapi.application.impl.ApplicationImpl$9.run(ApplicationImpl.java:446)
> 	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
> 	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
> 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
> 	at java.lang.Thread.null(Unknown Source)
> 	at com.intellij.openapi.application.impl.ApplicationImpl$1$1.run(ApplicationImpl.java:149)
>
> "ApplicationImpl pooled thread 1" prio=0 tid=0x0 nid=0x0 waiting on condition
>       java.lang.Thread.State: TIMED_WAITING
>
> 	at java.lang.Thread.sleep(Native Method)
> 	at com.intellij.util.TimeoutUtil.sleep(TimeoutUtil.java:58)
> 	at com.intellij.util.io.BaseDataReader.doRun(BaseDataReader.java:105)
> 	at com.intellij.util.io.BaseDataReader$1.run(BaseDataReader.java:46)
> 	at com.intellij.openapi.application.impl.ApplicationImpl$9.run(ApplicationImpl.java:446)
> 	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
> 	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
> 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
> 	at java.lang.Thread.null(Unknown Source)
> 	at com.intellij.openapi.application.impl.ApplicationImpl$1$1.run(ApplicationImpl.java:149)
>
> "ApplicationImpl pooled thread 0" prio=0 tid=0x0 nid=0x0 waiting on condition
>       java.lang.Thread.State: WAITING
>   on java.lang.UNIXProcess at 4c4e9088
> 	at java.lang.Object.wait(Native Method)
> 	at java.lang.Object.wait(Object.java:502)
> 	at java.lang.UNIXProcess.null(Unknown Source)
> 	at com.intellij.execution.process.ProcessWaitFor$1.run(ProcessWaitFor.java:30)
> 	at com.intellij.openapi.application.impl.ApplicationImpl$9.run(ApplicationImpl.java:446)
> 	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
> 	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
> 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
> 	at java.lang.Thread.null(Unknown Source)
> 	at com.intellij.openapi.application.impl.ApplicationImpl$1$1.run(ApplicationImpl.java:149)
>
> "process reaper" prio=0 tid=0x0 nid=0x0 runnable
>       java.lang.Thread.State: RUNNABLE
>   (in native)
> 	at java.lang.UNIXProcess.waitForProcessExit(Native Method)
> 	at java.lang.UNIXProcess.null(Unknown Source)
> 	at java.lang.UNIXProcess$4.run(UNIXProcess.java:226)
> 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
> 	at java.lang.Thread.null(Unknown Source)
>
> "Flushing thread" prio=0 tid=0x0 nid=0x0 waiting on condition
>       java.lang.Thread.State: TIMED_WAITING
>   on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject at 7258e6d1
> 	at sun.misc.Unsafe.park(Native Method)
> 	at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
> 	at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078)
> 	at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1093)
> 	at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:809)
> 	at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067)
> 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
> 	at java.lang.Thread.null(Unknown Source)
>
> "ZipFileCache Dispose" prio=0 tid=0x0 nid=0x0 waiting on condition
>       java.lang.Thread.State: TIMED_WAITING
>   on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject at 402a4629
> 	at sun.misc.Unsafe.park(Native Method)
> 	at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
> 	at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078)
> 	at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1093)
> 	at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:809)
> 	at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067)
> 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
> 	at java.lang.Thread.null(Unknown Source)
>
> "Periodic tasks thread" prio=0 tid=0x0 nid=0x0 waiting on condition
>       java.lang.Thread.State: TIMED_WAITING
>   on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject at 33a2c55c
> 	at sun.misc.Unsafe.park(Native Method)
> 	at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
> 	at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078)
> 	at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1093)
> 	at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:809)
> 	at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067)
> 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
> 	at java.lang.Thread.null(Unknown Source)
>
> "AWT-EventQueue-0 14.0#IU-138.SNAPSHOT, eap:true" prio=0 tid=0x0 nid=0x0 runnable
>       java.lang.Thread.State: RUNNABLE
>   (in native)
> 	at sun.lwawt.macosx.CCursorManager.nativeGetCursorPosition(Native Method)
> 	at sun.lwawt.macosx.CCursorManager.getCursorPosition(CCursorManager.java:54)
> 	at sun.lwawt.LWCursorManager.updateCursorImpl(LWCursorManager.java:80)
> 	at sun.lwawt.LWCursorManager.updateCursor(LWCursorManager.java:57)
> 	at sun.lwawt.LWComponentPeer.updateCursorImmediately(LWComponentPeer.java:894)
> 	at java.awt.Component.updateCursorImmediately(Component.java:3137)
> 	at java.awt.Container.validate(Container.java:1640)
> 	at javax.swing.CellRendererPane.paintComponent(CellRendererPane.java:140)
> 	at com.intellij.util.ui.tree.WideSelectionTreeUI$4.paintComponent(WideSelectionTreeUI.java:439)
> 	at javax.swing.plaf.basic.BasicTreeUI.paintRow(BasicTreeUI.java:1540)
> 	at com.intellij.util.ui.tree.WideSelectionTreeUI.paintRow(WideSelectionTreeUI.java:382)
> 	at javax.swing.plaf.basic.BasicTreeUI.paint(BasicTreeUI.java:1224)
> 	at com.intellij.util.ui.tree.WideSelectionTreeUI.paint(WideSelectionTreeUI.java:410)
> 	at javax.swing.plaf.ComponentUI.update(ComponentUI.java:161)
> 	at javax.swing.JComponent.paintComponent(JComponent.java:777)
> 	at com.intellij.ui.treeStructure.Tree.paintComponent(Tree.java:328)
> 	at javax.swing.JComponent.paint(JComponent.java:1053)
> 	at com.intellij.ui.treeStructure.Tree.paint(Tree.java:244)
> 	at javax.swing.JComponent.paintChildren(JComponent.java:886)
> 	at javax.swing.JComponent.paint(JComponent.java:1062)
> 	at javax.swing.JViewport.paint(JViewport.java:744)
> 	at com.intellij.ui.components.JBViewport.paint(JBViewport.java:119)
> 	at javax.swing.JComponent.paintChildren(JComponent.java:886)
> 	at javax.swing.JComponent.paint(JComponent.java:1062)
> 	at javax.swing.JComponent.paintChildren(JComponent.java:886)
> 	at javax.swing.JComponent.paint(JComponent.java:1062)
> 	at javax.swing.JComponent.paintChildren(JComponent.java:886)
> 	at javax.swing.JComponent.paint(JComponent.java:1062)
> 	at javax.swing.JComponent.paintChildren(JComponent.java:886)
> 	at com.intellij.ui.tabs.impl.JBTabsImpl.paintChildren(JBTabsImpl.java:2271)
> 	at javax.swing.JComponent.paint(JComponent.java:1062)
> 	at com.intellij.ui.tabs.impl.JBTabsImpl.paint(JBTabsImpl.java:2266)
> 	at javax.swing.JComponent.paintChildren(JComponent.java:886)
> 	at javax.swing.JComponent.paint(JComponent.java:1062)
> 	at javax.swing.JComponent.paintChildren(JComponent.java:886)
> 	at javax.swing.JComponent.paint(JComponent.java:1062)
> 	at javax.swing.JComponent.paintChildren(JComponent.java:886)
> 	at javax.swing.JComponent.paint(JComponent.java:1062)
> 	at javax.swing.JComponent.paintChildren(JComponent.java:886)
> 	at javax.swing.JComponent.paint(JComponent.java:1062)
> 	at javax.swing.JComponent.paintChildren(JComponent.java:886)
> 	at com.intellij.ui.tabs.impl.JBTabsImpl.paintChildren(JBTabsImpl.java:2271)
> 	at javax.swing.JComponent.paint(JComponent.java:1062)
> 	at com.intellij.ui.tabs.impl.JBTabsImpl.paint(JBTabsImpl.java:2266)
> 	at javax.swing.JComponent.paintToOffscreen(JComponent.java:5228)
> 	at javax.swing.RepaintManager$PaintManager.paintDoubleBuffered(RepaintManager.java:1532)
> 	at javax.swing.RepaintManager$PaintManager.paint(RepaintManager.java:1455)
> 	at javax.swing.RepaintManager.paint(RepaintManager.java:1252)
> 	at javax.swing.JComponent._paintImmediately(JComponent.java:5176)
> 	at javax.swing.JComponent.paintImmediately(JComponent.java:4987)
> 	at javax.swing.RepaintManager$3.run(RepaintManager.java:811)
> 	at javax.swing.RepaintManager$3.run(RepaintManager.java:794)
> 	at java.security.AccessController.doPrivileged(Native Method)
> 	at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
> 	at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:794)
> 	at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:769)
> 	at javax.swing.RepaintManager.prePaintDirtyRegions(RepaintManager.java:718)
> 	at javax.swing.RepaintManager.access$1100(RepaintManager.java:62)
> 	at javax.swing.RepaintManager$ProcessingRunnable.run(RepaintManager.java:1680)
> 	at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
> 	at java.awt.EventQueue.null(Unknown Source)
> 	at java.awt.EventQueue.null(Unknown Source)
> 	at java.awt.EventQueue$3.run(EventQueue.java:697)
> 	at java.awt.EventQueue$3.run(EventQueue.java:691)
> 	at java.security.AccessController.doPrivileged(Native Method)
> 	at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
> 	at java.awt.EventQueue.null(Unknown Source)
> 	at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:722)
> 	at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:549)
> 	at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:360)
> 	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
> 	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
> 	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
> 	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
> 	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
> 	at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
>
> "Lock thread" prio=0 tid=0x0 nid=0x0 runnable
>       java.lang.Thread.State: RUNNABLE
>   (in native)
> 	at java.net.PlainSocketImpl.socketAccept(Native Method)
> 	at java.net.AbstractPlainSocketImpl.accept(AbstractPlainSocketImpl.java:404)
> 	at java.net.ServerSocket.null(Unknown Source)
> 	at java.net.ServerSocket.null(Unknown Source)
> 	at com.intellij.idea.SocketLock$MyRunnable.run(SocketLock.java:224)
> 	at java.lang.Thread.null(Unknown Source)
>
> "DestroyJavaVM" prio=0 tid=0x0 nid=0x0 runnable
>       java.lang.Thread.State: RUNNABLE
>
>
> "Java2D Disposer" prio=0 tid=0x0 nid=0x0 waiting on condition
>       java.lang.Thread.State: WAITING
>   on java.lang.ref.ReferenceQueue$Lock at 3e0bc8b5
> 	at java.lang.Object.wait(Native Method)
> 	at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:142)
> 	at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:158)
> 	at sun.java2d.Disposer.run(Disposer.java:148)
> 	at java.lang.Thread.null(Unknown Source)
>
> "Java2D Queue Flusher" prio=0 tid=0x0 nid=0x0 waiting on condition
>       java.lang.Thread.State: TIMED_WAITING
>   on sun.java2d.opengl.OGLRenderQueue$QueueFlusher at bd0c970
> 	at java.lang.Object.wait(Native Method)
> 	at sun.java2d.opengl.OGLRenderQueue$QueueFlusher.run(OGLRenderQueue.java:203)
>
> "AWT-Shutdown" prio=0 tid=0x0 nid=0x0 waiting on condition
>       java.lang.Thread.State: WAITING
>   on java.lang.Object at 2c82ca53
> 	at java.lang.Object.wait(Native Method)
> 	at java.lang.Object.wait(Object.java:502)
> 	at sun.awt.AWTAutoShutdown.run(AWTAutoShutdown.java:295)
> 	at java.lang.Thread.null(Unknown Source)
>
> "AWT-AppKit" prio=0 tid=0x0 nid=0x0 blocked
>       java.lang.Thread.State: BLOCKED
>   on java.awt.Component$AWTTreeLock at ec5c064 owned by "AWT-EventQueue-0 14.0#IU-138.SNAPSHOT, eap:true" Id=24
> 	at java.awt.Container.getComponentZOrder(Container.java:938)
> 	at javax.swing.LayoutComparator.compare(LayoutComparator.java:116)
> 	at javax.swing.LayoutComparator.compare(LayoutComparator.java:42)
> 	at java.util.TimSort.countRunAndMakeAscending(TimSort.java:356)
> 	at java.util.TimSort.sort(TimSort.java:216)
> 	at java.util.Arrays.sort(Arrays.java:1512)
> 	at java.util.ArrayList.sort(ArrayList.java:1454)
> 	at java.util.Collections.sort(Collections.java:175)
> 	at javax.swing.SortingFocusTraversalPolicy.enumerateAndSortCycle(SortingFocusTraversalPolicy.java:136)
> 	at javax.swing.SortingFocusTraversalPolicy.getFocusTraversalCycle(SortingFocusTraversalPolicy.java:110)
> 	at javax.swing.SortingFocusTraversalPolicy.getFirstComponent(SortingFocusTraversalPolicy.java:445)
> 	at javax.swing.LayoutFocusTraversalPolicy.getFirstComponent(LayoutFocusTraversalPolicy.java:166)
> 	at javax.swing.SortingFocusTraversalPolicy.getDefaultComponent(SortingFocusTraversalPolicy.java:535)
> 	at java.awt.Window.isFocusableWindow(Window.java:2496)
> 	at sun.lwawt.LWWindowPeer.isFocusableWindow(LWWindowPeer.java:1217)
> 	at sun.lwawt.LWWindowPeer.focusAllowedFor(LWWindowPeer.java:1213)
> 	at sun.lwawt.LWWindowPeer.requestWindowFocus(LWWindowPeer.java:1151)
> 	at sun.lwawt.LWWindowPeer.notifyMouseEvent(LWWindowPeer.java:799)
> 	at sun.lwawt.macosx.CPlatformResponder.handleMouseEvent(CPlatformResponder.java:83)
> 	at sun.lwawt.macosx.CPlatformView.deliverMouseEvent(CPlatformView.java:197)
>
> "ZipFileCache Dispose" prio=0 tid=0x0 nid=0x0 waiting on condition
>       java.lang.Thread.State: TIMED_WAITING
>   on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject at 9af62ba
> 	at sun.misc.Unsafe.park(Native Method)
> 	at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
> 	at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078)
> 	at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1093)
> 	at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:809)
> 	at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067)
> 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
> 	at java.lang.Thread.null(Unknown Source)
>
> "JDWP Event Helper Thread" prio=0 tid=0x0 nid=0x0 runnable
>       java.lang.Thread.State: RUNNABLE
>
>
> "JDWP Transport Listener: dt_socket" prio=0 tid=0x0 nid=0x0 runnable
>       java.lang.Thread.State: RUNNABLE
>   (in native)
>
> "Signal Dispatcher" prio=0 tid=0x0 nid=0x0 runnable
>       java.lang.Thread.State: RUNNABLE
>
>
> "Finalizer" prio=0 tid=0x0 nid=0x0 waiting on condition
>       java.lang.Thread.State: WAITING
>   on java.lang.ref.ReferenceQueue$Lock at 4b9a1b6
> 	at java.lang.Object.wait(Native Method)
> 	at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:142)
> 	at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:158)
> 	at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:209)
>
> "Reference Handler" prio=0 tid=0x0 nid=0x0 waiting on condition
>       java.lang.Thread.State: WAITING
>   on java.lang.ref.Reference$Lock at 64178ff4
> 	at java.lang.Object.wait(Native Method)
> 	at java.lang.Object.wait(Object.java:502)
> 	at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:157)
>
>
> __
> Konstantin Bulenkov
> IntelliJ Platform UI Lead
> JetBrains
>
>
>



More information about the awt-dev mailing list