rtabmap icon indicating copy to clipboard operation
rtabmap copied to clipboard

Cloud viewer crash

Open parkerlreed opened this issue 4 months ago • 4 comments

vtk 9.5.0-6 pcl 1.15.0-3 gtsam 1:4.2-1 g2o-git r1617.d89ab60a-1 opencv 4.12.0-2

rtabmap latest commit

Loading any database and Downloading Map results in this crash at the end.

[ WARN] (2025-08-10 05:17:23.699) Parameters.cpp:136::deserialize() Parameter "SIFT/NFeatures" doesn't exist anymore.
[ WARN] (2025-08-10 05:17:23.699) Parameters.cpp:136::deserialize() Parameter "Vis/ForwardEstOnly" doesn't exist anymore.
[parker-framework:146261:0:146261] Caught signal 11 (Segmentation fault: address not mapped to object at address 0x21)
==== backtrace (tid: 146261) ====
 0 0x000000000004dd71 ucs_rcache_distribution_get_num_bins()  ???:0
 1 0x000000000004df3d ucs_rcache_distribution_get_num_bins()  ???:0
 2 0x000000000003e540 __sigaction()  ???:0
 3 0x000000000019a33c vtkOpenGLPolyDataMapper2D::New()  ???:0
 4 0x00000000000d4172 pcl::visualization::PCLVisualizer::setShapeRenderingProperties()  ???:0
 5 0x00000000003cae9d rtabmap::CloudViewer::addOrUpdateGraph()  ???:0
 6 0x000000000014bed0 rtabmap::MainWindow::updateMapCloud()  ???:0
 7 0x000000000014f5d7 rtabmap::MainWindow::processRtabmapEvent3DMap()  ???:0
 8 0x00000000002f6e5b QObject::event()  ???:0
 9 0x0000000000158646 QApplicationPrivate::notify_helper()  ???:0
10 0x00000000002cfb68 QCoreApplication::notifyInternal2()  ???:0
11 0x00000000002d0ec0 QCoreApplicationPrivate::sendPostedEvents()  ???:0
12 0x0000000000323ff0 QEventDispatcherGlib::unregisterSocketNotifier()  ???:0
13 0x000000000005e880 g_source_query_unix_fd()  ???:0
14 0x000000000005fcd7 g_main_context_check()  ???:0
15 0x000000000005fee5 g_main_context_iteration()  ???:0
16 0x0000000000321489 QEventDispatcherGlib::processEvents()  ???:0
17 0x00000000002c807b QEventLoop::exec()  ???:0
18 0x00000000002d439b QCoreApplication::exec()  ???:0
19 0x000000000000384c main()  ???:0
20 0x0000000000027675 __libc_init_first()  ???:0
21 0x0000000000027729 __libc_start_main()  ???:0
22 0x0000000000003a15 _start()  ???:0
=================================
Segmentation fault         (core dumped) rtabmap
                Stack trace of thread 147085:
                #0  0x00007f77ebf9a33c n/a (libvtkRenderingOpenGL2.so.1 + 0x19a33c)
                #1  0x00007f77f6558172 _ZN3pcl13visualization13PCLVisualizer27setShapeRenderingPropertiesEidddRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEi (libpcl_visualization.so.1.15 + 0xd4172)
                #2  0x00007f77f8dcae9d _ZN7rtabmap11CloudViewer16addOrUpdateGraphERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt10shared_ptrIN3pcl10PointCloudINSA_8PointXYZEEEERK6QColor (librtabmap_gui.so.0.22 + 0x3cae9d)
                #3  0x00007f77f8b4bed0 _ZN7rtabmap10MainWindow14updateMapCloudERKSt3mapIiNS_9TransformESt4lessIiESaISt4pairIKiS2_EEERKSt8multimapIiNS_4LinkES4_SaIS5_IS6_SD_EEERKS1_IiiS4_SaIS5_IS6_iEEERKS1_IiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES4_SaIS5_IS6_ST_EEESB_SB_SI_bPS1_IST_fS3_IST_ESaIS5_IKST_fEEE (librtabmap_gui.so.0.22 + 0x14bed0)
                #4  0x00007f77f8b4f5d7 _ZN7rtabmap10MainWindow24processRtabmapEvent3DMapERKNS_17RtabmapEvent3DMapE (librtabmap_gui.so.0.22 + 0x14f5d7)
                #5  0x00007f77e40f6e5b _ZN7QObject5eventEP6QEvent (libQt5Core.so.5 + 0x2f6e5b)
                #6  0x00007f77e4d58646 _ZN19QApplicationPrivate13notify_helperEP7QObjectP6QEvent (libQt5Widgets.so.5 + 0x158646)
                #7  0x00007f77e40cfb68 _ZN16QCoreApplication15notifyInternal2EP7QObjectP6QEvent (libQt5Core.so.5 + 0x2cfb68)
                #8  0x00007f77e40d0ec0 _ZN23QCoreApplicationPrivate16sendPostedEventsEP7QObjectiP11QThreadData (libQt5Core.so.5 + 0x2d0ec0)
                #9  0x00007f77e4123ff0 n/a (libQt5Core.so.5 + 0x323ff0)
                #10 0x00007f77e0d08880 n/a (libglib-2.0.so.0 + 0x5e880)
                #11 0x00007f77e0d09cd7 n/a (libglib-2.0.so.0 + 0x5fcd7)
                #12 0x00007f77e0d09ee5 g_main_context_iteration (libglib-2.0.so.0 + 0x5fee5)
                #13 0x00007f77e4121489 _ZN20QEventDispatcherGlib13processEventsE6QFlagsIN10QEventLoop17ProcessEventsFlagEE (libQt5Core.so.5 + 0x321489)
                #14 0x00007f77e40c807b _ZN10QEventLoop4execE6QFlagsINS_17ProcessEventsFlagEE (libQt5Core.so.5 + 0x2c807b)
                #15 0x00007f77e40d439b _ZN16QCoreApplication4execEv (libQt5Core.so.5 + 0x2d439b)
                #16 0x000055f03e75884c main (/usr/local/bin/rtabmap + 0x384c)
                #17 0x00007f77e3627675 n/a (libc.so.6 + 0x27675)
                #18 0x00007f77e3627729 __libc_start_main (libc.so.6 + 0x27729)
                #19 0x000055f03e758a15 _start (/usr/local/bin/rtabmap + 0x3a15)

