[forge-issues] [JBoss JIRA] (FURNACE-86) Deadlock while shutting down Furnace in IntelliJ

George Gastaldi (JIRA) issues at jboss.org
Mon Oct 26 14:09:00 EDT 2015


     [ https://issues.jboss.org/browse/FURNACE-86?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

George Gastaldi updated FURNACE-86:
-----------------------------------
    Steps to Reproduce: 
# Start IntellIJ IDEA
# Press Ctrl+Alt+4 to open the Forge command list popup
# Close IntelliJ IDEA

You'll notice that the process is not terminated. Using the {{jvisualvm}} tool shows that a deadlock occured


> Deadlock while shutting down Furnace in IntelliJ
> ------------------------------------------------
>
>                 Key: FURNACE-86
>                 URL: https://issues.jboss.org/browse/FURNACE-86
>             Project: Forge: Furnace
>          Issue Type: Bug
>          Components: Container - CDI, Runtime
>    Affects Versions: 2.22.5.Final
>            Reporter: George Gastaldi
>            Priority: Critical
>             Fix For: 2.x Future
>
>
> This is the Thread dump: 
> {code}
> 2015-10-26 15:45:24
> Full thread dump Java HotSpot(TM) 64-Bit Server VM (25.60-b23 mixed mode):
> "JobScheduler FJ pool 0/4" #176 daemon prio=6 os_prio=0 tid=0x00007fc2f4193000 nid=0x208b waiting on condition [0x00007fc2a385d000]
>    java.lang.Thread.State: TIMED_WAITING (parking)
> 	at sun.misc.Unsafe.park(Native Method)
> 	- parking to wait for  <0x00000000e21936b0> (a jsr166e.ForkJoinPool)
> 	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)
>    Locked ownable synchronizers:
> 	- None
> "RMI TCP Connection(4)-127.0.0.1" #175 daemon prio=9 os_prio=0 tid=0x00007fc2a400d800 nid=0x2086 runnable [0x00007fc296331000]
>    java.lang.Thread.State: RUNNABLE
> 	at java.net.SocketInputStream.socketRead0(Native Method)
> 	at java.net.SocketInputStream.socketRead(SocketInputStream.java:116)
> 	at java.net.SocketInputStream.read(SocketInputStream.java:170)
> 	at java.net.SocketInputStream.read(SocketInputStream.java:141)
> 	at java.io.BufferedInputStream.fill(BufferedInputStream.java:246)
> 	at java.io.BufferedInputStream.read(BufferedInputStream.java:265)
> 	- locked <0x00000000d18e7208> (a java.io.BufferedInputStream)
> 	at java.io.FilterInputStream.read(FilterInputStream.java:83)
> 	at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:550)
> 	at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:826)
> 	at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$79(TCPTransport.java:683)
> 	at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler$$Lambda$35/1928002943.run(Unknown Source)
> 	at java.security.AccessController.doPrivileged(Native Method)
> 	at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:682)
> 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
> 	at java.lang.Thread.run(Thread.java:745)
>    Locked ownable synchronizers:
> 	- <0x00000000d175f128> (a java.util.concurrent.ThreadPoolExecutor$Worker)
> "JMX server connection timeout 173" #173 daemon prio=9 os_prio=0 tid=0x00007fc31c08d000 nid=0x2083 in Object.wait() [0x00007fc29b5fc000]
>    java.lang.Thread.State: TIMED_WAITING (on object monitor)
> 	at java.lang.Object.wait(Native Method)
> 	at com.sun.jmx.remote.internal.ServerCommunicatorAdmin$Timeout.run(ServerCommunicatorAdmin.java:168)
> 	- locked <0x00000000d17b8c50> (a [I)
> 	at java.lang.Thread.run(Thread.java:745)
>    Locked ownable synchronizers:
> 	- None
> "RMI TCP Connection(3)-127.0.0.1" #172 daemon prio=9 os_prio=0 tid=0x00007fc2a412e000 nid=0x2081 runnable [0x00007fc29b1f9000]
>    java.lang.Thread.State: RUNNABLE
> 	at java.net.SocketInputStream.socketRead0(Native Method)
> 	at java.net.SocketInputStream.socketRead(SocketInputStream.java:116)
> 	at java.net.SocketInputStream.read(SocketInputStream.java:170)
> 	at java.net.SocketInputStream.read(SocketInputStream.java:141)
> 	at java.io.BufferedInputStream.fill(BufferedInputStream.java:246)
> 	at java.io.BufferedInputStream.read(BufferedInputStream.java:265)
> 	- locked <0x00000000d1795058> (a java.io.BufferedInputStream)
> 	at java.io.FilterInputStream.read(FilterInputStream.java:83)
> 	at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:550)
> 	at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:826)
> 	at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$79(TCPTransport.java:683)
> 	at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler$$Lambda$35/1928002943.run(Unknown Source)
> 	at java.security.AccessController.doPrivileged(Native Method)
> 	at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:682)
> 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
> 	at java.lang.Thread.run(Thread.java:745)
>    Locked ownable synchronizers:
> 	- <0x00000000d175eb78> (a java.util.concurrent.ThreadPoolExecutor$Worker)
> "RMI TCP Accept-0" #171 daemon prio=9 os_prio=0 tid=0x00007fc2f0055800 nid=0x207e runnable [0x00007fc296736000]
>    java.lang.Thread.State: RUNNABLE
> 	at java.net.PlainSocketImpl.socketAccept(Native Method)
> 	at java.net.AbstractPlainSocketImpl.accept(AbstractPlainSocketImpl.java:409)
> 	at java.net.ServerSocket.implAccept(ServerSocket.java:545)
> 	at java.net.ServerSocket.accept(ServerSocket.java:513)
> 	at sun.management.jmxremote.LocalRMIServerSocketFactory$1.accept(LocalRMIServerSocketFactory.java:52)
> 	at sun.rmi.transport.tcp.TCPTransport$AcceptLoop.executeAcceptLoop(TCPTransport.java:400)
> 	at sun.rmi.transport.tcp.TCPTransport$AcceptLoop.run(TCPTransport.java:372)
> 	at java.lang.Thread.run(Thread.java:745)
>    Locked ownable synchronizers:
> 	- None
> "Attach Listener" #170 daemon prio=9 os_prio=0 tid=0x00007fc2fc1df000 nid=0x207c waiting on condition [0x0000000000000000]
>    java.lang.Thread.State: RUNNABLE
>    Locked ownable synchronizers:
> 	- None
> "Thread-10" #120 prio=5 os_prio=0 tid=0x00007fc2a8c28000 nid=0x1f80 waiting on condition [0x00007fc2d0251000]
>    java.lang.Thread.State: WAITING (parking)
> 	at sun.misc.Unsafe.park(Native Method)
> 	- parking to wait for  <0x00000000e11c4a20> (a java.util.concurrent.locks.ReentrantReadWriteLock$FairSync)
> 	at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
> 	at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:836)
> 	at java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireShared(AbstractQueuedSynchronizer.java:967)
> 	at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireShared(AbstractQueuedSynchronizer.java:1283)
> 	at java.util.concurrent.locks.ReentrantReadWriteLock$ReadLock.lock(ReentrantReadWriteLock.java:727)
> 	at org.jboss.forge.furnace.impl.lock.LockManagerImpl.performLocked(LockManagerImpl.java:50)
> 	at org.jboss.forge.furnace.impl.addons.AddonRegistryImpl.getAddons(AddonRegistryImpl.java:100)
> 	at org.jboss.forge.furnace.container.cdi.events.CrossContainerObserverMethod.handleEvent(CrossContainerObserverMethod.java:50)
> 	at sun.reflect.GeneratedMethodAccessor78.invoke(Unknown Source)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> 	at java.lang.reflect.Method.invoke(Method.java:497)
> 	at org.jboss.weld.injection.StaticMethodInjectionPoint.invoke(StaticMethodInjectionPoint.java:88)
> 	at org.jboss.weld.injection.StaticMethodInjectionPoint.invoke(StaticMethodInjectionPoint.java:78)
> 	at org.jboss.weld.injection.MethodInvocationStrategy$DefaultMethodInvocationStrategy.invoke(MethodInvocationStrategy.java:109)
> 	at org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:308)
> 	at org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:286)
> 	at org.jboss.weld.event.ObserverMethodImpl.notify(ObserverMethodImpl.java:264)
> 	at org.jboss.weld.event.ObserverNotifier.notifySyncObservers(ObserverNotifier.java:271)
> 	at org.jboss.weld.event.ObserverNotifier.notify(ObserverNotifier.java:260)
> 	at org.jboss.weld.event.ObserverNotifier.fireEvent(ObserverNotifier.java:154)
> 	at org.jboss.weld.event.ObserverNotifier.fireEvent(ObserverNotifier.java:136)
> 	at org.jboss.weld.manager.BeanManagerImpl.fireEvent(BeanManagerImpl.java:673)
> 	at org.jboss.weld.environment.se.WeldContainer.shutdown(WeldContainer.java:231)
> 	- locked <0x00000000e927b7f0> (a org.jboss.weld.environment.se.WeldContainer)
> 	at org.jboss.weld.environment.se.WeldContainer$ShutdownHook.run(WeldContainer.java:276)
>    Locked ownable synchronizers:
> 	- None
> "timed reference disposer" #166 daemon prio=2 os_prio=0 tid=0x00007fc2ab936800 nid=0x1f7d waiting on condition [0x00007fc296a39000]
>    java.lang.Thread.State: TIMED_WAITING (parking)
> 	at sun.misc.Unsafe.park(Native Method)
> 	- parking to wait for  <0x00000000d38c0f78> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
> 	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.run(Thread.java:745)
>    Locked ownable synchronizers:
> 	- None
> "File type re-detect" #142 daemon prio=5 os_prio=0 tid=0x00007fc2a8f31000 nid=0x1f5e waiting on condition [0x00007fc296e3d000]
>    java.lang.Thread.State: WAITING (parking)
> 	at sun.misc.Unsafe.park(Native Method)
> 	- parking to wait for  <0x00000000e3f33a58> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
> 	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.run(Thread.java:745)
>    Locked ownable synchronizers:
> 	- None
> "Resource File Monitor" #122 daemon prio=6 os_prio=0 tid=0x00007fc2abb7b000 nid=0x1f33 waiting on condition [0x00007fc29432a000]
>    java.lang.Thread.State: WAITING (parking)
> 	at sun.misc.Unsafe.park(Native Method)
> 	- parking to wait for  <0x00000000e15bb168> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
> 	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.LinkedBlockingDeque.takeFirst(LinkedBlockingDeque.java:492)
> 	at java.util.concurrent.LinkedBlockingDeque.take(LinkedBlockingDeque.java:680)
> 	at sun.nio.fs.AbstractWatchService.take(AbstractWatchService.java:118)
> 	at org.jboss.forge.addon.resource.monitor.FileWatcher.run(FileWatcher.java:150)
> 	at java.lang.Thread.run(Thread.java:745)
>    Locked ownable synchronizers:
> 	- None
> "Thread-11" #121 daemon prio=6 os_prio=0 tid=0x00007fc2abb71800 nid=0x1f32 runnable [0x00007fc2d2758000]
>    java.lang.Thread.State: RUNNABLE
> 	at sun.nio.fs.LinuxWatchService.poll(Native Method)
> 	at sun.nio.fs.LinuxWatchService.access$600(LinuxWatchService.java:47)
> 	at sun.nio.fs.LinuxWatchService$Poller.run(LinuxWatchService.java:314)
> 	at java.lang.Thread.run(Thread.java:745)
>    Locked ownable synchronizers:
> 	- None
> "Reference Reaper" #82 daemon prio=5 os_prio=0 tid=0x00007fc2bc011800 nid=0x1f0c in Object.wait() [0x00007fc298885000]
>    java.lang.Thread.State: WAITING (on object monitor)
> 	at java.lang.Object.wait(Native Method)
> 	at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:143)
> 	- locked <0x00000000e5ce7f00> (a java.lang.ref.ReferenceQueue$Lock)
> 	at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:164)
> 	at org.jboss.modules.ref.References$ReaperThread.run(References.java:68)
>    Locked ownable synchronizers:
> 	- None
> "Furnace Container " #81 prio=5 os_prio=0 tid=0x00007fc2d8005800 nid=0x1f0b waiting for monitor entry [0x00007fc29899e000]
>    java.lang.Thread.State: BLOCKED (on object monitor)
> 	at org.jboss.weld.environment.se.WeldContainer.shutdown(WeldContainer.java:229)
> 	- waiting to lock <0x00000000e927b7f0> (a org.jboss.weld.environment.se.WeldContainer)
> 	at org.jboss.weld.environment.se.Weld.shutdown(Weld.java:556)
> 	at org.jboss.forge.furnace.container.cdi.lifecycle.WeldAddonLifecycleProvider.stop(WeldAddonLifecycleProvider.java:132)
> 	at org.jboss.forge.furnace.impl.addons.AddonRunnable$3.call(AddonRunnable.java:195)
> 	at org.jboss.forge.furnace.impl.addons.AddonRunnable$3.call(AddonRunnable.java:167)
> 	at org.jboss.forge.furnace.util.ClassLoaders.executeIn(ClassLoaders.java:42)
> 	at org.jboss.forge.furnace.impl.addons.AddonRunnable.shutdown(AddonRunnable.java:166)
> 	at org.jboss.forge.furnace.impl.addons.AddonStateManager.cancel(AddonStateManager.java:248)
> 	at org.jboss.forge.furnace.impl.addons.StopAddonCallable.call(StopAddonCallable.java:35)
> 	at org.jboss.forge.furnace.impl.addons.StopAddonCallable.call(StopAddonCallable.java:18)
> 	at org.jboss.forge.furnace.util.Callables.call(Callables.java:43)
> 	at org.jboss.forge.furnace.impl.addons.AddonLifecycleManager.stopAddon(AddonLifecycleManager.java:257)
> 	at org.jboss.forge.furnace.impl.addons.AddonLifecycleManager$5.call(AddonLifecycleManager.java:283)
> 	at org.jboss.forge.furnace.impl.addons.AddonLifecycleManager$5.call(AddonLifecycleManager.java:275)
> 	at org.jboss.forge.furnace.impl.lock.LockManagerImpl.performLocked(LockManagerImpl.java:55)
> 	at org.jboss.forge.furnace.impl.addons.AddonLifecycleManager.stopAll(AddonLifecycleManager.java:274)
> 	at org.jboss.forge.furnace.impl.FurnaceImpl.start(FurnaceImpl.java:306)
> 	at org.jboss.forge.furnace.impl.FurnaceImpl$1$1.run(FurnaceImpl.java:199)
>    Locked ownable synchronizers:
> 	- <0x00000000e11c4a20> (a java.util.concurrent.locks.ReentrantReadWriteLock$FairSync)
> "pool-1-thread-1" #80 prio=5 os_prio=0 tid=0x00007fc2ab067800 nid=0x1f0a waiting on condition [0x00007fc2a1002000]
>    java.lang.Thread.State: WAITING (parking)
> 	at sun.misc.Unsafe.park(Native Method)
> 	- parking to wait for  <0x00000000e48978d0> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
> 	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.run(Thread.java:745)
>    Locked ownable synchronizers:
> 	- None
> "RefCountingStorage write content helper" #74 prio=6 os_prio=0 tid=0x00007fc2ab3e0800 nid=0x1ef2 waiting on condition [0x00007fc299957000]
>    java.lang.Thread.State: WAITING (parking)
> 	at sun.misc.Unsafe.park(Native Method)
> 	- parking to wait for  <0x00000000e2ef5af8> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
> 	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.run(Thread.java:745)
>    Locked ownable synchronizers:
> 	- None
> "Encoding detection thread" #73 daemon prio=5 os_prio=0 tid=0x00007fc2aafe8000 nid=0x1eef waiting on condition [0x00007fc299e58000]
>    java.lang.Thread.State: WAITING (parking)
> 	at sun.misc.Unsafe.park(Native Method)
> 	- parking to wait for  <0x00000000e4870fa0> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
> 	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.run(Thread.java:745)
>    Locked ownable synchronizers:
> 	- None
> "RMI RenewClean-[localhost:43275]" #72 daemon prio=4 os_prio=0 tid=0x00007fc308084800 nid=0x1eed in Object.wait() [0x00007fc29a359000]
>    java.lang.Thread.State: TIMED_WAITING (on object monitor)
> 	at java.lang.Object.wait(Native Method)
> 	at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:143)
> 	- locked <0x00000000e1e5ae70> (a java.lang.ref.ReferenceQueue$Lock)
> 	at sun.rmi.transport.DGCClient$EndpointEntry$RenewCleanThread.run(DGCClient.java:536)
> 	at java.lang.Thread.run(Thread.java:745)
>    Locked ownable synchronizers:
> 	- None
> "RMI Scheduler(0)" #70 daemon prio=4 os_prio=0 tid=0x00007fc2f51f5000 nid=0x1ee9 waiting on condition [0x00007fc29a6f3000]
>    java.lang.Thread.State: TIMED_WAITING (parking)
> 	at sun.misc.Unsafe.park(Native Method)
> 	- parking to wait for  <0x00000000e1e5af00> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
> 	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.run(Thread.java:745)
>    Locked ownable synchronizers:
> 	- None
> "Icons" #69 daemon prio=5 os_prio=0 tid=0x00007fc2ab278800 nid=0x1ee8 waiting on condition [0x00007fc29a45a000]
>    java.lang.Thread.State: WAITING (parking)
> 	at sun.misc.Unsafe.park(Native Method)
> 	- parking to wait for  <0x00000000e1e5af30> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
> 	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.run(Thread.java:745)
>    Locked ownable synchronizers:
> 	- None
> "GC Daemon" #68 daemon prio=2 os_prio=0 tid=0x00007fc2f432e000 nid=0x1ed7 in Object.wait() [0x00007fc29a7f4000]
>    java.lang.Thread.State: TIMED_WAITING (on object monitor)
> 	at java.lang.Object.wait(Native Method)
> 	at sun.misc.GC$Daemon.run(GC.java:117)
> 	- locked <0x00000000e1e5b068> (a sun.misc.GC$LatencyLock)
>    Locked ownable synchronizers:
> 	- None
> "RMI Reaper" #67 prio=4 os_prio=0 tid=0x00007fc2f4b91000 nid=0x1ed6 in Object.wait() [0x00007fc29a8f5000]
>    java.lang.Thread.State: WAITING (on object monitor)
> 	at java.lang.Object.wait(Native Method)
> 	at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:143)
> 	- locked <0x00000000e1e5b0c8> (a java.lang.ref.ReferenceQueue$Lock)
> 	at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:164)
> 	at sun.rmi.transport.ObjectTable$Reaper.run(ObjectTable.java:351)
> 	at java.lang.Thread.run(Thread.java:745)
>    Locked ownable synchronizers:
> 	- None
> "RMI TCP Accept-0" #66 daemon prio=4 os_prio=0 tid=0x00007fc2f4f44800 nid=0x1ed1 runnable [0x00007fc29a9f6000]
>    java.lang.Thread.State: RUNNABLE
> 	at java.net.PlainSocketImpl.socketAccept(Native Method)
> 	at java.net.AbstractPlainSocketImpl.accept(AbstractPlainSocketImpl.java:409)
> 	at java.net.ServerSocket.implAccept(ServerSocket.java:545)
> 	at java.net.ServerSocket.accept(ServerSocket.java:513)
> 	at sun.rmi.transport.tcp.TCPTransport$AcceptLoop.executeAcceptLoop(TCPTransport.java:400)
> 	at sun.rmi.transport.tcp.TCPTransport$AcceptLoop.run(TCPTransport.java:372)
> 	at java.lang.Thread.run(Thread.java:745)
>    Locked ownable synchronizers:
> 	- None
> "FS Synchronizer" #65 daemon prio=5 os_prio=0 tid=0x00007fc2ab893000 nid=0x1eba waiting on condition [0x00007fc29acf7000]
>    java.lang.Thread.State: WAITING (parking)
> 	at sun.misc.Unsafe.park(Native Method)
> 	- parking to wait for  <0x00000000e3621ab0> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
> 	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.run(Thread.java:745)
>    Locked ownable synchronizers:
> 	- None
> "Change List Updater" #64 daemon prio=2 os_prio=0 tid=0x00007fc31407b800 nid=0x1eb9 waiting on condition [0x00007fc29adf8000]
>    java.lang.Thread.State: WAITING (parking)
> 	at sun.misc.Unsafe.park(Native Method)
> 	- parking to wait for  <0x00000000e4b6caa8> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
> 	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.run(Thread.java:745)
>    Locked ownable synchronizers:
> 	- None
> "process reaper" #62 daemon prio=10 os_prio=0 tid=0x00007fc31403d000 nid=0x1eb5 waiting on condition [0x00007fc2d11e7000]
>    java.lang.Thread.State: TIMED_WAITING (parking)
> 	at sun.misc.Unsafe.park(Native Method)
> 	- parking to wait for  <0x00000000e107dc20> (a java.util.concurrent.SynchronousQueue$TransferStack)
> 	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.run(Thread.java:745)
>    Locked ownable synchronizers:
> 	- None
> "TimerQueue" #50 daemon prio=5 os_prio=0 tid=0x00007fc2ab65f800 nid=0x1ea7 waiting on condition [0x00007fc2a1103000]
>    java.lang.Thread.State: WAITING (parking)
> 	at sun.misc.Unsafe.park(Native Method)
> 	- parking to wait for  <0x00000000e4a328f0> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
> 	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.DelayQueue.take(DelayQueue.java:211)
> 	at javax.swing.TimerQueue.run(TimerQueue.java:171)
> 	at java.lang.Thread.run(Thread.java:745)
>    Locked ownable synchronizers:
> 	- <0x00000000e4a1e320> (a java.util.concurrent.locks.ReentrantLock$NonfairSync)
> "Alarm pool(shared)" #49 daemon prio=3 os_prio=0 tid=0x00007fc2b400c800 nid=0x1ea6 waiting on condition [0x00007fc2a1404000]
>    java.lang.Thread.State: WAITING (parking)
> 	at sun.misc.Unsafe.park(Native Method)
> 	- parking to wait for  <0x00000000e0db46c0> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
> 	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.run(Thread.java:745)
>    Locked ownable synchronizers:
> 	- None
> "Animations" #48 daemon prio=5 os_prio=0 tid=0x00007fc2ab591800 nid=0x1ea5 waiting on condition [0x00007fc2a195b000]
>    java.lang.Thread.State: WAITING (parking)
> 	at sun.misc.Unsafe.park(Native Method)
> 	- parking to wait for  <0x00000000e4824dc0> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
> 	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.run(Thread.java:745)
>    Locked ownable synchronizers:
> 	- None
> "ForgeCommandLoadingThread" #46 prio=6 os_prio=0 tid=0x00007fc2ab498000 nid=0x1ea3 waiting on condition [0x00007fc2a1705000]
>    java.lang.Thread.State: WAITING (parking)
> 	at sun.misc.Unsafe.park(Native Method)
> 	- parking to wait for  <0x00000000e1df9e58> (a java.util.concurrent.Semaphore$NonfairSync)
> 	at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
> 	at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:836)
> 	at java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedInterruptibly(AbstractQueuedSynchronizer.java:997)
> 	at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1304)
> 	at java.util.concurrent.Semaphore.acquire(Semaphore.java:312)
> 	at org.jboss.forge.plugin.idea.service.threads.CommandLoadingThread.run(CommandLoadingThread.java:72)
>    Locked ownable synchronizers:
> 	- None
> "ForgeValidationThread" #45 prio=6 os_prio=0 tid=0x00007fc2ab496800 nid=0x1ea2 waiting on condition [0x00007fc2a1806000]
>    java.lang.Thread.State: WAITING (parking)
> 	at sun.misc.Unsafe.park(Native Method)
> 	- parking to wait for  <0x00000000e4824e08> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
> 	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 org.jboss.forge.plugin.idea.service.threads.ValidationThread.run(ValidationThread.java:55)
>    Locked ownable synchronizers:
> 	- None
> "Thread-6" #44 daemon prio=6 os_prio=0 tid=0x00007fc2ab303000 nid=0x1ea1 runnable [0x00007fc2a1e0d000]
>    java.lang.Thread.State: RUNNABLE
> 	at sun.nio.fs.LinuxWatchService.poll(Native Method)
> 	at sun.nio.fs.LinuxWatchService.access$600(LinuxWatchService.java:47)
> 	at sun.nio.fs.LinuxWatchService$Poller.run(LinuxWatchService.java:314)
> 	at java.lang.Thread.run(Thread.java:745)
>    Locked ownable synchronizers:
> 	- None
> "FocusManager timer" #39 daemon prio=2 os_prio=0 tid=0x00007fc2a8cfa800 nid=0x1e9d in Object.wait() [0x00007fc2a2d5e000]
>    java.lang.Thread.State: WAITING (on object monitor)
> 	at java.lang.Object.wait(Native Method)
> 	at java.lang.Object.wait(Object.java:502)
> 	at java.util.TimerThread.mainLoop(Timer.java:526)
> 	- locked <0x00000000e45508e0> (a java.util.TaskQueue)
> 	at java.util.TimerThread.run(Timer.java:505)
>    Locked ownable synchronizers:
> 	- None
> "Shared SimpleTimer" #38 daemon prio=2 os_prio=0 tid=0x00007fc2a8cf7000 nid=0x1e9c in Object.wait() [0x00007fc2a2e5f000]
>    java.lang.Thread.State: TIMED_WAITING (on object monitor)
> 	at java.lang.Object.wait(Native Method)
> 	at java.util.TimerThread.mainLoop(Timer.java:552)
> 	- locked <0x00000000e45508f8> (a java.util.TaskQueue)
> 	at java.util.TimerThread.run(Timer.java:505)
>    Locked ownable synchronizers:
> 	- None
> "Flushing thread" #31 daemon prio=5 os_prio=0 tid=0x00007fc2a85d6800 nid=0x1e94 waiting on condition [0x00007fc2d0353000]
>    java.lang.Thread.State: TIMED_WAITING (parking)
> 	at sun.misc.Unsafe.park(Native Method)
> 	- parking to wait for  <0x00000000e2ef33b0> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
> 	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.run(Thread.java:745)
>    Locked ownable synchronizers:
> 	- None
> "ZipFileCache Dispose" #29 daemon prio=1 os_prio=0 tid=0x00007fc2a808f000 nid=0x1e93 waiting on condition [0x00007fc2e012e000]
>    java.lang.Thread.State: TIMED_WAITING (parking)
> 	at sun.misc.Unsafe.park(Native Method)
> 	- parking to wait for  <0x00000000e1fed970> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
> 	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.run(Thread.java:745)
>    Locked ownable synchronizers:
> 	- None
> "AWT-EventQueue-0 14.1.5#IU-141.2735.5, eap:false" #27 prio=6 os_prio=0 tid=0x00007fc2cc1c0800 nid=0x1e92 in Object.wait() [0x00007fc2d1c05000]
>    java.lang.Thread.State: WAITING (on object monitor)
> 	at java.lang.Object.wait(Native Method)
> 	at java.lang.Thread.join(Thread.java:1245)
> 	- locked <0x00000000e9322d00> (a org.jboss.weld.environment.se.WeldContainer$ShutdownHook)
> 	at java.lang.Thread.join(Thread.java:1319)
> 	at java.lang.ApplicationShutdownHooks.runHooks(ApplicationShutdownHooks.java:106)
> 	at java.lang.ApplicationShutdownHooks$1.run(ApplicationShutdownHooks.java:46)
> 	at java.lang.Shutdown.runHooks(Shutdown.java:123)
> 	at java.lang.Shutdown.sequence(Shutdown.java:167)
> 	at java.lang.Shutdown.exit(Shutdown.java:212)
> 	- locked <0x00000000e22ece40> (a java.lang.Class for java.lang.Shutdown)
> 	at java.lang.Runtime.exit(Runtime.java:109)
> 	at java.lang.System.exit(System.java:971)
> 	at com.intellij.openapi.application.impl.ApplicationImpl.a(ApplicationImpl.java:794)
> 	at com.intellij.openapi.application.impl.ApplicationImpl.access$700(ApplicationImpl.java:87)
> 	at com.intellij.openapi.application.impl.ApplicationImpl$11.run(ApplicationImpl.java:756)
> 	at com.intellij.openapi.application.impl.ApplicationImpl.exit(ApplicationImpl.java:762)
> 	at com.intellij.openapi.application.impl.ApplicationImpl.exit(ApplicationImpl.java:711)
> 	at com.intellij.openapi.application.impl.ApplicationImpl.exit(ApplicationImpl.java:706)
> 	at com.intellij.ide.actions.ExitAction.actionPerformed(ExitAction.java:32)
> 	at com.intellij.openapi.actionSystem.ex.ActionUtil.performActionDumbAware(ActionUtil.java:182)
> 	at com.intellij.openapi.actionSystem.impl.ActionMenuItem$ActionTransmitter$1.run(ActionMenuItem.java:312)
> 	at com.intellij.openapi.wm.impl.FocusManagerImpl.runOnOwnContext(FocusManagerImpl.java:958)
> 	at com.intellij.openapi.wm.impl.IdeFocusManagerImpl.runOnOwnContext(IdeFocusManagerImpl.java:124)
> 	at com.intellij.openapi.actionSystem.impl.ActionMenuItem$ActionTransmitter.actionPerformed(ActionMenuItem.java:282)
> 	at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)
> 	at com.intellij.openapi.actionSystem.impl.ActionMenuItem.fireActionPerformed(ActionMenuItem.java:109)
> 	at com.intellij.ui.plaf.beg.BegMenuItemUI.a(BegMenuItemUI.java:512)
> 	at com.intellij.ui.plaf.beg.BegMenuItemUI.access$300(BegMenuItemUI.java:44)
> 	at com.intellij.ui.plaf.beg.BegMenuItemUI$MyMouseInputHandler.mouseReleased(BegMenuItemUI.java:532)
> 	at java.awt.Component.processMouseEvent(Component.java:6535)
> 	at javax.swing.JComponent.processMouseEvent(JComponent.java:3324)
> 	at java.awt.Component.processEvent(Component.java:6300)
> 	at java.awt.Container.processEvent(Container.java:2236)
> 	at java.awt.Component.dispatchEventImpl(Component.java:4891)
> 	at java.awt.Container.dispatchEventImpl(Container.java:2294)
> 	at java.awt.Component.dispatchEvent(Component.java:4713)
> 	at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4888)
> 	at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4525)
> 	at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4466)
> 	at java.awt.Container.dispatchEventImpl(Container.java:2280)
> 	at java.awt.Window.dispatchEventImpl(Window.java:2750)
> 	at java.awt.Component.dispatchEvent(Component.java:4713)
> 	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)
> 	at java.awt.EventQueue.access$500(EventQueue.java:97)
> 	at java.awt.EventQueue$3.run(EventQueue.java:709)
> 	at java.awt.EventQueue$3.run(EventQueue.java:703)
> 	at java.security.AccessController.doPrivileged(Native Method)
> 	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
> 	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
> 	at java.awt.EventQueue$4.run(EventQueue.java:731)
> 	at java.awt.EventQueue$4.run(EventQueue.java:729)
> 	at java.security.AccessController.doPrivileged(Native Method)
> 	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
> 	at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
> 	at com.intellij.ide.IdeEventQueue.e(IdeEventQueue.java:734)
> 	at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:565)
> 	at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:382)
> 	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)
>    Locked ownable synchronizers:
> 	- None
> "AWT-Shutdown" #28 prio=5 os_prio=0 tid=0x00007fc2cc1bf000 nid=0x1e91 in Object.wait() [0x00007fc2d1d09000]
>    java.lang.Thread.State: WAITING (on object monitor)
> 	at java.lang.Object.wait(Native Method)
> 	at java.lang.Object.wait(Object.java:502)
> 	at sun.awt.AWTAutoShutdown.run(AWTAutoShutdown.java:295)
> 	- locked <0x00000000e107d338> (a java.lang.Object)
> 	at java.lang.Thread.run(Thread.java:745)
>    Locked ownable synchronizers:
> 	- None
> "SocketListenerThread" #26 prio=2 os_prio=0 tid=0x00007fc2cc1ba800 nid=0x1e90 runnable [0x00007fc2d1e0a000]
>    java.lang.Thread.State: RUNNABLE
> 	at java.net.PlainDatagramSocketImpl.receive0(Native Method)
> 	- locked <0x00000000e0d703e0> (a java.net.PlainDatagramSocketImpl)
> 	at java.net.AbstractPlainDatagramSocketImpl.receive(AbstractPlainDatagramSocketImpl.java:144)
> 	- locked <0x00000000e0d703e0> (a java.net.PlainDatagramSocketImpl)
> 	at java.net.DatagramSocket.receive(DatagramSocket.java:812)
> 	- locked <0x00000000d19e5ab0> (a java.net.DatagramPacket)
> 	- locked <0x00000000e21284f0> (a java.net.MulticastSocket)
> 	at com.intellij.a.e.a.e.a(e.java:65)
> 	at com.intellij.a.e.a.g.run(g.java:25)
>    Locked ownable synchronizers:
> 	- None
> "SocketListenerThread" #25 prio=2 os_prio=0 tid=0x00007fc2cc1b8800 nid=0x1e8f runnable [0x00007fc2d1f0b000]
>    java.lang.Thread.State: RUNNABLE
> 	at java.net.PlainDatagramSocketImpl.receive0(Native Method)
> 	- locked <0x00000000e0d70440> (a java.net.PlainDatagramSocketImpl)
> 	at java.net.AbstractPlainDatagramSocketImpl.receive(AbstractPlainDatagramSocketImpl.java:144)
> 	- locked <0x00000000e0d70440> (a java.net.PlainDatagramSocketImpl)
> 	at java.net.DatagramSocket.receive(DatagramSocket.java:812)
> 	- locked <0x00000000d18dc700> (a java.net.DatagramPacket)
> 	- locked <0x00000000e0d70410> (a java.net.DatagramSocket)
> 	at com.intellij.a.e.a.e.a(e.java:65)
> 	at com.intellij.a.e.a.g.run(g.java:25)
>    Locked ownable synchronizers:
> 	- None
> "MessageDeliveryThread" #24 prio=5 os_prio=0 tid=0x00007fc2cc1b7800 nid=0x1e8e waiting on condition [0x00007fc2d200c000]
>    java.lang.Thread.State: WAITING (parking)
> 	at sun.misc.Unsafe.park(Native Method)
> 	- parking to wait for  <0x00000000e0db4ed0> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
> 	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 com.intellij.a.e.j.run(j.java:22)
>    Locked ownable synchronizers:
> 	- None
> "Periodic tasks thread" #23 daemon prio=5 os_prio=0 tid=0x00007fc2cc1a5800 nid=0x1e8d runnable [0x00007fc2d210d000]
>    java.lang.Thread.State: TIMED_WAITING (parking)
> 	at sun.misc.Unsafe.park(Native Method)
> 	- parking to wait for  <0x00000000e0db4d20> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
> 	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.run(Thread.java:745)
>    Locked ownable synchronizers:
> 	- None
> "Lock thread" #17 prio=1 os_prio=0 tid=0x00007fc2cc097800 nid=0x1e8a runnable [0x00007fc2d2d7e000]
>    java.lang.Thread.State: RUNNABLE
> 	at java.net.PlainSocketImpl.socketAccept(Native Method)
> 	at java.net.AbstractPlainSocketImpl.accept(AbstractPlainSocketImpl.java:409)
> 	at java.net.ServerSocket.implAccept(ServerSocket.java:545)
> 	at java.net.ServerSocket.accept(ServerSocket.java:513)
> 	at com.intellij.idea.SocketLock$MyRunnable.run(SocketLock.java:224)
> 	at java.lang.Thread.run(Thread.java:745)
>    Locked ownable synchronizers:
> 	- None
> "process reaper" #16 daemon prio=10 os_prio=0 tid=0x00007fc2cc0b7800 nid=0x1e89 waiting on condition [0x00007fc2d2db7000]
>    java.lang.Thread.State: TIMED_WAITING (parking)
> 	at sun.misc.Unsafe.park(Native Method)
> 	- parking to wait for  <0x00000000e107dc20> (a java.util.concurrent.SynchronousQueue$TransferStack)
> 	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.run(Thread.java:745)
>    Locked ownable synchronizers:
> 	- None
> "DestroyJavaVM" #15 prio=5 os_prio=0 tid=0x00007fc340009800 nid=0x1e74 waiting on condition [0x0000000000000000]
>    java.lang.Thread.State: RUNNABLE
>    Locked ownable synchronizers:
> 	- None
> "AWT-XAWT" #13 daemon prio=6 os_prio=0 tid=0x00007fc34057f800 nid=0x1e86 runnable [0x00007fc3001c0000]
>    java.lang.Thread.State: RUNNABLE
> 	at sun.awt.X11.XToolkit.waitForEvents(Native Method)
> 	at sun.awt.X11.XToolkit.run(XToolkit.java:568)
> 	at sun.awt.X11.XToolkit.run(XToolkit.java:532)
> 	at java.lang.Thread.run(Thread.java:745)
>    Locked ownable synchronizers:
> 	- None
> "Java2D Disposer" #11 daemon prio=10 os_prio=0 tid=0x00007fc34055d000 nid=0x1e85 in Object.wait() [0x00007fc3002c1000]
>    java.lang.Thread.State: WAITING (on object monitor)
> 	at java.lang.Object.wait(Native Method)
> 	at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:143)
> 	- locked <0x00000000e1017688> (a java.lang.ref.ReferenceQueue$Lock)
> 	at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:164)
> 	at sun.java2d.Disposer.run(Disposer.java:148)
> 	at java.lang.Thread.run(Thread.java:745)
>    Locked ownable synchronizers:
> 	- None
> "ZipFileCache Dispose" #10 daemon prio=1 os_prio=0 tid=0x00007fc340335800 nid=0x1e84 waiting on condition [0x00007fc320ccf000]
>    java.lang.Thread.State: TIMED_WAITING (parking)
> 	at sun.misc.Unsafe.park(Native Method)
> 	- parking to wait for  <0x00000000e19f89b8> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
> 	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.run(Thread.java:745)
>    Locked ownable synchronizers:
> 	- None
> "Service Thread" #9 daemon prio=9 os_prio=0 tid=0x00007fc340182800 nid=0x1e82 runnable [0x0000000000000000]
>    java.lang.Thread.State: RUNNABLE
>    Locked ownable synchronizers:
> 	- None
> "C1 CompilerThread2" #8 daemon prio=9 os_prio=0 tid=0x00007fc34017d800 nid=0x1e81 waiting on condition [0x0000000000000000]
>    java.lang.Thread.State: RUNNABLE
>    Locked ownable synchronizers:
> 	- None
> "C2 CompilerThread1" #7 daemon prio=9 os_prio=0 tid=0x00007fc34017b800 nid=0x1e80 waiting on condition [0x0000000000000000]
>    java.lang.Thread.State: RUNNABLE
>    Locked ownable synchronizers:
> 	- None
> "C2 CompilerThread0" #6 daemon prio=9 os_prio=0 tid=0x00007fc340179000 nid=0x1e7f waiting on condition [0x0000000000000000]
>    java.lang.Thread.State: RUNNABLE
>    Locked ownable synchronizers:
> 	- None
> "Signal Dispatcher" #5 daemon prio=9 os_prio=0 tid=0x00007fc340177000 nid=0x1e7e runnable [0x0000000000000000]
>    java.lang.Thread.State: RUNNABLE
>    Locked ownable synchronizers:
> 	- None
> "Surrogate Locker Thread (Concurrent GC)" #4 daemon prio=9 os_prio=0 tid=0x00007fc340175800 nid=0x1e7d waiting on condition [0x0000000000000000]
>    java.lang.Thread.State: RUNNABLE
>    Locked ownable synchronizers:
> 	- None
> "Finalizer" #3 daemon prio=8 os_prio=0 tid=0x00007fc34013c800 nid=0x1e7c in Object.wait() [0x00007fc33018c000]
>    java.lang.Thread.State: WAITING (on object monitor)
> 	at java.lang.Object.wait(Native Method)
> 	at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:143)
> 	- locked <0x00000000e10e2e68> (a java.lang.ref.ReferenceQueue$Lock)
> 	at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:164)
> 	at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:209)
>    Locked ownable synchronizers:
> 	- None
> "Reference Handler" #2 daemon prio=10 os_prio=0 tid=0x00007fc34013a000 nid=0x1e7b in Object.wait() [0x00007fc33028d000]
>    java.lang.Thread.State: WAITING (on object monitor)
> 	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)
> 	- locked <0x00000000e120f870> (a java.lang.ref.Reference$Lock)
>    Locked ownable synchronizers:
> 	- None
> "VM Thread" os_prio=0 tid=0x00007fc340135000 nid=0x1e7a runnable 
> "Gang worker#0 (Parallel GC Threads)" os_prio=0 tid=0x00007fc34001a800 nid=0x1e75 runnable 
> "Gang worker#1 (Parallel GC Threads)" os_prio=0 tid=0x00007fc34001c800 nid=0x1e76 runnable 
> "Gang worker#2 (Parallel GC Threads)" os_prio=0 tid=0x00007fc34001e000 nid=0x1e77 runnable 
> "Gang worker#3 (Parallel GC Threads)" os_prio=0 tid=0x00007fc340020000 nid=0x1e78 runnable 
> "Concurrent Mark-Sweep GC Thread" os_prio=0 tid=0x00007fc340063000 nid=0x1e79 runnable 
> "VM Periodic Task Thread" os_prio=0 tid=0x00007fc340186000 nid=0x1e83 waiting on condition 
> JNI global references: 3011
> Found one Java-level deadlock:
> =============================
> "Thread-10":
>   waiting for ownable synchronizer 0x00000000e11c4a20, (a java.util.concurrent.locks.ReentrantReadWriteLock$FairSync),
>   which is held by "Furnace Container "
> "Furnace Container ":
>   waiting to lock monitor 0x00007fc2bc04fbf8 (object 0x00000000e927b7f0, a org.jboss.weld.environment.se.WeldContainer),
>   which is held by "Thread-10"
> Java stack information for the threads listed above:
> ===================================================
> "Thread-10":
> 	at sun.misc.Unsafe.park(Native Method)
> 	- parking to wait for  <0x00000000e11c4a20> (a java.util.concurrent.locks.ReentrantReadWriteLock$FairSync)
> 	at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
> 	at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:836)
> 	at java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireShared(AbstractQueuedSynchronizer.java:967)
> 	at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireShared(AbstractQueuedSynchronizer.java:1283)
> 	at java.util.concurrent.locks.ReentrantReadWriteLock$ReadLock.lock(ReentrantReadWriteLock.java:727)
> 	at org.jboss.forge.furnace.impl.lock.LockManagerImpl.performLocked(LockManagerImpl.java:50)
> 	at org.jboss.forge.furnace.impl.addons.AddonRegistryImpl.getAddons(AddonRegistryImpl.java:100)
> 	at org.jboss.forge.furnace.container.cdi.events.CrossContainerObserverMethod.handleEvent(CrossContainerObserverMethod.java:50)
> 	at sun.reflect.GeneratedMethodAccessor78.invoke(Unknown Source)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> 	at java.lang.reflect.Method.invoke(Method.java:497)
> 	at org.jboss.weld.injection.StaticMethodInjectionPoint.invoke(StaticMethodInjectionPoint.java:88)
> 	at org.jboss.weld.injection.StaticMethodInjectionPoint.invoke(StaticMethodInjectionPoint.java:78)
> 	at org.jboss.weld.injection.MethodInvocationStrategy$DefaultMethodInvocationStrategy.invoke(MethodInvocationStrategy.java:109)
> 	at org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:308)
> 	at org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:286)
> 	at org.jboss.weld.event.ObserverMethodImpl.notify(ObserverMethodImpl.java:264)
> 	at org.jboss.weld.event.ObserverNotifier.notifySyncObservers(ObserverNotifier.java:271)
> 	at org.jboss.weld.event.ObserverNotifier.notify(ObserverNotifier.java:260)
> 	at org.jboss.weld.event.ObserverNotifier.fireEvent(ObserverNotifier.java:154)
> 	at org.jboss.weld.event.ObserverNotifier.fireEvent(ObserverNotifier.java:136)
> 	at org.jboss.weld.manager.BeanManagerImpl.fireEvent(BeanManagerImpl.java:673)
> 	at org.jboss.weld.environment.se.WeldContainer.shutdown(WeldContainer.java:231)
> 	- locked <0x00000000e927b7f0> (a org.jboss.weld.environment.se.WeldContainer)
> 	at org.jboss.weld.environment.se.WeldContainer$ShutdownHook.run(WeldContainer.java:276)
> "Furnace Container ":
> 	at org.jboss.weld.environment.se.WeldContainer.shutdown(WeldContainer.java:229)
> 	- waiting to lock <0x00000000e927b7f0> (a org.jboss.weld.environment.se.WeldContainer)
> 	at org.jboss.weld.environment.se.Weld.shutdown(Weld.java:556)
> 	at org.jboss.forge.furnace.container.cdi.lifecycle.WeldAddonLifecycleProvider.stop(WeldAddonLifecycleProvider.java:132)
> 	at org.jboss.forge.furnace.impl.addons.AddonRunnable$3.call(AddonRunnable.java:195)
> 	at org.jboss.forge.furnace.impl.addons.AddonRunnable$3.call(AddonRunnable.java:167)
> 	at org.jboss.forge.furnace.util.ClassLoaders.executeIn(ClassLoaders.java:42)
> 	at org.jboss.forge.furnace.impl.addons.AddonRunnable.shutdown(AddonRunnable.java:166)
> 	at org.jboss.forge.furnace.impl.addons.AddonStateManager.cancel(AddonStateManager.java:248)
> 	at org.jboss.forge.furnace.impl.addons.StopAddonCallable.call(StopAddonCallable.java:35)
> 	at org.jboss.forge.furnace.impl.addons.StopAddonCallable.call(StopAddonCallable.java:18)
> 	at org.jboss.forge.furnace.util.Callables.call(Callables.java:43)
> 	at org.jboss.forge.furnace.impl.addons.AddonLifecycleManager.stopAddon(AddonLifecycleManager.java:257)
> 	at org.jboss.forge.furnace.impl.addons.AddonLifecycleManager$5.call(AddonLifecycleManager.java:283)
> 	at org.jboss.forge.furnace.impl.addons.AddonLifecycleManager$5.call(AddonLifecycleManager.java:275)
> 	at org.jboss.forge.furnace.impl.lock.LockManagerImpl.performLocked(LockManagerImpl.java:55)
> 	at org.jboss.forge.furnace.impl.addons.AddonLifecycleManager.stopAll(AddonLifecycleManager.java:274)
> 	at org.jboss.forge.furnace.impl.FurnaceImpl.start(FurnaceImpl.java:306)
> 	at org.jboss.forge.furnace.impl.FurnaceImpl$1$1.run(FurnaceImpl.java:199)
> Found 1 deadlock.
> {code}



--
This message was sent by Atlassian JIRA
(v6.4.11#64026)


More information about the forge-issues mailing list