cartographer-project / cartographer

Cartographer is a system that provides real-time simultaneous localization and mapping (SLAM) in 2D and 3D across multiple platforms and sensor configurations.
Apache License 2.0
7.03k stars 2.24k forks source link

segment fault #1958

Open kangzheng66 opened 3 months ago

kangzheng66 commented 3 months ago

I got segment fault when I run demo back pack 2d, how can I fix it ?

Thread 1 "cartographer_no" received signal SIGSEGV, Segmentation fault. 0x00005555556a22ce in cartographer::transform::Rigid3 cartographer::transform::operator*(cartographer::transform::Rigid3 const&, cartographer::transform::Rigid3 const&) () (gdb) bt

0 0x00005555556a22ce in cartographer::transform::Rigid3 cartographer::transform::operator*(cartographer::transform::Rigid3 const&, cartographer::transform::Rigid3 const&) ()

1 0x0000555555768dc1 in cartographer::mapping::LocalTrajectoryBuilder2D::AddAccumulatedRangeData (this=0x5555559b03c0, time=..., gravity_aligned_range_data=..., gravity_alignment=...,

sensor_duration=std::optional<std::chrono::duration<long, std::ratio<1, 10000000> >> [no contained value]) at /usr/local/include/eigen3/Eigen/src/Core/DenseBase.h:681

2 0x000055555576a43c in cartographer::mapping::LocalTrajectoryBuilder2D::AddRangeData (this=0x5555559b03c0, sensor_id=..., unsynchronized_data=...)

at /home/kangzheng/work_slam/cartoros1_ws/src/cartographer/cartographer/mapping/internal/2d/local_trajectory_builder_2d.cc:206

3 0x00005555557dfdae in cartographer::mapping::(anonymous namespace)::GlobalTrajectoryBuilder<cartographer::mapping::LocalTrajectoryBuilder2D, cartographer::mapping::PoseGraph2D>::AddSensorData (

this=0x55555599d8b0, sensor_id=..., timed_point_cloud_data=...) at /home/kangzheng/work_slam/cartoros1_ws/src/cartographer/cartographer/mapping/internal/global_trajectory_builder.cc:62

4 0x00005555557c7408 in operator() (closure=, closure=, data=std::unique_ptr = {...}, sensor_id=...)

at /usr/include/c++/11/bits/unique_ptr.h:172

5 std::__invoke_impl<void, cartographer::mapping::CollatedTrajectoryBuilder::CollatedTrajectoryBuilder(const cartographer::mapping::proto::TrajectoryBuilderOptions&, cartographer::sensor::CollatorInterface*, int, const std::set&, std::unique_ptr)::<lambda(const string&, std::unique_ptr)>&, const std::cxx11::basic_string<char, std::char_traits, std::allocator >&, std::unique_ptr<cartographer::sensor::Data, std::default_delete > > (f=...) at /usr/include/c++/11/bits/invoke.h:61

6 std::__invoke_r<void, cartographer::mapping::CollatedTrajectoryBuilder::CollatedTrajectoryBuilder(const cartographer::mapping::proto::TrajectoryBuilderOptions&, cartographer::sensor::CollatorInterface*, int, const std::set&, std::unique_ptr)::<lambda(const string&, std::unique_ptr)>&, const std::cxx11::basic_string<char, std::char_traits, std::allocator >&, std::unique_ptr<cartographer::sensor::Data, std::default_delete > > (fn=...) at /usr/include/c++/11/bits/invoke.h:111

