Visualization issue into Opensim GUI

Provide easy-to-use, extensible software for modeling, simulating, controlling, and analyzing the neuromusculoskeletal system.
POST REPLY
User avatar
Landais Erwann
Posts: 3
Joined: Wed Nov 04, 2020 6:49 am

Visualization issue into Opensim GUI

Post by Landais Erwann » Mon Nov 30, 2020 6:16 am

Hi,

I'm having some issues about the installation of OpenSim-GUI, on Ubuntu 18.04.5. Following the instructions of https://github.com/opensim-org/opensim-gui and of https://github.com/opensim-org/opensim-gui/pull/1181, I have been able to install OpenSim-GUI with opensim-core built from source (thanks to the instructions of posting.php?mode=reply&f=91&t=7165&sid= ... 99f88c1df0).
I didn't encounter any major bugs in the opensim-core installation (all tests have been passed) or in the opensim-gui build. However, no visualization windows can be displayed when OpenSim-GUI is launched (with the command ./OpenSim in bin), as I could be seen here :

Image

Also, no error is indicated as output. According to https://github.com/opensim-org/opensim-gui/pull/1181, this bug should be linked with an issue about jxbrowser. Normally, launching Opensim-GUI should lead to the creation of a /tmp/jxbrowser-chromium-[...] folder. In my case, this folder is not present.
However, I manage to make it appear by running the opensim-visualizer project (located in opensim-gui/opensim-visualizer) in Netbeans 8.2 IDE. Then the folder appears and indicates that jxbrowser is linked to all the necessary shared libraries.
Last strange point, I am able to visualize my models via simbody, using the opensim-cmd executable. Thus, by running the command :

Code: Select all

opensim-cmd viz -g ~/OpenSim-Gui-Install/Geometry model ~/Documents/OpenSim/4.2-2020-11-24-d9c8bb2c/Models/Gait2354_Simbody/subject01_simbody.osim 

I get the following visualization:

Image

Have other people already encountered this bug? Do you think it could be related to a bad installation or a missing execution of jxbrowser? Is it otherwise related to a bad execution of OpenSim (not through Ant or Netbeans for example, but directly through the OpenSim executable)?

Regards,

Erwann

EDIT : I finally found an exception that could perhaps explain this bug. During the execution of tutorial 3, in section IV (Inverse Kinematics), executing the "Run" function of the Inverse Kinematics tool produces the following error:

Code: Select all

java.lang.NullPointerException
	at org.opensim.view.ExplorerTopComponent.addUndoableEdit(ExplorerTopComponent.java:541)
	at org.opensim.view.pub.OpenSimDB.setCurrentModel(OpenSimDB.java:259)
	at org.opensim.view.pub.OpenSimDB.setCurrentModel(OpenSimDB.java:241)
	at org.opensim.view.pub.OpenSimDB.removeModel(OpenSimDB.java:188)
	at org.opensim.view.actions.FileCloseAction.closeModel(FileCloseAction.java:76)
	at org.opensim.view.nodes.ModelCloseSelectedAction.performAction(ModelCloseSelectedAction.java:53)
	at org.openide.util.actions.CallableSystemAction$1.run(CallableSystemAction.java:130)
	at org.openide.util.actions.ActionInvoker$1.run(ActionInvoker.java:95)
	at org.openide.util.actions.ActionInvoker.doPerformAction(ActionInvoker.java:116)
	at org.openide.util.actions.ActionInvoker.invokeAction(ActionInvoker.java:99)
	at org.openide.util.actions.CallableSystemAction.actionPerformed(CallableSystemAction.java:127)
	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.AbstractButton.doClick(AbstractButton.java:376)
	at javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:842)
	at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:886)
	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 org.netbeans.core.TimableEventQueue.dispatchEvent(TimableEventQueue.java:159)
[catch] 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)
Normally, the model should move in the viewer window after executing this tool; here, this exception is returned instead. Maybe someone has an idea about the cause of this bug?

PS: I also allow myself to add a strange bug about the INSTALLER in opensim-gui/Gui/opensim/dist/installer/OpenSim. This one tries each time to install already installed packages ( openjdk-8-jre, liblapack3, libgconf). From what I understand, it seems to be related to an error in the command line called which returns nothing even though the packages are well installed.

The line in question are : ldconfig -p | grep -q <package name>. On the command line, we then have :

Code: Select all

ldconfig -p | grep -q "libgconf"

ldconfig -p | grep "libgconf"
	libgconf-2.so.4 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libgconf-2.so.4

POST REPLY