You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Following up from #1825 since that seems to be similar/related but not the same. I'm getting a segfault when I have an RViz config with a rviz/RobotModel display that references a non-existent URDF parameter. However, I'm also getting crashes when the urdfs are present but only with more complicated setups.
Sometimes this does launch ok, the segfault doesn't seem to be consistent and I haven't found a minimal example that consistently fails. Larger rviz configs with more rviz/RobotModel displays seem to cause it to crash more. When it launches fine, I do also get the message Property::loadValue() TODO: error handling - unexpected QVariant type 0..
Launching without the rviz/RobotModel display seems to work consistently. Rolling back to 1.14.20 also fixes the problem with the issue seemingly being introduced in 1.14.21.
Adding in QMainWindow State seems to prevent the segfault most of the time, although 1 in 10 launches I still get the segfault:
Thread 1 "rviz" received signal SIGSEGV, Segmentation fault.
0x00007ffff70cda32 in QMetaObject::activate(QObject*, int, int, void**) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
(gdb) where
#0 0x00007ffff70cda32 in QMetaObject::activate(QObject*, int, int, void**) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#1 0x00007ffff7d062fa in rviz::PropertyTreeModel::propertyHiddenChanged (this=0x5555555edc60, _t1=0x55555687b240)
at /workspaces/dev-docker/rviz_ws/build/rviz/src/rviz/rviz_autogen/BW4I5L4EMK/moc_property_tree_model.cpp:169
#2 0x00007ffff7de596d in rviz::PropertyTreeModel::emitPropertyHiddenChanged (this=0x5555555edc60, property=0x55555687b240)
at /workspaces/dev-docker/rviz_ws/src/rviz/src/rviz/properties/property_tree_model.h:137
#3 0x00007ffff7de4727 in rviz::Property::<lambda()>::operator()(void) const (__closure=0x55555687e680)
at /workspaces/dev-docker/rviz_ws/src/rviz/src/rviz/properties/property.cpp:402
#4 0x00007ffff7de5820 in QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, rviz::Property::setModel(rviz::PropertyTreeModel*)::<lambda()> >::call(rviz::Property::<lambda()> &, void **) (f=..., arg=0x7fffffffc9b0) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h:146
#5 0x00007ffff7de57f2 in QtPrivate::Functor<rviz::Property::setModel(rviz::PropertyTreeModel*)::<lambda()>, 0>::call<QtPrivate::List<>, void>(rviz::Property::<lambda()> &, void *, void **) (f=..., arg=0x7fffffffc9b0) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h:256
#6 0x00007ffff7de57c0 in QtPrivate::QFunctorSlotObject<rviz::Property::setModel(rviz::PropertyTreeModel*)::<lambda()>, 0, QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase *, QObject *, void **, bool *) (which=1, this_=0x55555687e670, r=0x5555567e6240, a=0x7fffffffc9b0, ret=0x0)
at /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h:439
#7 0x00007ffff70db486 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#8 0x00007ffff70cebc5 in QObject::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#9 0x00007ffff74cfa66 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#10 0x00007ffff74d90f0 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#11 0x00007ffff70a280a in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#12 0x00007ffff70f9780 in QTimerInfoList::activateTimers() () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#13 0x00007ffff70fa06c in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#14 0x00007ffff42fc17d in g_main_context_dispatch () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#15 0x00007ffff42fc400 in ?? () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#16 0x00007ffff42fc4a3 in g_main_context_iteration () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#17 0x00007ffff70fa4b4 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_6
Your environment
OS Version: Ubuntu 20.04 via osrf/ros:noetic-desktop-full-focal docker image - this also happens to my colleagues and when running natively
ROS Distro: Noetic
RViz, Qt, OGRE, OpenGl version as printed by rviz:
QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-achille'
'[ INFO] [2024-05-17 17:08:44] [${node}]: rviz version 1.14.24'
'[ INFO] [2024-05-17 17:08:44] [${node}]: compiled against Qt version 5.12.8'
'[ INFO] [2024-05-17 17:08:44] [${node}]: compiled against OGRE version 1.9.0 (Ghadamon)'
'[ INFO] [2024-05-17 17:08:44] [/rviz_1715965724408806090]: Forcing OpenGl version 0.'
'[ INFO] [2024-05-17 17:08:44] [/rviz_1715965724408806090]: Stereo is NOT SUPPORTED'
'[ INFO] [2024-05-17 17:08:44] [/rviz_1715965724408806090]: OpenGL device: NVIDIA RTX A2000 8GB Laptop GPU/PCIe/SSE2'
'[ INFO] [2024-05-17 17:08:44] [/rviz_1715965724408806090]: OpenGl version: 4.6 (GLSL 4.6).'
If source build, which git commit? 2db2c5394a4f1fcf5fecfb8d0952d4f913c04aee
System locale, i.e. the output of echo "$LANG $LC_NUMERIC": C.UTF-8
The text was updated successfully, but these errors were encountered:
rhaschke
added a commit
to rhaschke/rviz
that referenced
this issue
May 18, 2024
Following up from #1825 since that seems to be similar/related but not the same. I'm getting a segfault when I have an RViz config with a
rviz/RobotModel
display that references a non-existent URDF parameter. However, I'm also getting crashes when the urdfs are present but only with more complicated setups.Given the following rviz config file
b.rviz
:launching with
rviz -d b.rviz
occasionally yields a segfault:Sometimes this does launch ok, the segfault doesn't seem to be consistent and I haven't found a minimal example that consistently fails. Larger rviz configs with more
rviz/RobotModel
displays seem to cause it to crash more. When it launches fine, I do also get the messageProperty::loadValue() TODO: error handling - unexpected QVariant type 0.
.Launching without the
rviz/RobotModel
display seems to work consistently. Rolling back to1.14.20
also fixes the problem with the issue seemingly being introduced in1.14.21
.Adding in
QMainWindow State
seems to prevent the segfault most of the time, although 1 in 10 launches I still get the segfault:In case the minimal example doesn't segfault, this somewhat longer config does seem to crash more consistently:
bug.launch
b.rviz
:c.urdf
d.urdf
gdb
where
:Your environment
osrf/ros:noetic-desktop-full-focal
docker image - this also happens to my colleagues and when running natively2db2c5394a4f1fcf5fecfb8d0952d4f913c04aee
echo "$LANG $LC_NUMERIC"
:C.UTF-8
The text was updated successfully, but these errors were encountered: