I got an IDE fatal error. It doesn’t seem to influence anything yet, but it still sounds bad.

I tried to do this:

Import two dependent Spoofax projects, have them recognised as maven projects too, because I’m developing externally implemented Stratego strategies and I want the imports to org.stratego.lang to resolve. I’m implementing the external strategy in Scala, so I guess this combination is already asking for trouble.. I think I first got the error when I imported RegularGrammar as a Spoofax project, or maybe only after I turned it into a maven project.

I expected this to happen:

Everything to Just Work (wishful thinking)

Instead, this happened:

Complaint from Intellij about a fatal error in the Spoofax plugin. Stacktrace:

This function should be called while holding treeLock
java.lang.IllegalStateException: This function should be called while holding treeLock
	at java.awt.Component.checkTreeLock(Component.java:1201)
	at java.awt.Container.validateTree(Container.java:1689)
	at com.intellij.openapi.actionSystem.impl.ActionMenu.access$900(ActionMenu.java:51)
	at com.intellij.openapi.actionSystem.impl.ActionMenu$MenuItemSynchronizer.propertyChange(ActionMenu.java:334)
	at java.beans.PropertyChangeSupport.fire(PropertyChangeSupport.java:335)
	at java.beans.PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:327)
	at java.beans.PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:263)
	at java.beans.PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:303)
	at com.intellij.openapi.actionSystem.Presentation.firePropertyChange(Presentation.java:297)
	at com.intellij.openapi.actionSystem.Presentation.setVisible(Presentation.java:265)
	at org.metaborg.intellij.idea.actions.BuilderActionGroup.update(BuilderActionGroup.java:55)
	at com.intellij.openapi.wm.impl.IdeMenuBar.expandActionGroup(IdeMenuBar.java:428)
	at com.intellij.openapi.wm.impl.IdeMenuBar.updateMenuActions(IdeMenuBar.java:338)
	at com.intellij.openapi.wm.impl.IdeMenuBar$MyTimerListener.run(IdeMenuBar.java:488)
	at com.intellij.openapi.actionSystem.impl.WeakTimerListener.run(WeakTimerListener.java:54)
	at com.intellij.openapi.actionSystem.impl.ActionManagerImpl$MyTimer.runListenerAction(ActionManagerImpl.java:1417)
	at com.intellij.openapi.actionSystem.impl.ActionManagerImpl$MyTimer.notifyListeners(ActionManagerImpl.java:1407)
	at com.intellij.openapi.actionSystem.impl.ActionManagerImpl$MyTimer.actionPerformed(ActionManagerImpl.java:1397)
	at javax.swing.Timer.fireActionPerformed(Timer.java:313)
	at javax.swing.Timer$DoPostEvent.run(Timer.java:245)
	at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:756)
	at java.awt.EventQueue.access$500(EventQueue.java:97)
	at java.awt.EventQueue$3.run(EventQueue.java:709)
	at java.awt.EventQueue$3.run(EventQueue.java:703)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:726)
	at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:863)
	at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:699)
	at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:385)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)

Version: 2.1.0-SNAPSHOT

Submitted by Jeff Smits on 31 August 2016 at 14:19

On 13 September 2016 at 13:12 Gabriël Konat tagged intellij

Log in to post comments