hengli / camodocal

CamOdoCal: Automatic Intrinsic and Extrinsic Calibration of a Rig with Multiple Generic Cameras and Odometry
Other
1.16k stars 389 forks source link

bin/HandEyeCalibration_test Segmentation fault (core dumped) #77

Open Mirmix opened 6 years ago

Mirmix commented 6 years ago

I am trying to run HandEyeCalibration_test , but it keeps failing. My installation runs other test successfully but failing at HandEyeCalibration_test . What can be reason for such behaviour. I tried to debug it . It seems like the problem is about eigen . What can be solution to solve this problem. I tried to reinstall eigen couple times.


~/NWorkspace/camodocal/build$ gdb bin/HandEyeCalibration_test 
GNU gdb (Ubuntu 7.11.1-0ubuntu1~16.5) 7.11.1
Copyright (C) 2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from bin/HandEyeCalibration_test...done.
(gdb) r
Starting program: /home/NWorkspace/camodocal/build/bin/HandEyeCalibration_test 
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[New Thread 0x7fffa6cb3700 (LWP 4592)]
[New Thread 0x7fffa64b2700 (LWP 4593)]
[New Thread 0x7fffa3cb1700 (LWP 4594)]
[New Thread 0x7fff9f4b0700 (LWP 4595)]
[New Thread 0x7fff9ccaf700 (LWP 4596)]
[New Thread 0x7fff9a4ae700 (LWP 4597)]
[New Thread 0x7fff97cad700 (LWP 4598)]
Running main() from gtest_main.cc
[==========] Running 3 tests from 1 test case.
[----------] Global test environment set-up.
[----------] 3 tests from HandEyeCalibration
[ RUN      ] HandEyeCalibration.FullMotion

Thread 1 "HandEyeCalibrat" received signal SIGSEGV, Segmentation fault.
0x00000000005183bc in _mm256_load_pd (__P=0xd29a30) at /usr/lib/gcc/x86_64-linux-gnu/5/include/avxintrin.h:836
836   return *(__m256d *)__P;
(gdb) where
#0  0x00000000005183bc in _mm256_load_pd (__P=0xd29a30) at /usr/lib/gcc/x86_64-linux-gnu/5/include/avxintrin.h:836
#1  Eigen::internal::pload<double __vector(4)>(Eigen::internal::unpacket_traits<double __vector(4)>::type const*) (from=0xd29a30) at /usr/include/eigen3/Eigen/src/Core/arch/AVX/PacketMath.h:207
#2  0x00007ffff75674a3 in Eigen::internal::ploadt<double __vector(4), 32>(Eigen::internal::unpacket_traits<double __vector(4)>::type const*) (from=0xd29a30)
    at /usr/include/eigen3/Eigen/src/Core/GenericPacketMath.h:475
#3  Eigen::internal::evaluator<Eigen::PlainObjectBase<Eigen::Matrix<double, -1, -1, 0, -1, -1> > >::packet<32, double __vector(4)>(long) const (this=0x7fffffffa3a8, index=0)
    at /usr/include/eigen3/Eigen/src/Core/CoreEvaluators.h:189
#4  0x00007ffff7560ebf in Eigen::internal::unary_evaluator<Eigen::CwiseUnaryOp<Eigen::internal::scalar_abs_op<double>, Eigen::Matrix<double, -1, -1, 0, -1, -1> const>, Eigen::internal::IndexBased, double>::packet<32, double __vector(4)>(long) const (this=0x7fffffffa3a0, index=0) at /usr/include/eigen3/Eigen/src/Core/CoreEvaluators.h:412
#5  0x00007ffff755aef6 in Eigen::internal::redux_evaluator<Eigen::CwiseUnaryOp<Eigen::internal::scalar_abs_op<double>, Eigen::Matrix<double, -1, -1, 0, -1, -1> const> >::packet<32, double __vector(4)>(long) const (this=0x7fffffffa3a0, index=0) at /usr/include/eigen3/Eigen/src/Core/Redux.h:375
#6  0x00007ffff7555567 in Eigen::internal::redux_impl<Eigen::internal::scalar_max_op<double>, Eigen::internal::redux_evaluator<Eigen::CwiseUnaryOp<Eigen::internal::scalar_abs_op<double>, Eigen::Matrix<double, -1, -1, 0, -1, -1> const> >, 3, 0>::run (mat=..., func=...) at /usr/include/eigen3/Eigen/src/Core/Redux.h:232
#7  0x00007ffff75501e0 in Eigen::DenseBase<Eigen::CwiseUnaryOp<Eigen::internal::scalar_abs_op<double>, Eigen::Matrix<double, -1, -1, 0, -1, -1> const> >::redux<Eigen::internal::scalar_max_op<double> > (
    this=0x7fffffffa4e0, func=...) at /usr/include/eigen3/Eigen/src/Core/Redux.h:416
#8  0x00007ffff754bbef in Eigen::DenseBase<Eigen::CwiseUnaryOp<Eigen::internal::scalar_abs_op<double>, Eigen::Matrix<double, -1, -1, 0, -1, -1> const> >::maxCoeff (this=0x7fffffffa4e0)
    at /usr/include/eigen3/Eigen/src/Core/Redux.h:436
#9  0x00007ffff75474af in Eigen::JacobiSVD<Eigen::Matrix<double, -1, -1, 0, -1, -1>, 2>::compute (this=0x7fffffffa630, matrix=..., computationOptions=20)
    at /usr/include/eigen3/Eigen/src/SVD/JacobiSVD.h:689
#10 0x00007ffff7544a0c in Eigen::JacobiSVD<Eigen::Matrix<double, -1, -1, 0, -1, -1>, 2>::JacobiSVD (this=0x7fffffffa630, matrix=..., computationOptions=20)
    at /usr/include/eigen3/Eigen/src/SVD/JacobiSVD.h:559
#11 0x00007ffff753fc74 in camodocal::HandEyeCalibration::estimateHandEyeScrewInitial (T=..., planarMotion=false) at /home/NWorkspace/camodocal/src/calib/HandEyeCalibration.cc:176
#12 0x00007ffff753fa4b in camodocal::HandEyeCalibration::estimateHandEyeScrew (rvecs1=std::vector of length 2, capacity 2 = {...}, tvecs1=std::vector of length 2, capacity 2 = {...}, 
    rvecs2=std::vector of length 2, capacity 2 = {...}, tvecs2=std::vector of length 2, capacity 2 = {...}, H_12=..., planarMotion=false)
    at /home/NWorkspace/camodocal/src/calib/HandEyeCalibration.cc:147
#13 0x0000000000515dea in camodocal::HandEyeCalibration_FullMotion_Test::TestBody (this=0xd287f0) at /home/NWorkspace/camodocal/src/calib/HandEyeCalibration_test.cc:68
#14 0x0000000000560be4 in void testing::internal::HandleSehExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) ()
#15 0x000000000055b84b in void testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) ()
#16 0x00000000005407b0 in testing::Test::Run() ()
#17 0x0000000000541058 in testing::TestInfo::Run() ()
#18 0x0000000000541747 in testing::TestCase::Run() ()
#19 0x0000000000548824 in testing::internal::UnitTestImpl::RunAllTests() ()
#20 0x00000000005621bb in bool testing::internal::HandleSehExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) ()
#21 0x000000000055c6f9 in bool testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) ()
#22 0x00000000005472c2 in testing::UnitTest::Run() ()
#23 0x000000000056c187 in RUN_ALL_TESTS() ()
#24 0x000000000056c121 in main ()
(gdb)