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)