parkerlreed avatar Aug 10 '25 09:08 parkerlreed

I tried this dev container https://github.com/introlab/rtabmap/blob/master/.devcontainer/latest-deps-from-source/Dockerfile (latest VTK, latest PCL, latest openCV, latest GTSAM, latest G2O) and it works, except for this issue: https://github.com/introlab/rtabmap/issues/1567 (had to use Qt5 version binaries coming with ubuntu 24.04 instead of Qt6)

If you can create a Dockerfile to reproduce the issue, I could take a deeper look. Based on your log, it seems related to a compatibility issue between PCL, VTK and Qt5. On which kind of system are you building the projects?

matlabbe avatar Aug 11 '25 02:08 matlabbe

This has been on Arch Linux. Yeah I figured it would have been a mismatch somewhere, just wanted to verify it wasn't something outright in rtabmap.

I'll keep poking it and see if I can figure out what's causing it, thanks!

parkerlreed avatar Aug 11 '25 04:08 parkerlreed

Wanted to try the Dockerfile, noble seems wrong here?

ARG ROS_DISTRO=noble

That's the Ubuntu codename not ROS. Can't find the image when using noble

parkerlreed avatar Aug 11 '25 05:08 parkerlreed

Yes, it should be jazzy, it is already overwritten to jazzy in the dev container config, so it is why I didn't notice it (I just updated it). To build with latest deps without the dev container, you may use https://github.com/introlab/rtabmap/blob/master/docker/latest_deps/Dockerfile instead. Note that if qt6 issue happens, you can change:

RUN apt-get update && \
-    apt-get install -y git software-properties-common ros-${ROS_DISTRO}-rtabmap-ros libqt6* qt6* qml6* && \
-    apt-get remove -y ros-${ROS_DISTRO}-rtabmap* ros-${ROS_DISTRO}-gtsam ros-${ROS_DISTRO}-libg2o libpcl* libqt5* qt5* libvtk* libopencv* && \
+    apt-get install -y git software-properties-common ros-${ROS_DISTRO}-rtabmap-ros && \
+    apt-get remove -y ros-${ROS_DISTRO}-rtabmap* ros-${ROS_DISTRO}-gtsam ros-${ROS_DISTRO}-libg2o libpcl* libvtk* libopencv* && \
    apt-get clean && rm -rf /var/lib/apt/lists/

matlabbe avatar Aug 12 '25 07:08 matlabbe