MaMuT Viewer gives NoSuchMethodError

Hi there,

I’m attempting to open an XML/HDF5 pair in MaMuT to perform tracking of some neurons in a calcium imaging dataset. Using BigDataViewer, I can open the pair fine, see the data, navigate through it, etc., so I know the file itself is fine. MaMuT launches but when I try to use the MaMuT Viewer I get the following error:

Exception in thread “AWT-EventQueue-0” java.lang.NoSuchMethodError: fiji.plugin.mamut.viewer.MamutViewerPanel.getDisplay()Lnet/imglib2/ui/InteractiveDisplayCanvasComponent;
at fiji.plugin.mamut.viewer.MamutViewer.(MamutViewer.java:174)
at fiji.plugin.mamut.MaMuT.newViewer(MaMuT.java:1059)
at fiji.plugin.mamut.MaMuT.access$6(MaMuT.java:1029)
at fiji.plugin.mamut.MaMuT$2.actionPerformed(MaMuT.java:445)
at fiji.plugin.trackmate.gui.panels.ActionListenablePanel.fireAction(ActionListenablePanel.java:42)
at fiji.plugin.mamut.gui.MamutControlPanel.access$000(MamutControlPanel.java:37)
at fiji.plugin.mamut.gui.MamutControlPanel$1.actionPerformed(MamutControlPanel.java:82)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
at java.awt.Component.processMouseEvent(Component.java:6539)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3324)
at java.awt.Component.processEvent(Component.java:6304)
at java.awt.Container.processEvent(Container.java:2239)
at java.awt.Component.dispatchEventImpl(Component.java:4889)
at java.awt.Container.dispatchEventImpl(Container.java:2297)
at java.awt.Component.dispatchEvent(Component.java:4711)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4904)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4535)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4476)
at java.awt.Container.dispatchEventImpl(Container.java:2283)
at java.awt.Window.dispatchEventImpl(Window.java:2746)
at java.awt.Component.dispatchEvent(Component.java:4711)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:760)
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:74)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:84)
at java.awt.EventQueue$4.run(EventQueue.java:733)
at java.awt.EventQueue$4.run(EventQueue.java:731)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:730)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205)
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)

I read that this is probably a version mismatch, so I ensured all my packages are “really 100% up to date” with the FAQ page (ironically, this initially killed my FIJI because it downloaded the launcher for old MacOSX versions…but that’s a separate issue). No dice there, so I’m out of ideas!

I’m on Mac OSX 10.15.7, Java 8 Update 121, ImageJ 1.53c (upgrading to 1.53h doesn’t solve it).

Thanks for your help!

Hi Jonah! This is something that needs to be fixed in MaMuT (it still depends on an older incompatible version of BigDataViewer). I will try to get it done today

2 Likes

It should be fixed now. If you update Fiji, it should work.

2 Likes

Thanks so much Tobias! Really appreciate your work keeping this plugin up and running.

Hi again — just trying this now. Unfortunately the fun continues. The error occurs at the same moment as before, upon trying to load the MaMuT viewer.

Exception in thread “AWT-EventQueue-0” java.lang.NullPointerException
at org.scijava.ui.behaviour.util.Actions.(Actions.java:117)
at org.scijava.ui.behaviour.util.Actions.(Actions.java:86)
at bdv.ui.sourcetable.SourceTable.installActions(SourceTable.java:130)
at bdv.ui.sourcetable.SourceTable.(SourceTable.java:101)
at bdv.ui.BdvDefaultCards.setup(BdvDefaultCards.java:75)
at fiji.plugin.mamut.viewer.MamutViewer.(MamutViewer.java:163)
at fiji.plugin.mamut.MaMuT.newViewer(MaMuT.java:998)
at fiji.plugin.mamut.MaMuT.access$500(MaMuT.java:158)
at fiji.plugin.mamut.MaMuT$2.actionPerformed(MaMuT.java:447)
at fiji.plugin.trackmate.gui.panels.ActionListenablePanel.fireAction(ActionListenablePanel.java:42)
at fiji.plugin.mamut.gui.MamutControlPanel.access$000(MamutControlPanel.java:37)
at fiji.plugin.mamut.gui.MamutControlPanel$1.actionPerformed(MamutControlPanel.java:82)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
at java.awt.Component.processMouseEvent(Component.java:6539)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3324)
at java.awt.Component.processEvent(Component.java:6304)
at java.awt.Container.processEvent(Container.java:2239)
at java.awt.Component.dispatchEventImpl(Component.java:4889)
at java.awt.Container.dispatchEventImpl(Container.java:2297)
at java.awt.Component.dispatchEvent(Component.java:4711)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4904)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4535)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4476)
at java.awt.Container.dispatchEventImpl(Container.java:2283)
at java.awt.Window.dispatchEventImpl(Window.java:2746)
at java.awt.Component.dispatchEvent(Component.java:4711)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:760)
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:74)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:84)
at java.awt.EventQueue$4.run(EventQueue.java:733)
at java.awt.EventQueue$4.run(EventQueue.java:731)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:730)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205)
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)

Happy to provide any more info you need, since it seems like now it’s fixed on your end but not mine?

Again, I hope I fixed it…
Could you update again? There is nothing new in the MaMuT update site, but there should be a new ui-behaviour.jar version from the main update site (Java-8).

1 Like

Yes, that fixed it! The MaMuT viewer opens and the tracking works. Thanks again.

2 Likes