IDEA Hung (not refreshing window)

Idea just hung on me, it seems to be deadlocked according to the stack trace.

Here is I believe the cause of the lock


"Change List Updater" prio=6 tid=0x3bc61400 nid=0x454 waiting for monitor entry
java.lang.Thread.State: BLOCKED (on object monitor)
at com.intellij.openapi.vfs.newvfs.persistent.PersistentFS.findRoot(PersistentFS.java:125)
- waiting to lock ]]> (a java.lang.Object)
at com.intellij.openapi.vfs.newvfs.NewVirtualFileSystem.findFileByPath(NewVirtualFileSystem.java:47)
at com.intellij.openapi.vfs.impl.local.LocalFileSystemImpl.findFileByPath(LocalFileSystemImpl.java:349)
at com.intellij.openapi.vfs.impl.local.LocalFileSystemImpl.findFileByIoFile(LocalFileSystemImpl.java:8)
at com.intellij.openapi.vcs.FilePathImpl.create(FilePathImpl.java:82)
at com.intellij.openapi.vcs.FilePathImpl.create(FilePathImpl.java:31)
at com.intellij.peer.impl.PeerFactoryImpl$1$2.compute(PeerFactoryImpl.java:1)
at com.intellij.peer.impl.PeerFactoryImpl$1$2.compute(PeerFactoryImpl.java:3)
at com.intellij.openapi.application.impl.ApplicationImpl$12.run(ApplicationImpl.java:2)
at com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:7)
at com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:160)
at com.intellij.peer.impl.PeerFactoryImpl$1.createFilePathOn(PeerFactoryImpl.java:9)
at com.intellij.vcsUtil.VcsUtil.getFilePath(VcsUtil.java:388)
at com.intellij.vcsUtil.VcsUtil.getFilePath(VcsUtil.java:384)
at org.intellij.vcs.mks.sicommands.AbstractViewSandboxCommand.setState(AbstractViewSandboxCommand.java:147)
at org.intellij.vcs.mks.sicommands.AbstractViewSandboxCommand.execute(AbstractViewSandboxCommand.java:101)
at org.intellij.vcs.mks.MKSChangeProvider.getSandboxState(MKSChangeProvider.java:389)
at org.intellij.vcs.mks.MKSChangeProvider.getChanges(MKSChangeProvider.java:116)
at com.intellij.openapi.vcs.changes.ChangeListManagerImpl.a(ChangeListManagerImpl.java:370)
at com.intellij.openapi.vcs.changes.ChangeListManagerImpl.access$700(ChangeListManagerImpl.java:202)
at com.intellij.openapi.vcs.changes.ChangeListManagerImpl$4.run(ChangeListManagerImpl.java:4)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:98)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:207)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
at java.lang.Thread.run(Thread.java:619)

"AWT-EventQueue-1" prio=6 tid=0x3b998000 nid=0xc94 in Object.wait()
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:485)
at com.intellij.util.concurrency.WriterPreferenceReadWriteLock$WriterLock.acquire(WriterPreferenceReadWriteLock.java:239)
- locked (a com.intellij.util.concurrency.WriterPreferenceReadWriteLock$WriterLock) at com.intellij.openapi.application.impl.ApplicationImpl.runWriteAction(ApplicationImpl.java:195) at com.intellij.openapi.vfs.newvfs.RefreshQueueImpl.execute(RefreshQueueImpl.java:19) at com.intellij.openapi.vfs.newvfs.RefreshSessionImpl.launch(RefreshSessionImpl.java:75) at com.intellij.openapi.vfs.newvfs.RefreshQueueImpl.processSingleEvent(RefreshQueueImpl.java:4) at com.intellij.openapi.vfs.newvfs.impl.VirtualDirectoryImpl.b(VirtualDirectoryImpl.java:109) at com.intellij.openapi.vfs.newvfs.impl.VirtualDirectoryImpl.b(VirtualDirectoryImpl.java:35) at com.intellij.openapi.vfs.newvfs.impl.VirtualDirectoryImpl.a(VirtualDirectoryImpl.java:95) at com.intellij.openapi.vfs.newvfs.impl.VirtualDirectoryImpl.refreshAndFindChild(VirtualDirectoryImpl.java:57) at com.intellij.openapi.vfs.newvfs.NewVirtualFileSystem.refreshAndFindFileByPath(NewVirtualFileSystem.java:102) at com.intellij.openapi.vfs.impl.local.LocalFileSystemImpl.refreshAndFindFileByPath(LocalFileSystemImpl.java:236) at com.intellij.openapi.vfs.impl.jar.JarHandler.(JarHandler.java:83) at com.intellij.openapi.vfs.impl.jar.JarFileSystemImpl.a(JarFileSystemImpl.java:31) - locked <0x06a098d8> (a java.lang.Object) at com.intellij.openapi.vfs.impl.jar.JarFileSystemImpl.exists(JarFileSystemImpl.java:2) at com.intellij.openapi.vfs.newvfs.persistent.RefreshWorker.scan(RefreshWorker.java:20) at com.intellij.openapi.vfs.newvfs.RefreshSessionImpl.scan(RefreshSessionImpl.java:1) at com.intellij.openapi.vfs.newvfs.RefreshQueueImpl.execute(RefreshQueueImpl.java:16) at com.intellij.openapi.vfs.newvfs.RefreshSessionImpl.launch(RefreshSessionImpl.java:75) at com.intellij.openapi.vfs.newvfs.RefreshQueue.refresh(RefreshQueue.java:38) at com.intellij.openapi.vfs.impl.jar.JarFileSystemImpl$1$1.run(JarFileSystemImpl.java:4) at com.intellij.openapi.application.impl.LaterInvocator$FlushQueue.run(LaterInvocator.java:7) - locked <0x06cdeab8>]]> (a java.lang.Object)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:597)
at com.intellij.ide.IdeEventQueue.c(IdeEventQueue.java:172)
at com.intellij.ide.IdeEventQueue.b(IdeEventQueue.java:70)
at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:108)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:121)


If you believe the mks plugin is doing something wrong please tell me as I'm maintaining it.

For reference i'm attaching the the full stack dump



Attachment(s):
stack.txt
5 comments
Comment actions Permalink

just happened again,

here is the stack dump

I'm using 7693 on Windows XP btw



Attachment(s):
stack.txt
0
Comment actions Permalink

The AWT event queue thread is blocking 2 threads from MKS plugin (which are trying to execute findFileByPath).

THis AWT event queue thread acquired 3 locks and then decides to wait for something (see top of the stack), thereby blocking any thread trying to access the file system I guess.

Jetbrains guys, any workaround ?
Should I create a JIRA for this ?

0
Comment actions Permalink

Dmitry, any insight ?

0
Comment actions Permalink

Hello Thibaut,

Dmitry, any insight ?


This is our internal deadlock - the MKS plugin isn't at fault. JIRA issue
is welcome :)

--
Dmitry Jemerov
Development Lead
JetBrains, Inc.
http://www.jetbrains.com/
"Develop with Pleasure!"


0
Comment actions Permalink

Thanks Dmitry here it is
http://www.jetbrains.net/jira/browse/IDEA-17220

Not sure what component is concerned here, i've selected "Local History"

0

Please sign in to leave a comment.