7 std::_Function_handler<void(const std::__cxx11::basic_string<char, std::char_traits, std::allocator >&, std::unique_ptr<cartographer::sensor::Data, std::default_delete >), cartographer::mapping::CollatedTrajectoryBuilder::CollatedTrajectoryBuilder(const cartographer::mapping::proto::TrajectoryBuilderOptions&, cartographer::sensor::CollatorInterface*, int, const std::set&, std::unique_ptr)::<lambda(const string&, std::unique_ptr<cartographer::sensor::Data, std::default_delete >)> >::_M_invoke(const std::_Any_data &, const std::cxx11::basic_string<char, std::char_traits, std::allocator > &, std::unique_ptr<cartographer::sensor::Data, std::default_delete > &&) (functor=..., args#0=..., args#1=...) at /usr/include/c++/11/bits/std_function.h:290

8 0x000055555570bc24 in std::function<void (std::cxx11::basic_string<char, std::char_traits, std::allocator > const&, std::unique_ptr<cartographer::sensor::Data, std::default_delete >)>::operator()(std::cxx11::basic_string<char, std::char_traits, std::allocator > const&, std::unique_ptr<cartographer::sensor::Data, std::default_delete >) const (__args#1=std::unique_ptr = {...}, __args#0=..., this=) at /usr/include/c++/11/bits/std_function.h:590

9 operator() (data=std::unique_ptr = {...}, __closure=) at /home/kangzheng/work_slam/cartoros1_ws/src/cartographer/cartographer/sensor/internal/collator.cc:30

10 std::invoke_impl<void, cartographer::sensor::Collator::AddTrajectory(int, const absl::lts_20211102::flat_hash_set<std::cxx11::basic_string >&, const Callback&)::<lambda(std::unique_ptr)>&, std::unique_ptr<cartographer::sensor::Data, std::default_delete > > (__f=...) at /usr/include/c++/11/bits/invoke.h:61

11 std::invoke_r<void, cartographer::sensor::Collator::AddTrajectory(int, const absl::lts_20211102::flat_hash_set<std::cxx11::basic_string >&, const Callback&)::<lambda(std::unique_ptr)>&, std::unique_ptr<cartographer::sensor::Data, std::default_delete > > (__fn=...) at /usr/include/c++/11/bits/invoke.h:111

12 std::_Function_handler<void(std::unique_ptr<cartographer::sensor::Data, std::default_delete >), cartographer::sensor::Collator::AddTrajectory(int, const absl::lts_20211102::flat_hash_set<std::__cxx11::basic_string >&, const Callback&)::<lambda(std::unique_ptr<cartographer::sensor::Data, std::default_delete >)> >::_M_invoke(const std::_Any_data &, std::unique_ptr<cartographer::sensor::Data, std::default_delete > &&) (functor=..., args#0=...) at /usr/include/c++/11/bits/std_function.h:290

13 0x000055555570e0b9 in std::function<void (std::unique_ptr<cartographer::sensor::Data, std::default_delete >)>::operator()(std::unique_ptr<cartographer::sensor::Data, std::default_delete >) const (__args#0=std::unique_ptr = {...}, this=0x5555559a8408) at /usr/include/c++/11/bits/std_function.h:590

--Type for more, q to quit, c to continue without paging--

14 cartographer::sensor::OrderedMultiQueue::Dispatch (this=0x5555559a3598) at /home/kangzheng/work_slam/cartoros1_ws/src/cartographer/cartographer/sensor/internal/ordered_multi_queue.cc:129

15 0x000055555570bee6 in cartographer::sensor::Collator::AddSensorData (this=0x5555559a3590, trajectory_id=, data=std::unique_ptr = {...})

at /usr/include/c++/11/bits/unique_ptr.h:172

16 0x00005555557c660d in cartographer::mapping::CollatedTrajectoryBuilder::AddData (this=, data=...)

at /home/kangzheng/work_slam/cartoros1_ws/src/cartographer/cartographer/mapping/internal/collated_trajectory_builder.cc:62

17 0x00005555556fd95b in cartographer::mapping::CollatedTrajectoryBuilder::AddSensorData (this=0x55555599d990, sensor_id=..., imu_data=...) at /usr/include/c++/11/bits/move.h:77

18 0x00005555556c0909 in cartographer_ros::SensorBridge::HandleImuMessage(std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&, boost::shared_ptr<sensormsgs::Imu<std::allocator > const> const&) ()

19 0x00005555556894c9 in cartographer_ros::Node::HandleImuMessage(int, std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&, boost::shared_ptr<sensormsgs::Imu<std::allocator > const> const&) ()

20 0x00005555556adb13 in ros::SubscriptionCallbackHelperT<boost::shared_ptr<sensormsgs::Imu<std::allocator > const> const&, void>::call(ros::SubscriptionCallbackHelperCallParams&) ()

21 0x00007ffff74f26ca in ros::SubscriptionQueue::call() () from /home/kangzheng/work/ros1_ws/install_isolated/lib/libroscpp.so

22 0x00007ffff7498a73 in ros::CallbackQueue::callOneCB(ros::CallbackQueue::TLS*) () from /home/kangzheng/work/ros1_ws/install_isolated/lib/libroscpp.so

23 0x00007ffff7499ceb in ros::CallbackQueue::callAvailable(ros::WallDuration) () from /home/kangzheng/work/ros1_ws/install_isolated/lib/libroscpp.so

24 0x00007ffff74f77cf in ros::SingleThreadedSpinner::spin(ros::CallbackQueue*) () from /home/kangzheng/work/ros1_ws/install_isolated/lib/libroscpp.so

25 0x00007ffff74db8ad in ros::spin() () from /home/kangzheng/work/ros1_ws/install_isolated/lib/libroscpp.so

26 0x00005555556819d7 in cartographer_ros::(anonymous namespace)::Run() ()

27 0x000055555567eaa8 in main ()