icp_localization icon indicating copy to clipboard operation
icp_localization copied to clipboard

received signal SIGSEGV, Segmentation fault

Open MasterY0416 opened this issue 3 years ago • 6 comments

Thank you very much for your work. I have this problem when using libpointmatcher and spent a long time to solve this problem, but there is still no result.

`[Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1". [New Thread 0x7fffe290c700 (LWP 6544)] [New Thread 0x7fffe210b700 (LWP 6545)] [New Thread 0x7fffe190a700 (LWP 6546)] [New Thread 0x7fffe1109700 (LWP 6551)] [New Thread 0x7fffe0908700 (LWP 6582)] [New Thread 0x7fffd3fff700 (LWP 6583)]

Thread 1 "localizer_node" received signal SIGSEGV, Segmentation fault. 0x00007ffff7bb0515 in void Eigen::internal::call_dense_assignment_loop<Eigen::Matrix<float, -1, -1, 0, -1, -1>, Eigen::Matrix<float, -1, -1, 0, -1, -1>, Eigen::internal::assign_op<float, float> >(Eigen::Matrix<float, -1, -1, 0, -1, -1>&, Eigen::Matrix<float, -1, -1, 0, -1, -1> const&, Eigen::internal::assign_op<float, float> const&) () from /home/yuan/icp_localization_ws/devel/.private/icp_localization/lib/libicp_localization.so (gdb) [icp_node-2] killing on exit Quit (gdb) bt #0 0x00007ffff7bb0515 in void Eigen::internal::call_dense_assignment_loop<Eigen::Matrix<float, -1, -1, 0, -1, -1>, Eigen::Matrix<float, -1, -1, 0, -1, -1>, Eigen::internal::assign_op<float, float> >(Eigen::Matrix<float, -1, -1, 0, -1, -1>&, Eigen::Matrix<float, -1, -1, 0, -1, -1> const&, Eigen::internal::assign_op<float, float> const&) () from /home/yuan/icp_localization_ws/devel/.private/icp_localization/lib/libicp_localization.so #1 0x00007ffff5947b15 in SamplingSurfaceNormalDataPointsFilter::fuseRange(SamplingSurfaceNormalDataPointsFilter::BuildData&, int, int) const () from /home/yuan/icp_localization_ws/devel/.private/libpointmatcher/lib/libpointmatcher.so #2 0x00007ffff5949e15 in SamplingSurfaceNormalDataPointsFilter::buildNew(SamplingSurfaceNormalDataPointsFilter::BuildData&, int, int, Eigen::Matrix<float, -1, 1, 0, -1, 1>&&, Eigen::Matrix<float, -1, 1, 0, -1, 1>&&) const () from /home/yuan/icp_localization_ws/devel/.private/libpointmatcher/lib/libpointmatcher.so #3 0x00007ffff594a2ba in SamplingSurfaceNormalDataPointsFilter::buildNew(SamplingSurfaceNormalDataPointsFilter::BuildData&, int, int, Eigen::Matrix<float, -1, 1, 0, -1, 1>&&, Eigen::Matrix<float, -1, 1, 0, -1, 1>&&) const () from /home/yuan/icp_localization_ws/devel/.private/libpointmatcher/lib/libpointmatcher.so #4 0x00007ffff594a2ba in SamplingSurfaceNormalDataPointsFilter::buildNew(SamplingSurfaceNormalDataPointsFilter::BuildData&, int, int, Eigen::Matrix<float, -1, 1, 0, -1, 1>&&, Eigen::Matrix<float, -1, 1, 0, -1, 1>&&) const () from /home/yuan/icp_localization_ws/devel/.private/libpointmatcher/lib/libpointmatcher.so #5 0x00007ffff594a2ba in SamplingSurfaceNormalDataPointsFilter::buildNew(SamplingSurfaceNormalDataPointsFilter::BuildData&, int, int, Eigen::Matrix<float, -1, 1, 0, -1, 1>&&, Eigen::Matrix<float, -1, 1, 0, -1, 1>&&) const () from /home/yuan/icp_localization_ws/devel/.private/libpointmatcher/lib/libpointmatcher.so #6 0x00007ffff594a2ba in SamplingSurfaceNormalDataPointsFilter::buildNew(SamplingSurfaceNormalDataPointsFilter::BuildData&, int, int, Eigen::Matrix<float, -1, 1, 0, -1, 1>&&, Eigen::Matrix<float, -1, 1, 0, -1, 1>&&) const () from /home/yuan/icp_localization_ws/devel/.private/libpointmatcher/lib/libpointmatcher.so #7 0x00007ffff594a2ba in SamplingSurfaceNormalDataPointsFilter::buildNew(SamplingSurfaceNormalDataPointsFilter::BuildData&, int, int, Eigen::Matrix<float, -1, 1, 0, -1, 1>&&, Eigen::Matrix<float, -1, 1, 0, -1, 1>&&) const () from /home/yuan/icp_localization_ws/devel/.private/libpointmatcher/lib/libpointmatcher.so #8 0x00007ffff594a2ba in SamplingSurfaceNormalDataPointsFilter::buildNew(SamplingSurfaceNormalDataPointsFilter::BuildData&, int, int, Eigen::Matrix<float, -1, 1, 0, -1, 1>&&, Eigen::Matrix<float, -1, 1, 0, -1, 1>&&) const () from /home/yuan/icp_localization_ws/devel/.private/libpointmatcher/lib/libpointmatcher.so #9 0x00007ffff594a2ba in SamplingSurfaceNormalDataPointsFilter::buildNew(SamplingSurfaceNormalDataPointsFilter::BuildData&, int, int, Eigen::Matrix<float, -1, 1, 0, -1, 1>&&, Eigen::Matrix<float, -1, 1, 0, -1, 1>&&) const () from /home/yuan/icp_localization_ws/devel/.private/libpointmatcher/lib/libpointmatcher.so #10 0x00007ffff594a2ba in SamplingSurfaceNormalDataPointsFilter::buildNew(SamplingSurfaceNormalDataPointsFilter::BuildData&, int, int, Eigen::Matrix<float, -1, 1, 0, -1, 1>&&, Eigen::Matrix<float, -1, 1, 0, -1, 1>&&) const () from /home/yuan/icp_localization_ws/devel/.private/libpointmatcher/lib/libpointmatcher.so #11 0x00007ffff594a2ba in SamplingSurfaceNormalDataPointsFilter::buildNew(SamplingSurfaceNormalDataPointsFilter::BuildData&, int, int, Eigen::Matrix<float, -1, 1, 0, -1, 1>&&, Eigen::Matrix<float, -1, 1, 0, -1, 1>&&) const () from /home/yuan/icp_localization_ws/devel/.private/libpointmatcher/lib/libpointmatcher.so #12 0x00007ffff594a2ba in SamplingSurfaceNormalDataPointsFilter::buildNew(SamplingSurfaceNormalDataPointsFilter::BuildData&, int, int, Eigen::Matrix<float, -1, 1, 0, -1, 1>&&, Eigen::Matrix<float, -1, 1, 0, -1, 1>&&) const () from /home/yuan/icp_localization_ws/devel/.private/libpointmatcher/lib/libpointmatcher.so #13 0x00007ffff594a2ba in SamplingSurfaceNormalDataPointsFilter::buildNew(SamplingSurfaceNormalDataPointsFilter::BuildData&, int, int, Eigen::Matrix<float, -1, 1, 0, -1, 1>&&, Eigen::Matrix<float, -1, 1, 0, -1, 1>&&) const () from /home/yuan/icp_localization_ws/devel/.private/libpointmatcher/lib/libpointmatcher.so #14 0x00007ffff594a2ba in SamplingSurfaceNormalDataPointsFilter::buildNew(SamplingSurfaceNormalDataPointsFilter::BuildData&, int, int, Eigen::Matrix<float, -1, 1, 0, -1, 1>&&, Eigen::Matrix<float, -1, 1, 0, -1, 1>&&) const () from /home/yuan/icp_localization_ws/devel/.private/libpointmatcher/lib/libpointmatcher.so #15 0x00007ffff594a2ba in SamplingSurfaceNormalDataPointsFilter::buildNew(SamplingSurfaceNormalDataPointsFilter::BuildData&, int, int, Eigen::Matrix<float, -1, 1, 0, -1, 1>&&, Eigen::Matrix<float, -1, 1, 0, -1, 1>&&) const () from /home/yuan/icp_localization_ws/devel/.private/libpointmatcher/lib/libpointmatcher.so #16 0x00007ffff594a2ba in SamplingSurfaceNormalDataPointsFilter::buildNew(SamplingSurfaceNormalDataPointsFilter::BuildData&, int, int, Eigen::Matrix<float, -1, 1, 0, -1, 1>&&, Eigen::Matrix<float, -1, 1, 0, -1, 1>&&) const () from /home/yuan/icp_localization_ws/devel/.private/libpointmatcher/lib/libpointmatcher.so #17 0x00007ffff594a2ba in SamplingSurfaceNormalDataPointsFilter::buildNew(SamplingSurfaceNormalDataPointsFilter::BuildData&, int, int, Eigen::Matrix<float, -1, 1, 0, -1, 1>&&, Eigen::Matrix<float, -1, 1, 0, -1, 1>&&) const () from /home/yuan/icp_localization_ws/devel/.private/libpointmatcher/lib/libpointmatcher.so #18 0x00007ffff594a2ba in SamplingSurfaceNormalDataPointsFilter::buildNew(SamplingSurfaceNormalDataPointsFilter::BuildData&, int, int, Eigen::Matrix<float, -1, 1, 0, -1, 1>&&, Eigen::Matrix<float, -1, 1, 0, -1, 1>&&) const () from /home/yuan/icp_localization_ws/devel/.private/libpointmatcher/lib/libpointmatcher.so #19 0x00007ffff594a2ba in SamplingSurfaceNormalDataPointsFilter::buildNew(SamplingSurfaceNormalDataPointsFilter::BuildData&, int, int, Eigen::Matrix<float, -1, 1, 0, -1, 1>&&, Eigen::Matrix<float, -1, 1, 0, -1, 1>&&) const () from /home/yuan/icp_localization_ws/devel/.private/libpointmatcher/lib/libpointmatcher.so #20 0x00007ffff594a2ba in SamplingSurfaceNormalDataPointsFilter::buildNew(SamplingSurfaceNormalDataPointsFilter::BuildData&, int, int, Eigen::Matrix<float, -1, 1, 0, -1, 1>&&, Eigen::Matrix<float, -1, 1, 0, -1, 1>&&) const () from /home/yuan/icp_localization_ws/devel/.private/libpointmatcher/lib/libpointmatcher.so #21 0x00007ffff594a2ba in SamplingSurfaceNormalDataPointsFilter::buildNew(SamplingSurfaceNormalDataPointsFilter::BuildData&, int, int, Eigen::Matrix<float, -1, 1, 0, -1, 1>&&, Eigen::Matrix<float, -1, 1, 0, -1, 1>&&) const () from /home/yuan/icp_localization_ws/devel/.private/libpointmatcher/lib/libpointmatcher.so `

