lockup (100% cpu) when editing a specific file, plugin idea x 1190/115

dumps attached.

package hstar.creole.syntaxtree

* Developed with pleasure :)<br>
* User: HoD<br>
* Date: 25.09.2010<br>
* Time: 22:15:59<br>

abstract class Element {
  def children: List[Element]

case class WrappingElement(wrapped: Element) extends Element {
  override def toString = "WrappingElement(" + wrapped + ")"

  def children = List(wrapped)

case class ForkElement(first: Element, second: Element) extends Element {
  override def toString = "ForkElement(" + first + ", " + second + ")"

  def children = List(first, second)

case class SimpleText(text: String) extends Element {
  override def toString = "SimpleText(" + text + ")"

  def children = Nil

case class LineBreak extends Element {
  override def toString = "LineBreak()"

  def children = Nil

case class LinkAndDescription(text: Option[String], url: String) extends Element {
  override def toString = "LinkAndDescription(" + url + ", " + text + ")"

  def children = Nil

case class AttributedElement(_wrapped: Element, attribute: Attribute) extends WrappingElement(_wrapped) {
  override def toString = {
    "AttributedElement(" + wrapped + ", " + attribute + ")"

object AttributedElement {
  def apply(s: String, attribute: Attribute) = {
    new AttributedElement(new SimpleText(s), attribute)


Do you able to edit code without freezings?

Best regards,
Alexander Podkhalyuzin.


at a (seemingly) random point, everything locks up and doesn't come back withing ~20 seconds, the gui is not responding. i never waited longer.
didn't have that problem in other files, but it's a very small project


It's puzzle for me. There is no infinite loop, or dead lock in thread dumps. Also there shouldn't be problem with freezing of UI thread as I see. Maybe you have possibility to give me full project? It can be helpful (however I'm not sure that it will be). Source of this file unfortunately is ok for me, and it doesn't contain anything unusual.

Best regards,
Alexander Podkhalyuzin.


it's not reproducible properly. once it happens, idea assumes its caches to be invalid and reindices my sources and libs. after that, i can do the same things without a lockup. if i figure out some more, i'll post it here.


I can get a reproducible lock on the AWT Event Thread by deactivating the IntelliJ frame while a large file is being analysed.

Stack trace here:


For others reading, you can get this stack trace during a lockup by running jstack, standard part of the JDK, from the command line:

jstack 2788  > stack.txt

2788 was the Process ID of the IntelliJ Java process, you can find this with top or Task Manager (after View -> Select Columns, PID).

"AWT-EventQueue-1 10.0#IU-96.1190, eap:true" prio=6 tid=0x33401800 nid=0xc40 in Object.wait() [0x3404f000]
   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:241)
     - locked <0x0d5dcd98> (a com.intellij.util.concurrency.WriterPreferenceReadWriteLock$WriterLock)
     at com.intellij.openapi.application.impl.ApplicationImpl.runWriteAction(ApplicationImpl.java:746)
     at com.intellij.openapi.components.impl.stores.StorageUtil.save(StorageUtil.java:106)
     at com.intellij.openapi.components.impl.stores.FileBasedStorage$FileSaveSession.doSave(FileBasedStorage.java:169)
     at com.intellij.openapi.components.impl.stores.XmlElementStorage$MySaveSession.b(XmlElementStorage.java:421)
     at com.intellij.openapi.components.impl.stores.XmlElementStorage$MySaveSession.save(XmlElementStorage.java:413)
     at com.intellij.openapi.components.impl.stores.CompoundSaveSession.save(CompoundSaveSession.java:51)
     at com.intellij.openapi.components.impl.stores.StateStorageManagerImpl$MySaveSession.save(StateStorageManagerImpl.java:510)
     at com.intellij.openapi.components.impl.stores.ComponentStoreImpl$SaveSessionImpl.save(ComponentStoreImpl.java:451)
     at com.intellij.openapi.components.impl.stores.ProjectStoreImpl$ProjectSaveSession.save(ProjectStoreImpl.java:469)
     at com.intellij.openapi.components.impl.ComponentManagerImpl.doSave(ComponentManagerImpl.java:682)
     at com.intellij.openapi.project.impl.ProjectImpl.save(ProjectImpl.java:248)
     at com.intellij.ide.SaveAndSyncHandler.saveProjectsAndDocuments(SaveAndSyncHandler.java:123)
     at com.intellij.ide.SaveAndSyncHandler$3.onFrameDeactivated(SaveAndSyncHandler.java:80)

Please sign in to leave a comment.