zxcalc / quantomatic

Quantomatic is a tool for doing automated graph rewriting.

Home Page:http://quantomatic.github.io

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Pressing "apply rewrite" rewrite crashes the derivation

rossduncan opened this issue · comments

I don't know how to trigger this except by just working in quanto for a while.

Sometimes, when you select a rewrite and press "Apply" instead of doing the rewrite it blanks the right hand panel and does nothing. From this point it seems to be impossible to continue the derivation, and it's necessary to restart Quantomatic.

Stack trace is

[error] Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: -1
[error]         at java.util.ArrayList.elementData(ArrayList.java:418)
[error]         at java.util.ArrayList.get(ArrayList.java:431)
[error]         at javax.swing.JTabbedPane.setTitleAt(JTabbedPane.java:1316)
[error]         at scala.swing.TabbedPane$Page.title_$eq(TabbedPane.scala:41)
[error]         at quanto.gui.ClosablePage.title_$eq(ClosableTabbedPane.scala:13)
[error]         at quanto.gui.DocumentPage$$anonfun$1.applyOrElse(DocumentPage.scala:17)
[error]         at quanto.gui.DocumentPage$$anonfun$1.applyOrElse(DocumentPage.scala:15)
[error]         at scala.runtime.AbstractPartialFunction.apply(AbstractPartialFunction.scala:36)
[error]         at scala.swing.Reactions$Impl$$anonfun$apply$1.apply(Reactions.scala:23)
[error]         at scala.swing.Reactions$Impl$$anonfun$apply$1.apply(Reactions.scala:23)
[error]         at scala.collection.immutable.List.foreach(List.scala:381)
[error]         at scala.collection.generic.TraversableForwarder$class.foreach(TraversableForwarder.scala:35)
[error]         at scala.collection.mutable.ListBuffer.foreach(ListBuffer.scala:45)
[error]         at scala.swing.Reactions$Impl.apply(Reactions.scala:23)
[error]         at scala.swing.Reactions$Impl.apply(Reactions.scala:17)
[error]         at scala.swing.Publisher$$anonfun$publish$1.apply(Publisher.scala:47)
[error]         at scala.swing.Publisher$$anonfun$publish$1.apply(Publisher.scala:47)
[error]         at scala.collection.Iterator$class.foreach(Iterator.scala:893)
[error]         at scala.swing.SingleRefCollection$$anon$4.foreach(Publisher.scala:108)
[error]         at scala.collection.IterableLike$class.foreach(IterableLike.scala:72)
[error]         at scala.swing.RefSet.foreach(Publisher.scala:165)
[error]         at scala.swing.Publisher$class.publish(Publisher.scala:47)
[error]         at quanto.gui.Document.publish(Document.scala:21)
[error]         at quanto.gui.DerivationDocument.derivation_$eq(DerivationDocument.scala:19)
[error]         at quanto.gui.DerivationController.replaceDerivation(DerivationController.scala:122)
[error]         at quanto.gui.RewriteController$$anonfun$1$$anonfun$applyOrElse$3$$anonfun$apply$1.apply(RewriteController.scala:215)
[error]         at quanto.gui.RewriteController$$anonfun$1$$anonfun$applyOrElse$3$$anonfun$apply$1.apply(RewriteController.scala:208)
[error]         at scala.Option.map(Option.scala:146)
[error]         at quanto.gui.RewriteController$$anonfun$1$$anonfun$applyOrElse$3.apply(RewriteController.scala:208)
[error]         at quanto.gui.RewriteController$$anonfun$1$$anonfun$applyOrElse$3.apply(RewriteController.scala:208)
[error]         at scala.Option.foreach(Option.scala:257)
[error]         at quanto.gui.RewriteController$$anonfun$1.applyOrElse(RewriteController.scala:208)
[error]         at quanto.gui.RewriteController$$anonfun$1.applyOrElse(RewriteController.scala:169)
[error]         at scala.runtime.AbstractPartialFunction.apply(AbstractPartialFunction.scala:36)
[error]         at scala.swing.Reactions$Impl$$anonfun$apply$1.apply(Reactions.scala:23)
[error]         at scala.swing.Reactions$Impl$$anonfun$apply$1.apply(Reactions.scala:23)
[error]         at scala.collection.immutable.List.foreach(List.scala:381)
[error]         at scala.collection.generic.TraversableForwarder$class.foreach(TraversableForwarder.scala:35)
[error]         at scala.collection.mutable.ListBuffer.foreach(ListBuffer.scala:45)
[error]         at scala.swing.Reactions$Impl.apply(Reactions.scala:23)
[error]         at scala.swing.Reactions$Impl.apply(Reactions.scala:17)
[error]         at scala.swing.Publisher$$anonfun$publish$1.apply(Publisher.scala:47)
[error]         at scala.swing.Publisher$$anonfun$publish$1.apply(Publisher.scala:47)
[error]         at scala.collection.Iterator$class.foreach(Iterator.scala:893)
[error]         at scala.swing.SingleRefCollection$$anon$4.foreach(Publisher.scala:108)
[error]         at scala.collection.IterableLike$class.foreach(IterableLike.scala:72)
[error]         at scala.swing.RefSet.foreach(Publisher.scala:165)
[error]         at scala.swing.Publisher$class.publish(Publisher.scala:47)
[error]         at scala.swing.Component.publish(Component.scala:43)
[error]         at scala.swing.AbstractButton$$anonfun$1.apply(AbstractButton.scala:44)
[error]         at scala.swing.AbstractButton$$anonfun$1.apply(AbstractButton.scala:43)
[error]         at scala.swing.Swing$$anon$8.actionPerformed(Swing.scala:38)
[error]         at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)
[error]         at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348)
[error]         at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
[error]         at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
[error]         at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
[error]         at java.awt.Component.processMouseEvent(Component.java:6533)
[error]         at javax.swing.JComponent.processMouseEvent(JComponent.java:3324)
[error]         at java.awt.Component.processEvent(Component.java:6298)
[error]         at java.awt.Container.processEvent(Container.java:2236)
[error]         at java.awt.Component.dispatchEventImpl(Component.java:4889)
[error]         at java.awt.Container.dispatchEventImpl(Container.java:2294)
[error]         at java.awt.Component.dispatchEvent(Component.java:4711)
[error]         at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4888)
[error]         at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4525)
[error]         at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4466)
[error]         at java.awt.Container.dispatchEventImpl(Container.java:2280)
[error]         at java.awt.Window.dispatchEventImpl(Window.java:2746)
[error]         at java.awt.Component.dispatchEvent(Component.java:4711)
[error]         at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)
[error]         at java.awt.EventQueue.access$500(EventQueue.java:97)
[error]         at java.awt.EventQueue$3.run(EventQueue.java:709)
[error]         at java.awt.EventQueue$3.run(EventQueue.java:703)
[error]         at java.security.AccessController.doPrivileged(Native Method)
[error]         at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
[error]         at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
[error]         at java.awt.EventQueue$4.run(EventQueue.java:731)
[error]         at java.awt.EventQueue$4.run(EventQueue.java:729)
[error]         at java.security.AccessController.doPrivileged(Native Method)
[error]         at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
[error]         at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
[error]         at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
[error]         at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
[error]         at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
[error]         at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
[error]         at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
[error]         at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)

Has this happened since? The error is in setting the title for the tab, something that may have been fixed when we rewrote parts of the tab management.

The UI has been reworked since this bug was reported and this bug cannot be reproduced. Please re-open or create new a new issue if this persists after the next major update (expected before 2018-05-07)