interactive_slam icon indicating copy to clipboard operation
interactive_slam copied to clipboard

Segmentation error with auto align FPFH

Open hunkyu opened this issue 4 years ago • 1 comments

I found that using auto align always found segmentation faults, I used gdb and found eigen errors

Thread 3 "interactive_sla" received signal SIGSEGV, Segmentation fault. [Switching to Thread 0x7fffa2a65700 (LWP 13545)] Eigen::internal::dense_assignment_loop<Eigen::internal::generic_dense_assignment_kernel<Eigen::internal::evaluator<Eigen::Matrix<float, -1, -1, 0, -1, -1> >, Eigen::internal::evaluator<Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op, Eigen::Matrix<float, -1, -1, 0, -1, -1> > >, Eigen::internal::assign_op, 0>, 3, 0>::run (kernel=) at /usr/include/eigen3/Eigen/src/Core/AssignEvaluator.h:386 386 kernel.template assignPacket<dstAlignment, srcAlignment, PacketType>(index); (gdb) bt #0 Eigen::internal::dense_assignment_loop<Eigen::internal::generic_dense_assignment_kernel<Eigen::internal::evaluator<Eigen::Matrix<float, -1, -1, 0, -1, -1> >, Eigen::internal::evaluator<Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op, Eigen::Matrix<float, -1, -1, 0, -1, -1> > >, Eigen::internal::assign_op, 0>, 3, 0>::run (kernel=) at /usr/include/eigen3/Eigen/src/Core/AssignEvaluator.h:386 #1 Eigen::internal::call_dense_assignment_loop<Eigen::Matrix<float, -1, -1, 0, -1, -1>, Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op, Eigen::Matrix<float, -1, -1, 0, -1, -1> >, Eigen::internal::assign_op > (func=..., src=..., dst=...) at /usr/include/eigen3/Eigen/src/Core/AssignEvaluator.h:653 #2 Eigen::internal::Assignment<Eigen::Matrix<float, -1, -1, 0, -1, -1>, Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op, Eigen::Matrix<float, -1, -1, 0, -1, -1> >, Eigen::internal::assign_op, Eigen::internal::Dense2Dense, float>::run (func=..., src=..., dst=...) at /usr/include/eigen3/Eigen/src/Core/AssignEvaluator.h:790 #3 Eigen::internal::call_assignment_no_alias<Eigen::Matrix<float, -1, -1, 0, -1, -1>, Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op, Eigen::Matrix<float, -1, -1, 0, -1, -1> >, Eigen::internal::assign_op > (func=..., src=..., dst=...) at /usr/include/eigen3/Eigen/src/Core/AssignEvaluator.h:747 #4 Eigen::internal::call_assignment<Eigen::Matrix<float, -1, -1, 0, -1, -1>, Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op, Eigen::Matrix<float, -1, -1, 0, -1, -1> >, Eigen::internal::assign_op >(Eigen::Matrix<float, -1, -1, 0, -1, -1>&, Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op, Eigen::Matrix<float, -1, -1, 0, -1, -1> > const&, Eigen::internal::assign_op const&, Eigen::internal::enable_if<!Eigen::internal::evaluator_assume_aliasing<Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op, Eigen::Matrix<float, -1, -1, 0, -1, -1> >, Eigen::internal::evaluator_traits<Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op, Eigen::Matrix<float, -1, -1, 0, -1, -1> > >::Shape>::value, void*>::type) (func=..., src=..., dst=...) at /usr/include/eigen3/Eigen/src/Core/AssignEvaluator.h:712 #5 Eigen::internal::call_assignment<Eigen::Matrix<float, -1, -1, 0, -1, -1>, Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op, Eigen::Matrix<float, -1, -1, 0, -1, -1> > > (src=..., dst=...) at /usr/include/eigen3/Eigen/src/Core/AssignEvaluator.h:693 #6 Eigen::PlainObjectBase<Eigen::Matrix<float, -1, -1, 0, -1, -1> >::_set<Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op, Eigen::Matrix<float, -1, -1, 0, -1, -1> > > (other=..., this=0x7fffa2a63a98) at /usr/include/eigen3/Eigen/src/Core/PlainObjectBase.h:682 #7 Eigen::Matrix<float, -1, -1, 0, -1, -1>::operator=<Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op, Eigen::Matrix<float, -1, -1, 0, -1, -1> > > (other=..., this=) at /usr/include/eigen3/Eigen/src/Core/Matrix.h:225 #8 Eigen::DenseBase<Eigen::Matrix<float, -1, -1, 0, -1, -1> >::setConstant (val=, this=0x7fffa2a63a98) at /usr/include/eigen3/Eigen/src/Core/CwiseNullaryOp.h:338 #9 Eigen::PlainObjectBase<Eigen::Matrix<float, -1, -1, 0, -1, -1> >::setZero ( this=this@entry=0x7fffa2a63a98, rows=rows@entry=13173, cols=11) at /usr/include/eigen3/Eigen/src/Core/CwiseNullaryOp.h:541 #10 0x00007fffe8e9066e in pcl::FPFHEstimation<pcl::PointNormal, pcl::PointNormal, pcl::FPFHSignature33>::computeSPFHSignatures (this=this@entry=0x7fffa2a639b8, spfh_hist_lookup=std::vector of length 13173, capacity 13173 = {...}, hist_f1=..., hist_f2=..., hist_f3=...) at /home/hunkyu/3rd/pcl-pcl-1.8.0/features/include/pcl/features/impl/fpfh.hpp:209 #11 0x00007fffe8ebb4b4 in pcl::FPFHEstimation<pcl::PointNormal, pcl::PointNormal, pcl::FPFHSignature33>::computeFeature (this=0x7fffa2a639b8, output=...) at /home/hunkyu/3rd/pcl-pcl-1.8.0/features/include/pcl/features/impl/fpfh.hpp:242 #12 0x00000000003923d9 in pcl::Feature<pcl::PointNormal, pcl::FPFHSignature33>::compute(pcl::PointCloudpcl::FPFHSignature33&) () #13 0x0000000000390443 in std::_Function_handler<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> (), std::__future_base::_Task_setter<std::unique_ptr<std::__future_base::_Result<std::shared_ptr<Eigen::Transform<double, 3, 1, 0> > >, std::__future_base::_Result_base::_Deleter>, std::_Bind_simple<hdl_graph_slam::ManualLoopCloseModal::auto_align()::$_0 ()>, std::shared_ptr<Eigen::Transform<double, 3, 1, 0> > > >::_M_invoke(std::_Any_data const&) () #14 0x0000000000391d77 in std::__future_base::_State_baseV2::_M_do_set(std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>, bool) () #15 0x00007ffff3bf7a99 in __pthread_once_slow (once_control=0x73c9ad8, ---Type to continue, or q to quit---

hunkyu avatar Jan 24 '20 11:01 hunkyu

How did you solve this problem

qq664956261 avatar Dec 02 '21 07:12 qq664956261