IntelliJ 8 Maven plugin -- too slow to use
Basically I'm wondering if there is any way to fix this other than to turn it off?
We have a pretty complicated pom heirarchy, going down 4-5 levels.
What I find is that when I run something from in the IDE, it blocks for 30 seconds - 2 minutes, spinning the CPU.
Doing a pkill -3 java shows this kind of stack, often:
"AWT-EventQueue-1" prio=10 tid=0x00007f4780004400 nid=0x4e99 runnable
java.lang.Thread.State: RUNNABLE
at gnu.trove.TObjectHash.index(TObjectHash.java:205)
at gnu.trove.THashMap.get(THashMap.java:356)
at com.intellij.openapi.util.objectTree.ObjectTree.getNode(ObjectTree.java:42)
- locked (a java.lang.Object)
at com.intellij.openapi.util.objectTree.ObjectTree.checkValid(ObjectTree.java:78)
at com.intellij.openapi.util.objectTree.ObjectTree.register(ObjectTree.java:57)
- locked <0x00007f47aec498b0> (a java.lang.Object)
at com.intellij.openapi.util.Disposer.register(Disposer.java:66)
at com.intellij.openapi.util.Disposer.register(Disposer.java:60)
at com.intellij.openapi.vfs.impl.VirtualFilePointerManagerImpl.a(VirtualFilePointerManagerImpl.java:100)
at com.intellij.openapi.vfs.impl.VirtualFilePointerManagerImpl.createContainer(VirtualFilePointerManagerImpl.java:60)
- locked <0x00007f47afe69e40> (a com.intellij.openapi.vfs.impl.VirtualFilePointerManagerImpl)
at com.intellij.openapi.vfs.impl.VirtualFilePointerManagerImpl.createContainer(VirtualFilePointerManagerImpl.java:76)
at com.intellij.openapi.roots.impl.libraries.LibraryImpl.a(LibraryImpl.java:121)
at com.intellij.openapi.roots.impl.libraries.LibraryImpl.(LibraryImpl.java:165)
at com.intellij.openapi.roots.impl.libraries.LibraryImpl.cloneLibrary(LibraryImpl.java:215)
at com.intellij.openapi.roots.impl.ModuleLibraryOrderEntryImpl.(ModuleLibraryOrderEntryImpl.java:48)
at com.intellij.openapi.roots.impl.ModuleLibraryOrderEntryImpl.cloneEntry(ModuleLibraryOrderEntryImpl.java:46)
at com.intellij.openapi.roots.impl.RootModelImpl.b(RootModelImpl.java:402)
at com.intellij.openapi.roots.impl.RootModelImpl.(RootModelImpl.java:48)
at com.intellij.openapi.roots.impl.ModuleRootManagerImpl$1.(ModuleRootManagerImpl.java)
at com.intellij.openapi.roots.impl.ModuleRootManagerImpl.getModifiableModel(ModuleRootManagerImpl.java:95)
at com.intellij.openapi.roots.impl.ModuleRootManagerImpl.getModifiableModel(ModuleRootManagerImpl.java:115)
at org.jetbrains.idea.maven.project.RootModelAdapter.(RootModelAdapter.java:41)
at org.jetbrains.idea.maven.project.MavenFoldersConfigurator$1.run(MavenFoldersConfigurator.java:49)
at com.intellij.openapi.application.impl.ApplicationImpl.runWriteAction(ApplicationImpl.java:236)
at org.jetbrains.idea.maven.project.MavenFoldersConfigurator.updateProjectFolders(MavenFoldersConfigurator.java:37)
at org.jetbrains.idea.maven.project.MavenProjectsManager$9.run(MavenProjectsManager.java:313)
at org.jetbrains.idea.maven.utils.MavenUtil$1.run(MavenUtil.java:30)
at com.intellij.openapi.application.impl.LaterInvocator$FlushQueue.run(LaterInvocator.java:27)
- locked <0x00007f47aef155c8>]]> (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:35)
at com.intellij.ide.IdeEventQueue.b(IdeEventQueue.java:99)
at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:217)
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)
The longer I run the IDE (or rather, the more times I run an application), the longer the delay.
Disabling the maven plugin seems to fix the problem.
Anybody else seeing this? Anybody from jetbrains care to comment?
Thanks,
Eric
Please sign in to leave a comment.
Yes, it seems we chose the most ineffective way of synchronizing project
structure.
Please file a JIRA request with the thread dump attached.