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
Please sign in to leave a comment.
just happened again,
here is the stack dump
I'm using 7693 on Windows XP btw
Attachment(s):
stack.txt
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 ?
Dmitry, any insight ?
Hello Thibaut,
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!"
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"