MasterY0416 avatar Dec 01 '21 02:12 MasterY0416

Thank you for reporting. Could you send us the dataset, together with your config files and the OS and ROS version info? Then we can try to reproduce the issue.

jelavice avatar Dec 01 '21 08:12 jelavice

Name Version
ros kinetic
ubuntu: 16.04LTS
architecture: 64-bit
gcc: gcc (Ubuntu 7.5.0-3ubuntu1~16.04) 7.5.0
git: git version 2.7.4
cmake: cmake version 3.20.5 CMake suite maintained and supported by Kitware (kitware.com/cmake).
boost: Version: 1.58.0.1ubuntu1
eigen3: Version: 3.3~beta1-2
doxygen: Version: 1.8.11-1ubuntu0.1

MasterY0416 avatar Dec 03 '21 13:12 MasterY0416

Thanks for the info, unfortunately I don't have the access to Ubuntu 16.04 and this package was only tested on 18.04 and 20.04. If you send me the dataset, I can try to reproduce on 20.04.

jelavice avatar Dec 07 '21 15:12 jelavice

You could try to build in docker run -ti ros:kinetic.

tomlankhorst avatar Dec 07 '21 16:12 tomlankhorst

Indeed, I can try to run in docker.

jelavice avatar Dec 09 '21 17:12 jelavice

it seems that pcl 1.10 is not needed, and it resulted in conflicting pcl versions inside pointmatcher ros and icp_localization. My guess is that the file was maybe loaded somehow incorrectly. I removed the dependency from the CMakeLists. Can you try to rebuild and re-run?

If I am not mistaken, this happens when loading the map, right?

jelavice avatar Aug 10 '22 09:08 jelavice