IDEA locking up for tens of seconds writing to disk
I'm finding quite frequently IDEA is locking up for tens of seconds at a
time, especially when I change tabs or activate/deactivate the IDEA
window. At first I thought it was GC'ing - the symptoms are very
similar to a GC - but then I realise my HDD was being thrashed and I
took a thread dump. The AWT thread was busy as shown below, not
surprisingly writing to the file system.
I have all my dev environment and idea bin/config dirs excluded from my
virus scanner. Is there anything else it could be, before I log this as
a bug? It's quite disruptive to workflow to sit there waiting for IDEA
to come alive so much.
Cheers,
N.
"AWT-EventQueue-1" prio=6 tid=0x4a569000 nid=0x1fb4 runnable
[0x4dfee000..0x4dfe
fa94]
java.lang.Thread.State: RUNNABLE
at java.io.RandomAccessFile.writeBytes(Native Method)
at java.io.RandomAccessFile.write(RandomAccessFile.java:466)
at
com.intellij.util.io.RandomAccessDataFile.put(RandomAccessDataFile.ja
va:60)
- locked (a java.io.RandomAccessFile)
at
com.intellij.util.io.storage.DataTable.writeBytes(DataTable.java:77)
at
com.intellij.util.io.storage.Storage.writeBytes(Storage.java:198)
- locked <0x04e82178> (a java.lang.Object)
at
com.intellij.util.io.storage.Storage$StorageDataOutput.close(Storage.
java:255)
at
com.intellij.openapi.vfs.newvfs.persistent.FSRecords$AttributeOutputS
tream.close(FSRecords.java:9)
- locked <0x04e821e8> (a java.lang.Object)
at java.io.FilterOutputStream.close(FilterOutputStream.java:143)
at
com.intellij.util.io.DupOutputStream.close(DupOutputStream.java:40)
at
com.intellij.openapi.vfs.newvfs.persistent.PersistentFS$2$1.close(Per
sistentFS.java:4)
at
com.intellij.openapi.vfs.newvfs.persistent.PersistentFS$2.close(Persi
stentFS.java:4)
at
com.intellij.openapi.vfs.VirtualFile.setBinaryContent(VirtualFile.jav
a:427)
at
com.intellij.openapi.vfs.VirtualFile.setBinaryContent(VirtualFile.jav
a:396)
at
com.intellij.openapi.components.impl.stores.StorageUtil$1.run(Storage
Util.java:3)
at
com.intellij.openapi.application.impl.ApplicationImpl.runWriteAction(
ApplicationImpl.java:262)
at
com.intellij.openapi.components.impl.stores.StorageUtil.save(StorageU
til.java:28)
at
com.intellij.openapi.components.impl.stores.FileBasedStorage$FileSave
Session.doSave(FileBasedStorage.java:27)
at
com.intellij.openapi.components.impl.stores.XmlElementStorage$MySaveS
ession.save(XmlElementStorage.java:22)
at
com.intellij.openapi.components.impl.stores.CompoundSaveSession.save(
CompoundSaveSession.java:17)
at
com.intellij.openapi.components.impl.stores.StateStorageManagerImpl$M
ySaveSession.save(StateStorageManagerImpl.java:2)
at
com.intellij.openapi.components.impl.stores.ComponentStoreImpl$SaveSe
ssionImpl.save(ComponentStoreImpl.java:12)
at
com.intellij.openapi.components.impl.stores.ProjectStoreImpl$ProjectS
aveSession.save(ProjectStoreImpl.java:37)
at
com.intellij.openapi.components.impl.ComponentManagerImpl.doSave(Comp
onentManagerImpl.java:101)
at
com.intellij.openapi.project.impl.ProjectImpl.save(ProjectImpl.java:3
9)
at
com.intellij.ide.SaveAndSyncHandler.b(SaveAndSyncHandler.java:50)
at
com.intellij.ide.SaveAndSyncHandler.access$200(SaveAndSyncHandler.jav
a:14)
at
com.intellij.ide.SaveAndSyncHandler$3.onFrameDeactivated(SaveAndSyncH
andler.java:6)
at
com.intellij.ide.FrameStateManagerImpl.a(FrameStateManagerImpl.java:1
9)
at
com.intellij.ide.FrameStateManagerImpl.access$100(FrameStateManagerIm
pl.java:24)
at
com.intellij.ide.FrameStateManagerImpl$1.run(FrameStateManagerImpl.ja
va:3)
at
com.intellij.openapi.application.impl.LaterInvocator$FlushQueue.run(L
aterInvocator.java:9)
- locked <0x0538e3e8>]]> (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:179)
at com.intellij.ide.IdeEventQueue.b(IdeEventQueue.java:37)
at
com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:119)
at
java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThre
ad.java:273)
at
java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.
java:183)
at
java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThre
ad.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)
Please sign in to leave a comment.
Hello Nathan,
Please ensure that Windows System Restore is turned off on your PC.
--
Dmitry Jemerov
Development Lead
JetBrains, Inc.
http://www.jetbrains.com/
"Develop with Pleasure!"
Dmitry Jemerov wrote:
Oof... is this just a test to see if it makes things better, or is this
a known issue and a requirement for all windows installations of IDEA?
It's not so great to have to turn such things off, and some of us might
even not be allowed to on company machines.
What exactly is the problem with System Restore... I thought it would
only be worried about Windows specific files, not arbitrary files in
some directory somewhere. Is it creating some sort of shadow backup or
something?
Thanks for the response tho!
N.
Hello Nathan,
>> Hello Nathan,
>>
>> Please ensure that Windows System Restore is turned off on your PC.
>>
This is a known issue. We've seen System Restore cause such hangs.
Yes, essentially it decides for some reason to create a backup of the IDEA
VFS cache files (which contain all the content of your project). We do not
currently know how to control this behavior, short of turning off System
Restore altogether for the drive containing your system directory.
--
Dmitry Jemerov
Development Lead
JetBrains, Inc.
http://www.jetbrains.com/
"Develop with Pleasure!"
Dmitry Jemerov wrote:
Aha, so a good reason for having your dev environment on a seperate
partition then. Thanks for the background, will give this a go and see
if it helps.
Cheers,
N.
Interesting... I've been experiencing this myself for a while. So the advice would be to move the IDEA system directories to another drive for which I can disable System Restore?