maliput / delphyne_gui

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

Creating visuals before scene causing crashes on startup #48

Closed chapulina closed 6 years ago

chapulina commented 6 years ago

While working on top of pull request #44, I'm getting visualizer crashes on my local setup almost all the time during startup (I'd say it crashes 90% of the time).

With @clalancette 's help I was able to get a backtrace. Steps followed:

  1. Comment out launch_visualizer on keyboard_controlled_simulation.py so it starts headless
  2. Run keyboard_controlled_simulation.py
  3. On a new terminal, run visualizer install/share/delphyne/layoutWithTeleop.config

Backtrace:

Thread 1 "visualizer" received signal SIGSEGV, Segmentation fault.
delphyne::gui::RenderWidget::CreateLinkRootVisual (this=this@entry=0x635a90, _link=..., _robotID=0)
    at /media/louise/TERA/code/delphyne_ws/src/delphyne_gui/visualizer/RenderWidget.cc:551
551   ignition::rendering::VisualPtr linkRootVisual = this->scene->CreateVisual();
(gdb) bt
#0  delphyne::gui::RenderWidget::CreateLinkRootVisual (this=this@entry=0x635a90, _link=..., _robotID=0)
    at /media/louise/TERA/code/delphyne_ws/src/delphyne_gui/visualizer/RenderWidget.cc:551
#1  0x00007fffd01ed9c1 in delphyne::gui::RenderWidget::LoadModel (this=this@entry=0x635a90, _msg=...)
    at /media/louise/TERA/code/delphyne_ws/src/delphyne_gui/visualizer/RenderWidget.cc:605
#2  0x00007fffd01ee300 in delphyne::gui::RenderWidget::SetInitialModels (this=0x635a90, _msg=...)
    at /media/louise/TERA/code/delphyne_ws/src/delphyne_gui/visualizer/RenderWidget.cc:541
#3  0x00007fffd01f8e29 in delphyne::gui::RenderWidget::qt_static_metacall (_o=<optimized out>, _c=<optimized out>, _id=<optimized out>, 
    _a=<optimized out>) at /media/louise/TERA/code/delphyne_ws/build/delphyne_gui/visualizer/moc_RenderWidget.cpp:93
#4  0x00007ffff6750c01 in QObject::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#5  0x00007ffff736bd1b in QWidget::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#6  0x00007ffff732905c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#7  0x00007ffff732e516 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#8  0x00007ffff672138b in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#9  0x00007ffff6723786 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) ()
   from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#10 0x00007ffff67773c3 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#11 0x00007ffff4116197 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#12 0x00007ffff41163f0 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#13 0x00007ffff411649c in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#14 0x00007ffff67777cf in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()
   from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#15 0x00007ffff7a1adb0 in ignition::gui::MainWindow::ApplyConfig (this=0x8d32d0, _config=...)
    at /media/louise/TERA/code/ign-gui/src/MainWindow.cc:338
#16 0x00007ffff79f9d98 in ignition::gui::applyConfig () at /media/louise/TERA/code/ign-gui/src/Iface.cc:630
#17 0x00007ffff79f8cbb in ignition::gui::createMainWindow () at /media/louise/TERA/code/ign-gui/src/Iface.cc:574
#18 0x00000000004016e0 in main (argc=<optimized out>, argv=0x7fffffffd9d8)
    at /media/louise/TERA/code/delphyne_ws/src/delphyne_gui/visualizer/visualizer.cc:97

We also checked that this->scene is null, so this looks like a transport timing issue where we're trying to create link visuals before initializing the scene.

basicNew commented 6 years ago

Thanks for the report @chapulina ! We'll take a look at this asap.

caguero commented 6 years ago

While testing pull request #52, I ran into this issue and fixed it there (hopefully). Tagging @apojomovsky , in case is working on it.

apojomovsky commented 6 years ago

Thanks for taking care of this @caguero !

caguero commented 6 years ago

I believe this issue has been fixed in pull request #52 . Please, re-open if occurs again.