When running the plugin LabelSpotsSystematically plugin on the E2 dataset from Mette. I get a stack overflow exception. I think this is because the ModelGraph contains a wrong edge. Maybe its a backwards edge or a edge with the same spot as source and target. The label spots systematically plugin probably crashes because it does a depth first iteration, an a graph with a cycle. There are two options to fix the problem. Make the plugin more robust, or implement a plugin the tests for problems in the graph and offers to fix them automatically.
The second option is better, as a similar this problem very likely effects many more plugins.
Here is a screenshot of the error message that I got:

And the stack trace:
Exception in thread "AWT-EventQueue-0" java.lang.StackOverflowError
at org.mastodon.pool.ByteMappedElement.<init>(ByteMappedElement.java:70)
at org.mastodon.pool.ByteMappedElementArray.createAccess(ByteMappedElementArray.java:91)
at org.mastodon.pool.ByteMappedElementArray.createAccess(ByteMappedElementArray.java:39)
at org.mastodon.pool.SingleArrayMemPool.createAccess(SingleArrayMemPool.java:71)
at org.mastodon.pool.PoolObject.<init>(PoolObject.java:80)
at org.mastodon.graph.ref.AbstractVertex.<init>(AbstractVertex.java:62)
at org.mastodon.graph.ref.AbstractListenableVertex.<init>(AbstractListenableVertex.java:85)
at org.mastodon.model.AbstractSpot.<init>(AbstractSpot.java:79)
at org.mastodon.mamut.model.Spot.<init>(Spot.java:203)
at org.mastodon.mamut.model.SpotPool.createEmptyRef(SpotPool.java:73)
at org.mastodon.mamut.model.SpotPool.createEmptyRef(SpotPool.java:40)
at org.mastodon.pool.Pool.createRef(Pool.java:128)
at org.mastodon.pool.Pool.createRef(Pool.java:120)
at org.mastodon.graph.ref.AbstractVertexPool.createRef(AbstractVertexPool.java:70)
at org.mastodon.graph.ref.GraphImp.vertexRef(GraphImp.java:153)
at org.mastodon.mamut.tomancak.sort_tree.SortTreeUtils.directionOfCellDivision(SortTreeUtils.java:70)
at org.mastodon.mamut.tomancak.sort_tree.ExternInternOrder.test(ExternInternOrder.java:63)
at org.mastodon.mamut.tomancak.sort_tree.ExternInternOrder.test(ExternInternOrder.java:44)
at org.mastodon.mamut.tomancak.label_systematically.LabelSpotsSystematically.renameDescendants(LabelSpotsSystematically.java:80)
at org.mastodon.mamut.tomancak.label_systematically.LabelSpotsSystematically.renameDescendants(LabelSpotsSystematically.java:81)
at org.mastodon.mamut.tomancak.label_systematically.LabelSpotsSystematically.renameDescendants(LabelSpotsSystematically.java:81)
at org.mastodon.mamut.tomancak.label_systematically.LabelSpotsSystematically.renameDescendants(LabelSpotsSystematically.java:81)
at org.mastodon.mamut.tomancak.label_systematically.LabelSpotsSystematically.renameDescendants(LabelSpotsSystematically.java:81)
at org.mastodon.mamut.tomancak.label_systematically.LabelSpotsSystematically.renameDescendants(LabelSpotsSystematically.java:81)
at org.mastodon.mamut.tomancak.label_systematically.LabelSpotsSystematically.renameDescendants(LabelSpotsSystematically.java:81)
at org.mastodon.mamut.tomancak.label_systematically.LabelSpotsSystematically.renameDescendants(LabelSpotsSystematically.java:81)
at org.mastodon.mamut.tomancak.label_systematically.LabelSpotsSystematically.renameDescendants(LabelSpotsSystematically.java:81)
at org.mastodon.mamut.tomancak.label_systematically.LabelSpotsSystematically.renameDescendants(LabelSpotsSystematically.java:81)
at org.mastodon.mamut.tomancak.label_systematically.LabelSpotsSystematically.renameDescendants(LabelSpotsSystematically.java:81)
at org.mastodon.mamut.tomancak.label_systematically.LabelSpotsSystematically.renameDescendants(LabelSpotsSystematically.java:81)
at org.mastodon.mamut.tomancak.label_systematically.LabelSpotsSystematically.renameDescendants(LabelSpotsSystematically.java:81)
at org.mastodon.mamut.tomancak.label_systematically.LabelSpotsSystematically.renameDescendants(LabelSpotsSystematically.java:81)
at org.mastodon.mamut.tomancak.label_systematically.LabelSpotsSystematically.renameDescendants(LabelSpotsSystematically.java:81)
at org.mastodon.mamut.tomancak.label_systematically.LabelSpotsSystematically.renameDescendants(LabelSpotsSystematically.java:81)
at org.mastodon.mamut.tomancak.label_systematically.LabelSpotsSystematically.renameDescendants(LabelSpotsSystematically.java:81)
When running the plugin
LabelSpotsSystematicallyplugin on the E2 dataset from Mette. I get a stack overflow exception. I think this is because theModelGraphcontains a wrong edge. Maybe its a backwards edge or a edge with the same spot as source and target. The label spots systematically plugin probably crashes because it does a depth first iteration, an a graph with a cycle. There are two options to fix the problem. Make the plugin more robust, or implement a plugin the tests for problems in the graph and offers to fix them automatically.The second option is better, as a similar this problem very likely effects many more plugins.
Here is a screenshot of the error message that I got:

And the stack trace: