maliput / delphyne_gui

Graphical frontend and tools for Delphyne
BSD 3-Clause "New" or "Revised" License
0 stars 0 forks source link

Plotting plugin crashes the visualiser #105

Closed stonier closed 6 years ago

stonier commented 6 years ago

When selecting it from the plugins drop-down, it is crashing the visualiser.

caguero commented 6 years ago

I cannot reproduce it but @basicNew also mentioned this issue to me a few days ago. Could you please paste the version of the Qt libraries that are linked against `libPlot.so?

caguero@bb9:~/delphyne_ws/install/lib/ign-gui-0/plugins$ ldd libPlot.so | grep -i qt
    libQt5Widgets.so.5 => /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 (0x00007fc523258000)
    libqwt-qt5.so.6 => /usr/lib/libqwt-qt5.so.6 (0x00007fc522f11000)
    libQt5Gui.so.5 => /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5 (0x00007fc5229c9000)
    libQt5Core.so.5 => /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 (0x00007fc5224f3000)
    libQt5PrintSupport.so.5 => /usr/lib/x86_64-linux-gnu/libQt5PrintSupport.so.5 (0x00007fc523f0f000)
    libQt5Svg.so.5 => /usr/lib/x86_64-linux-gnu/libQt5Svg.so.5 (0x00007fc523eb8000)
    libQt5OpenGL.so.5 => /usr/lib/x86_64-linux-gnu/libQt5OpenGL.so.5 (0x00007fc523e5e000)

It might be case that we're linking against some Qt4 libraries.

clalancette commented 6 years ago

I think @caguero and I figured this problem out. Carlos will be opening a PR soon for this.

basicNew commented 6 years ago

Yes, indeed. Sorry I wasn't able to keep debugging that one. Dumping here my debug notes:

The problem manifest as a segfault in libQtGui.so.4:

$ gdb visualizer                                                                                                                                   
GNU gdb (Ubuntu 7.11.1-0ubuntu1~16.5) 7.11.1
Copyright (C) 2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from visualizer...done.
(gdb) run
Starting program: /home/andres/OSRF/DrakeFrontEnd/delphyne_ws/install/bin/visualizer 
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[Msg] Visualizer 0.1.0
[New Thread 0x7fffdde14700 (LWP 21993)]
[New Thread 0x7fffd3e3d700 (LWP 21994)]
[New Thread 0x7fffd363c700 (LWP 21995)]
[New Thread 0x7fffd2e3b700 (LWP 21996)]
[GUI] [Msg] Applying stylesheet [:/style.qss]
[GUI] [Msg] Loading config [/home/andres/OSRF/DrakeFrontEnd/delphyne_ws/install/share/delphyne//initialLayout.config]
[GUI] [Msg] Loading plugin [RenderWidget]
[New Thread 0x7fffc3fff700 (LWP 21997)]
[New Thread 0x7fffc37fe700 (LWP 21998)]
[New Thread 0x7fffc2ffd700 (LWP 21999)]
[New Thread 0x7fffc27fc700 (LWP 22000)]
[New Thread 0x7fffc1ffb700 (LWP 22001)]
[New Thread 0x7fffc17fa700 (LWP 22002)]
[New Thread 0x7fffc0ff9700 (LWP 22003)]
[New Thread 0x7fffc07f8700 (LWP 22004)]
[New Thread 0x7fffbfff7700 (LWP 22005)]
[New Thread 0x7fffbf7f6700 (LWP 22006)]
[New Thread 0x7fffbeff5700 (LWP 22007)]
[New Thread 0x7fffbe7f4700 (LWP 22008)]
[New Thread 0x7fffbdff3700 (LWP 22009)]
[GUI] [Msg] Loading plugin [ignition-rendering0-ogre]
[New Thread 0x7fffad78c700 (LWP 22011)]
[New Thread 0x7fffacf8b700 (LWP 22012)]
[New Thread 0x7fff9bfff700 (LWP 22013)]
[New Thread 0x7fffa3fff700 (LWP 22014)]
[New Thread 0x7fffa37fe700 (LWP 22015)]
[New Thread 0x7fffa2ffd700 (LWP 22016)]
[New Thread 0x7fffa27fc700 (LWP 22017)]
[New Thread 0x7fffa1ffb700 (LWP 22018)]
[GUI] [Msg] Loading plugin [TimePanel]
[GUI] [Msg] Loading plugin [TopicInterface]
[GUI] [Msg] Loading plugin [TopicsStats]
[GUI] [Msg] Loading plugin [TopicViewer]
[GUI] [Msg] Added plugin [RenderWidget] to main window
[GUI] [Msg] Added plugin [Time control] to main window
[GUI] [Msg] Added plugin [Scene tree] to main window
[GUI] [Msg] Added plugin [Topics stats] to main window
[GUI] [Msg] Added plugin [Topic viewer] to main window
[GUI] [Wrn] [Iface.cc:158] [QT] QWidget::setMinimumSize: (RenderWidget/ignition::gui::Dock) Negative sizes (0,-1) are not possible
[GUI] [Wrn] [Iface.cc:158] [QT] QWidget::setMinimumSize: (RenderWidget/ignition::gui::Dock) Negative sizes (0,-1) are not possible
[GUI] [Msg] Loading plugin [libPlot.so]

Thread 1 "visualizer" received signal SIGSEGV, Segmentation fault.
0x00007fff9a6835a4 in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4

Couple of commands based on Carlos' input:

$ ldd visualizer | grep gui
        libignition-gui0.so.0 => /home/andres/OSRF/DrakeFrontEnd/delphyne_ws/install/lib/libignition-gui0.so.0 (0x00007f000887a000)
$ ls delphyne_ws/install/lib/ | grep libignition-gui
libignition-gui0.so
libignition-gui0.so.0
libignition-gui0.so.0.1.0
$ ldd libignition-gui0.so | grep -i gui
        libQt5Gui.so.5 => /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5 (0x00007f2464e78000)

And the final guilty one:

$ ldd  delphyne_ws/install/lib/ign-gui-0/plugins/libPlot.so | grep -i gui
        libignition-gui0.so.0 => /home/andres/OSRF/DrakeFrontEnd/delphyne_ws/install/lib/libignition-gui0.so.0 (0x00007f6176672000)
        libQt5Gui.so.5 => /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5 (0x00007f6175765000)
        libQtGui.so.4 => /usr/lib/x86_64-linux-gnu/libQtGui.so.4 (0x00007f6171a35000)

And that's how far I could get. I have really no idea how libPlot.so ended up in that situation.

caguero commented 6 years ago

https://github.com/ToyotaResearchInstitute/delphyne-gui/pull/108 should fix it. We verified the fix on @clalancette 's laptop.

Summary:

caguero commented 6 years ago

Fixed in #108.

stonier commented 6 years ago

Working for me. Thanks!

Closing out. For reference, see the thread in #108 for more discussion.