-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
BLF filters segmentation fault at getOutput
call
#25
Comments
Same for Model path: /home/pramadoss/iit_ws/prashanthr05/kindyn-vio/src/Estimators/tests/data/model.urdf
Matfile path: /home/pramadoss/iit_ws/prashanthr05/kindyn-vio/src/Estimators/tests/data/sync-walk-est.mat
Opening mat file successful.
Loading model successful.
r_sole position in the world: -0.0161299
l_sole position in the world: -0.016674
Configured estimator successful
[2021-07-29 18:59:30.679] [thread: 45668] [blf] [info] [ContactDetector::initialize] Contact detector initialization is successful.
Configured contact detector successful.
[LeggedOdometry::updateKinematics] Initialized LeggedOdometry.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
LeggedOdometryiSAM2UnitTests is a Catch v2.11.3 host application.
Run with -? for options
-------------------------------------------------------------------------------
Legged Odometry + iSAM2 Fixed Lag Smoothing
-------------------------------------------------------------------------------
/home/pramadoss/iit_ws/prashanthr05/kindyn-vio/src/Estimators/tests/LeggedOdometryiSAM2.cpp:109
...............................................................................
/home/pramadoss/iit_ws/prashanthr05/kindyn-vio/src/Estimators/tests/LeggedOdometryiSAM2.cpp:109: FAILED:
{Unknown expression after the reported line}
due to a fatal error condition:
SIGSEGV - Segmentation violation signal
===============================================================================
test cases: 1 | 1 failed
assertions: 7 | 6 passed | 1 failed
Segmentation fault (core dumped)
Valgrind output on debug==45706== Memcheck, a memory error detector
==45706== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al.
==45706== Using Valgrind-3.15.0 and LibVEX; rerun with -h for copyright info
==45706== Command: ./bin/LeggedOdometryiSAM2UnitTests
==45706==
Model path: /home/pramadoss/iit_ws/prashanthr05/kindyn-vio/src/Estimators/tests/data/model.urdf
Matfile path: /home/pramadoss/iit_ws/prashanthr05/kindyn-vio/src/Estimators/tests/data/sync-walk-est.mat
Opening mat file successful.
Loading model successful.
r_sole position in the world: -0.0161299
l_sole position in the world: -0.016674
Configured estimator successful
[2021-07-29 19:00:09.907] [thread: 45706] [blf] [info] [ContactDetector::initialize] Contact detector initialization is successful.
Configured contact detector successful.
[LeggedOdometry::updateKinematics] Initialized LeggedOdometry.
==45706== Conditional jump or move depends on uninitialised value(s)
==45706== at 0x4AAD660: void std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_construct<char*>(char*, char*, std::forward_iterator_tag) (basic_string.tcc:211)
==45706== by 0x121C4F: BipedalLocomotion::Contacts::ContactBase::ContactBase(BipedalLocomotion::Contacts::ContactBase const&) (Contact.h:41)
==45706== by 0x121CBA: BipedalLocomotion::Contacts::EstimatedContact::EstimatedContact(BipedalLocomotion::Contacts::EstimatedContact const&) (Contact.h:91)
==45706== by 0x127910: std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact>::pair(std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> const&) (stl_pair.h:303)
==45706== by 0x12795E: void __gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> > >::construct<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact>, std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> const&>(std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact>*, std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> const&) (new_allocator.h:147)
==45706== by 0x127460: void std::allocator_traits<std::allocator<std::_Rb_tree_node<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> > > >::construct<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact>, std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> const&>(std::allocator<std::_Rb_tree_node<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> > >&, std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact>*, std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> const&) (alloc_traits.h:484)
==45706== by 0x126C55: void std::_Rb_tree<int, std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact>, std::_Select1st<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> >, std::less<int>, std::allocator<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> > >::_M_construct_node<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> const&>(std::_Rb_tree_node<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> >*, std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> const&) (stl_tree.h:614)
==45706== by 0x125D1B: std::_Rb_tree_node<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> >* std::_Rb_tree<int, std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact>, std::_Select1st<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> >, std::less<int>, std::allocator<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> > >::_M_create_node<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> const&>(std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> const&) (stl_tree.h:631)
==45706== by 0x124DDA: std::_Rb_tree_node<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> >* std::_Rb_tree<int, std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact>, std::_Select1st<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> >, std::less<int>, std::allocator<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> > >::_Alloc_node::operator()<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> const&>(std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> const&) const (stl_tree.h:548)
==45706== by 0x123869: std::_Rb_tree_node<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> >* std::_Rb_tree<int, std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact>, std::_Select1st<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> >, std::less<int>, std::allocator<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> > >::_M_clone_node<std::_Rb_tree<int, std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact>, std::_Select1st<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> >, std::less<int>, std::allocator<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> > >::_Alloc_node>(std::_Rb_tree_node<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> > const*, std::_Rb_tree<int, std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact>, std::_Select1st<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> >, std::less<int>, std::allocator<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> > >::_Alloc_node&) (stl_tree.h:658)
==45706== by 0x122239: std::_Rb_tree_node<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> >* std::_Rb_tree<int, std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact>, std::_Select1st<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> >, std::less<int>, std::allocator<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> > >::_M_copy<std::_Rb_tree<int, std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact>, std::_Select1st<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> >, std::less<int>, std::allocator<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> > >::_Alloc_node>(std::_Rb_tree_node<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> > const*, std::_Rb_tree_node_base*, std::_Rb_tree<int, std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact>, std::_Select1st<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> >, std::less<int>, std::allocator<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> > >::_Alloc_node&) (stl_tree.h:1875)
==45706== by 0x1200B6: std::_Rb_tree_node<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> >* std::_Rb_tree<int, std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact>, std::_Select1st<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> >, std::less<int>, std::allocator<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> > >::_M_copy<std::_Rb_tree<int, std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact>, std::_Select1st<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> >, std::less<int>, std::allocator<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> > >::_Alloc_node>(std::_Rb_tree<int, std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact>, std::_Select1st<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> >, std::less<int>, std::allocator<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> > > const&, std::_Rb_tree<int, std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact>, std::_Select1st<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> >, std::less<int>, std::allocator<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> > >::_Alloc_node&) (stl_tree.h:901)
==45706==
==45706== Conditional jump or move depends on uninitialised value(s)
==45706== at 0x4AAD66A: void std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_construct<char*>(char*, char*, std::forward_iterator_tag) (basic_string.tcc:211)
==45706== by 0x121C4F: BipedalLocomotion::Contacts::ContactBase::ContactBase(BipedalLocomotion::Contacts::ContactBase const&) (Contact.h:41)
==45706== by 0x121CBA: BipedalLocomotion::Contacts::EstimatedContact::EstimatedContact(BipedalLocomotion::Contacts::EstimatedContact const&) (Contact.h:91)
==45706== by 0x127910: std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact>::pair(std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> const&) (stl_pair.h:303)
==45706== by 0x12795E: void __gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> > >::construct<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact>, std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> const&>(std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact>*, std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> const&) (new_allocator.h:147)
==45706== by 0x127460: void std::allocator_traits<std::allocator<std::_Rb_tree_node<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> > > >::construct<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact>, std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> const&>(std::allocator<std::_Rb_tree_node<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> > >&, std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact>*, std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> const&) (alloc_traits.h:484)
==45706== by 0x126C55: void std::_Rb_tree<int, std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact>, std::_Select1st<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> >, std::less<int>, std::allocator<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> > >::_M_construct_node<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> const&>(std::_Rb_tree_node<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> >*, std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> const&) (stl_tree.h:614)
==45706== by 0x125D1B: std::_Rb_tree_node<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> >* std::_Rb_tree<int, std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact>, std::_Select1st<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> >, std::less<int>, std::allocator<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> > >::_M_create_node<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> const&>(std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> const&) (stl_tree.h:631)
==45706== by 0x124DDA: std::_Rb_tree_node<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> >* std::_Rb_tree<int, std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact>, std::_Select1st<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> >, std::less<int>, std::allocator<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> > >::_Alloc_node::operator()<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> const&>(std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> const&) const (stl_tree.h:548)
==45706== by 0x123869: std::_Rb_tree_node<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> >* std::_Rb_tree<int, std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact>, std::_Select1st<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> >, std::less<int>, std::allocator<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> > >::_M_clone_node<std::_Rb_tree<int, std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact>, std::_Select1st<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> >, std::less<int>, std::allocator<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> > >::_Alloc_node>(std::_Rb_tree_node<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> > const*, std::_Rb_tree<int, std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact>, std::_Select1st<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> >, std::less<int>, std::allocator<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> > >::_Alloc_node&) (stl_tree.h:658)
==45706== by 0x122239: std::_Rb_tree_node<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> >* std::_Rb_tree<int, std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact>, std::_Select1st<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> >, std::less<int>, std::allocator<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> > >::_M_copy<std::_Rb_tree<int, std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact>, std::_Select1st<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> >, std::less<int>, std::allocator<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> > >::_Alloc_node>(std::_Rb_tree_node<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> > const*, std::_Rb_tree_node_base*, std::_Rb_tree<int, std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact>, std::_Select1st<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> >, std::less<int>, std::allocator<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> > >::_Alloc_node&) (stl_tree.h:1875)
==45706== by 0x1200B6: std::_Rb_tree_node<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> >* std::_Rb_tree<int, std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact>, std::_Select1st<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> >, std::less<int>, std::allocator<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> > >::_M_copy<std::_Rb_tree<int, std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact>, std::_Select1st<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> >, std::less<int>, std::allocator<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> > >::_Alloc_node>(std::_Rb_tree<int, std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact>, std::_Select1st<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> >, std::less<int>, std::allocator<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> > > const&, std::_Rb_tree<int, std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact>, std::_Select1st<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> >, std::less<int>, std::allocator<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> > >::_Alloc_node&) (stl_tree.h:901)
==45706==
==45706== Conditional jump or move depends on uninitialised value(s)
==45706== at 0x4AAD6A7: void std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_construct<char*>(char*, char*, std::forward_iterator_tag) (basic_string.tcc:217)
==45706== by 0x121C4F: BipedalLocomotion::Contacts::ContactBase::ContactBase(BipedalLocomotion::Contacts::ContactBase const&) (Contact.h:41)
==45706== by 0x121CBA: BipedalLocomotion::Contacts::EstimatedContact::EstimatedContact(BipedalLocomotion::Contacts::EstimatedContact const&) (Contact.h:91)
==45706== by 0x127910: std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact>::pair(std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> const&) (stl_pair.h:303)
==45706== by 0x12795E: void __gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> > >::construct<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact>, std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> const&>(std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact>*, std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> const&) (new_allocator.h:147)
==45706== by 0x127460: void std::allocator_traits<std::allocator<std::_Rb_tree_node<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> > > >::construct<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact>, std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> const&>(std::allocator<std::_Rb_tree_node<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> > >&, std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact>*, std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> const&) (alloc_traits.h:484)
==45706== by 0x126C55: void std::_Rb_tree<int, std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact>, std::_Select1st<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> >, std::less<int>, std::allocator<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> > >::_M_construct_node<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> const&>(std::_Rb_tree_node<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> >*, std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> const&) (stl_tree.h:614)
==45706== by 0x125D1B: std::_Rb_tree_node<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> >* std::_Rb_tree<int, std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact>, std::_Select1st<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> >, std::less<int>, std::allocator<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> > >::_M_create_node<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> const&>(std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> const&) (stl_tree.h:631)
==45706== by 0x124DDA: std::_Rb_tree_node<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> >* std::_Rb_tree<int, std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact>, std::_Select1st<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> >, std::less<int>, std::allocator<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> > >::_Alloc_node::operator()<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> const&>(std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> const&) const (stl_tree.h:548)
==45706== by 0x123869: std::_Rb_tree_node<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> >* std::_Rb_tree<int, std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact>, std::_Select1st<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> >, std::less<int>, std::allocator<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> > >::_M_clone_node<std::_Rb_tree<int, std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact>, std::_Select1st<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> >, std::less<int>, std::allocator<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> > >::_Alloc_node>(std::_Rb_tree_node<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> > const*, std::_Rb_tree<int, std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact>, std::_Select1st<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> >, std::less<int>, std::allocator<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> > >::_Alloc_node&) (stl_tree.h:658)
==45706== by 0x122239: std::_Rb_tree_node<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> >* std::_Rb_tree<int, std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact>, std::_Select1st<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> >, std::less<int>, std::allocator<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> > >::_M_copy<std::_Rb_tree<int, std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact>, std::_Select1st<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> >, std::less<int>, std::allocator<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> > >::_Alloc_node>(std::_Rb_tree_node<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> > const*, std::_Rb_tree_node_base*, std::_Rb_tree<int, std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact>, std::_Select1st<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> >, std::less<int>, std::allocator<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> > >::_Alloc_node&) (stl_tree.h:1875)
==45706== by 0x1200B6: std::_Rb_tree_node<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> >* std::_Rb_tree<int, std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact>, std::_Select1st<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> >, std::less<int>, std::allocator<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> > >::_M_copy<std::_Rb_tree<int, std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact>, std::_Select1st<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> >, std::less<int>, std::allocator<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> > >::_Alloc_node>(std::_Rb_tree<int, std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact>, std::_Select1st<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> >, std::less<int>, std::allocator<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> > > const&, std::_Rb_tree<int, std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact>, std::_Select1st<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> >, std::less<int>, std::allocator<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> > >::_Alloc_node&) (stl_tree.h:901)
==45706==
==45706== Conditional jump or move depends on uninitialised value(s)
==45706== at 0x4F8816B: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_S_copy_chars(char*, char*, char*) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.28)
==45706== by 0x4AAD707: void std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_construct<char*>(char*, char*, std::forward_iterator_tag) (basic_string.tcc:225)
==45706== by 0x121C4F: BipedalLocomotion::Contacts::ContactBase::ContactBase(BipedalLocomotion::Contacts::ContactBase const&) (Contact.h:41)
==45706== by 0x121CBA: BipedalLocomotion::Contacts::EstimatedContact::EstimatedContact(BipedalLocomotion::Contacts::EstimatedContact const&) (Contact.h:91)
==45706== by 0x127910: std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact>::pair(std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> const&) (stl_pair.h:303)
==45706== by 0x12795E: void __gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> > >::construct<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact>, std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> const&>(std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact>*, std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> const&) (new_allocator.h:147)
==45706== by 0x127460: void std::allocator_traits<std::allocator<std::_Rb_tree_node<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> > > >::construct<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact>, std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> const&>(std::allocator<std::_Rb_tree_node<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> > >&, std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact>*, std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> const&) (alloc_traits.h:484)
==45706== by 0x126C55: void std::_Rb_tree<int, std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact>, std::_Select1st<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> >, std::less<int>, std::allocator<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> > >::_M_construct_node<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> const&>(std::_Rb_tree_node<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> >*, std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> const&) (stl_tree.h:614)
==45706== by 0x125D1B: std::_Rb_tree_node<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> >* std::_Rb_tree<int, std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact>, std::_Select1st<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> >, std::less<int>, std::allocator<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> > >::_M_create_node<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> const&>(std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> const&) (stl_tree.h:631)
==45706== by 0x124DDA: std::_Rb_tree_node<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> >* std::_Rb_tree<int, std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact>, std::_Select1st<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> >, std::less<int>, std::allocator<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> > >::_Alloc_node::operator()<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> const&>(std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> const&) const (stl_tree.h:548)
==45706== by 0x123869: std::_Rb_tree_node<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> >* std::_Rb_tree<int, std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact>, std::_Select1st<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> >, std::less<int>, std::allocator<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> > >::_M_clone_node<std::_Rb_tree<int, std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact>, std::_Select1st<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> >, std::less<int>, std::allocator<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> > >::_Alloc_node>(std::_Rb_tree_node<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> > const*, std::_Rb_tree<int, std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact>, std::_Select1st<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> >, std::less<int>, std::allocator<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> > >::_Alloc_node&) (stl_tree.h:658)
==45706== by 0x122239: std::_Rb_tree_node<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> >* std::_Rb_tree<int, std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact>, std::_Select1st<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> >, std::less<int>, std::allocator<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> > >::_M_copy<std::_Rb_tree<int, std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact>, std::_Select1st<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> >, std::less<int>, std::allocator<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> > >::_Alloc_node>(std::_Rb_tree_node<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> > const*, std::_Rb_tree_node_base*, std::_Rb_tree<int, std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact>, std::_Select1st<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> >, std::less<int>, std::allocator<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> > >::_Alloc_node&) (stl_tree.h:1875)
==45706==
==45706== Conditional jump or move depends on uninitialised value(s)
==45706== at 0x4F88170: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_S_copy_chars(char*, char*, char*) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.28)
==45706== by 0x4AAD707: void std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_construct<char*>(char*, char*, std::forward_iterator_tag) (basic_string.tcc:225)
==45706== by 0x121C4F: BipedalLocomotion::Contacts::ContactBase::ContactBase(BipedalLocomotion::Contacts::ContactBase const&) (Contact.h:41)
==45706== by 0x121CBA: BipedalLocomotion::Contacts::EstimatedContact::EstimatedContact(BipedalLocomotion::Contacts::EstimatedContact const&) (Contact.h:91)
==45706== by 0x127910: std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact>::pair(std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> const&) (stl_pair.h:303)
==45706== by 0x12795E: void __gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> > >::construct<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact>, std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> const&>(std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact>*, std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> const&) (new_allocator.h:147)
==45706== by 0x127460: void std::allocator_traits<std::allocator<std::_Rb_tree_node<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> > > >::construct<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact>, std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> const&>(std::allocator<std::_Rb_tree_node<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> > >&, std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact>*, std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> const&) (alloc_traits.h:484)
==45706== by 0x126C55: void std::_Rb_tree<int, std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact>, std::_Select1st<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> >, std::less<int>, std::allocator<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> > >::_M_construct_node<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> const&>(std::_Rb_tree_node<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> >*, std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> const&) (stl_tree.h:614)
==45706== by 0x125D1B: std::_Rb_tree_node<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> >* std::_Rb_tree<int, std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact>, std::_Select1st<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> >, std::less<int>, std::allocator<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> > >::_M_create_node<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> const&>(std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> const&) (stl_tree.h:631)
==45706== by 0x124DDA: std::_Rb_tree_node<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> >* std::_Rb_tree<int, std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact>, std::_Select1st<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> >, std::less<int>, std::allocator<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> > >::_Alloc_node::operator()<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> const&>(std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> const&) const (stl_tree.h:548)
==45706== by 0x123869: std::_Rb_tree_node<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> >* std::_Rb_tree<int, std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact>, std::_Select1st<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> >, std::less<int>, std::allocator<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> > >::_M_clone_node<std::_Rb_tree<int, std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact>, std::_Select1st<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> >, std::less<int>, std::allocator<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> > >::_Alloc_node>(std::_Rb_tree_node<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> > const*, std::_Rb_tree<int, std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact>, std::_Select1st<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> >, std::less<int>, std::allocator<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> > >::_Alloc_node&) (stl_tree.h:658)
==45706== by 0x122239: std::_Rb_tree_node<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> >* std::_Rb_tree<int, std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact>, std::_Select1st<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> >, std::less<int>, std::allocator<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> > >::_M_copy<std::_Rb_tree<int, std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact>, std::_Select1st<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> >, std::less<int>, std::allocator<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> > >::_Alloc_node>(std::_Rb_tree_node<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> > const*, std::_Rb_tree_node_base*, std::_Rb_tree<int, std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact>, std::_Select1st<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> >, std::less<int>, std::allocator<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> > >::_Alloc_node&) (stl_tree.h:1875)
==45706==
==45706== Use of uninitialised value of size 8
==45706== at 0x4F87E6B: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_set_length(unsigned long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.28)
==45706== by 0x4AAD71A: void std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_construct<char*>(char*, char*, std::forward_iterator_tag) (basic_string.tcc:232)
==45706== by 0x121C4F: BipedalLocomotion::Contacts::ContactBase::ContactBase(BipedalLocomotion::Contacts::ContactBase const&) (Contact.h:41)
==45706== by 0x121CBA: BipedalLocomotion::Contacts::EstimatedContact::EstimatedContact(BipedalLocomotion::Contacts::EstimatedContact const&) (Contact.h:91)
==45706== by 0x127910: std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact>::pair(std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> const&) (stl_pair.h:303)
==45706== by 0x12795E: void __gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> > >::construct<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact>, std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> const&>(std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact>*, std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> const&) (new_allocator.h:147)
==45706== by 0x127460: void std::allocator_traits<std::allocator<std::_Rb_tree_node<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> > > >::construct<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact>, std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> const&>(std::allocator<std::_Rb_tree_node<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> > >&, std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact>*, std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> const&) (alloc_traits.h:484)
==45706== by 0x126C55: void std::_Rb_tree<int, std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact>, std::_Select1st<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> >, std::less<int>, std::allocator<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> > >::_M_construct_node<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> const&>(std::_Rb_tree_node<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> >*, std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> const&) (stl_tree.h:614)
==45706== by 0x125D1B: std::_Rb_tree_node<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> >* std::_Rb_tree<int, std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact>, std::_Select1st<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> >, std::less<int>, std::allocator<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> > >::_M_create_node<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> const&>(std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> const&) (stl_tree.h:631)
==45706== by 0x124DDA: std::_Rb_tree_node<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> >* std::_Rb_tree<int, std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact>, std::_Select1st<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> >, std::less<int>, std::allocator<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> > >::_Alloc_node::operator()<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> const&>(std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> const&) const (stl_tree.h:548)
==45706== by 0x123869: std::_Rb_tree_node<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> >* std::_Rb_tree<int, std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact>, std::_Select1st<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> >, std::less<int>, std::allocator<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> > >::_M_clone_node<std::_Rb_tree<int, std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact>, std::_Select1st<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> >, std::less<int>, std::allocator<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> > >::_Alloc_node>(std::_Rb_tree_node<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> > const*, std::_Rb_tree<int, std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact>, std::_Select1st<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> >, std::less<int>, std::allocator<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> > >::_Alloc_node&) (stl_tree.h:658)
==45706== by 0x122239: std::_Rb_tree_node<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> >* std::_Rb_tree<int, std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact>, std::_Select1st<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> >, std::less<int>, std::allocator<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> > >::_M_copy<std::_Rb_tree<int, std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact>, std::_Select1st<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> >, std::less<int>, std::allocator<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> > >::_Alloc_node>(std::_Rb_tree_node<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> > const*, std::_Rb_tree_node_base*, std::_Rb_tree<int, std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact>, std::_Select1st<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> >, std::less<int>, std::allocator<std::pair<int const, BipedalLocomotion::Contacts::EstimatedContact> > >::_Alloc_node&) (stl_tree.h:1875)
==45706==
==45706== Stack overflow in thread #1: can't grow stack to 0x1ffe801000
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
LeggedOdometryiSAM2UnitTests is a Catch v2.11.3 host application.
Run with -? for options
-------------------------------------------------------------------------------
Legged Odometry + iSAM2 Fixed Lag Smoothing
-------------------------------------------------------------------------------
/home/pramadoss/iit_ws/prashanthr05/kindyn-vio/src/Estimators/tests/LeggedOdometryiSAM2.cpp:109
...............................................................................
/home/pramadoss/iit_ws/prashanthr05/kindyn-vio/src/Estimators/tests/LeggedOdometryiSAM2.cpp:109: FAILED:
{Unknown expression after the reported line}
due to a fatal error condition:
SIGSEGV - Segmentation violation signal
===============================================================================
test cases: 1 | 1 failed
assertions: 7 | 6 passed | 1 failed
==45706==
==45706== Process terminating with default action of signal 11 (SIGSEGV)
==45706== at 0x5088169: raise (raise.c:46)
==45706== by 0x4A40A5B: Catch::FatalConditionHandler::handleSignal(int) (catch.hpp:10784)
==45706== by 0x508820F: ??? (in /usr/lib/x86_64-linux-gnu/libc-2.31.so)
==45706== by 0x11F721: Eigen::DenseBase<Eigen::Matrix<double, 7, 1, 0, 7, 1> >::DenseBase() (DenseBase.h:592)
==45706==
==45706== HEAP SUMMARY:
==45706== in use at exit: 19,084,551 bytes in 110,209 blocks
==45706== total heap usage: 165,935 allocs, 55,726 frees, 29,582,182 bytes allocated
==45706==
==45706== LEAK SUMMARY:
==45706== definitely lost: 0 bytes in 0 blocks
==45706== indirectly lost: 0 bytes in 0 blocks
==45706== possibly lost: 773,952 bytes in 20 blocks
==45706== still reachable: 18,310,599 bytes in 110,189 blocks
==45706== suppressed: 0 bytes in 0 blocks
==45706== Rerun with --leak-check=full to see details of leaked memory
==45706==
==45706== Use --track-origins=yes to see where uninitialised values come from
==45706== For lists of detected and suppressed errors, rerun with: -s
==45706== ERROR SUMMARY: 627492 errors from 6 contexts (suppressed: 0 from 0)
Segmentation fault (core dumped)
|
I would suggest you to run the test with gdb |
GDB output for InvariantEKFBaseEstimatorgdb ./bin/EKFOdometryiSAM2UnitTests
GNU gdb (Ubuntu 9.2-0ubuntu1~20.04) 9.2
Copyright (C) 2020 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/EKFOdometryiSAM2UnitTests...
(gdb) run
Starting program: /home/pramadoss/iit_ws/prashanthr05/kindyn-vio/build/bin/EKFOdometryiSAM2UnitTests
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Model path: /home/pramadoss/iit_ws/prashanthr05/kindyn-vio/src/Estimators/tests/data/model.urdf
Matfile path: /home/pramadoss/iit_ws/prashanthr05/kindyn-vio/src/Estimators/tests/data/sync-walk-est.mat
Opening mat file successful.
Loading model successful.
r_sole position in the world: -0.0161299
l_sole position in the world: -0.016674
Configured estimator successful
[2021-07-30 09:00:21.895] [thread: 6816] [blf] [info] [ContactDetector::initialize] Contact detector initialization is successful.
Configured contact detector successful.
double free or corruption (out)
Program received signal SIGABRT, Aborted.
__GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
50 ../sysdeps/unix/sysv/linux/raise.c: No such file or directory.
(gdb) where
#0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
#1 0x00007ffff7602859 in __GI_abort () at abort.c:79
#2 0x00007ffff766d3ee in __libc_message (action=action@entry=do_abort, fmt=fmt@entry=0x7ffff7797285 "%s\n") at ../sysdeps/posix/libc_fatal.c:155
#3 0x00007ffff767547c in malloc_printerr (str=str@entry=0x7ffff7799670 "double free or corruption (out)") at malloc.c:5347
#4 0x00007ffff7677120 in _int_free (av=0x7ffff77c8b80 <main_arena>, p=0x5555556a61d0, have_lock=<optimized out>) at malloc.c:4314
#5 0x00007ffff7c4a199 in BipedalLocomotion::Estimators::InvariantEKFBaseEstimator::Impl::calcLc(BipedalLocomotion::Estimators::FloatingBaseEstimators::InternalState const&, BipedalLocomotion::Estimators::InvariantEKFBaseEstimator::Impl::SkewSymContainter const&, bool const&, Eigen::Matrix<double, -1, -1, 0, -1, -1>&) ()
from /home/pramadoss/iit_ws/dic-iit/bipedal-locomotion-framework/install/lib/libBipedalLocomotionFrameworkFloatingBaseEstimators.so.0.2.0
#6 0x00007ffff7c4efe2 in BipedalLocomotion::Estimators::InvariantEKFBaseEstimator::predictState(BipedalLocomotion::Estimators::FloatingBaseEstimators::Measurements const&, double const&) ()
from /home/pramadoss/iit_ws/dic-iit/bipedal-locomotion-framework/install/lib/libBipedalLocomotionFrameworkFloatingBaseEstimators.so.0.2.0
#7 0x00007ffff7c2385b in BipedalLocomotion::Estimators::FloatingBaseEstimator::advance() ()
from /home/pramadoss/iit_ws/dic-iit/bipedal-locomotion-framework/install/lib/libBipedalLocomotionFrameworkFloatingBaseEstimators.so.0.2.0
#8 0x0000555555563f3b in ____C_A_T_C_H____T_E_S_T____0 () at /home/pramadoss/iit_ws/prashanthr05/kindyn-vio/src/Estimators/tests/EKFOdometryiSAM2.cpp:335
#9 0x00007ffff7e816ee in Catch::TestInvokerAsFunction::invoke (this=0x55555559eee0) at /usr/local/include/catch2/catch.hpp:14065
#10 0x00007ffff7e80ce1 in Catch::TestCase::invoke (this=0x5555555a62c0) at /usr/local/include/catch2/catch.hpp:13958
#11 0x00007ffff7e7af90 in Catch::RunContext::invokeActiveTestCase (this=0x7fffffffc390) at /usr/local/include/catch2/catch.hpp:12819
#12 0x00007ffff7e7acc3 in Catch::RunContext::runCurrentTest (this=0x7fffffffc390, redirectedCout="", redirectedCerr="") at /usr/local/include/catch2/catch.hpp:12792
#13 0x00007ffff7e796e9 in Catch::RunContext::runTest (this=0x7fffffffc390, testCase=...) at /usr/local/include/catch2/catch.hpp:12553
#14 0x00007ffff7e7c94a in Catch::(anonymous namespace)::TestGroup::execute (this=0x7fffffffc380) at /usr/local/include/catch2/catch.hpp:13147
#15 0x00007ffff7e7dd8b in Catch::Session::runInternal (this=0x7fffffffc670) at /usr/local/include/catch2/catch.hpp:13353
#16 0x00007ffff7e7da81 in Catch::Session::run (this=0x7fffffffc670) at /usr/local/include/catch2/catch.hpp:13309
#17 0x00007ffff7ebc62b in Catch::Session::run<char> (this=0x7fffffffc670, argc=1, argv=0x7fffffffc908) at /usr/local/include/catch2/catch.hpp:13031
#18 0x00007ffff7e93e56 in main (argc=1, argv=0x7fffffffc908) at /usr/local/include/catch2/catch.hpp:17185
#19 0x00007ffff76040b3 in __libc_start_main (main=0x7ffff7e93dfd <main(int, char**)>, argc=1, argv=0x7fffffffc908, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>,
stack_end=0x7fffffffc8f8) at ../csu/libc-start.c:308
#20 0x000055555555cdce in _start ()
GDB output for LeggedOdometrygdb ./bin/LeggedOdometryiSAM2UnitTests
GNU gdb (Ubuntu 9.2-0ubuntu1~20.04) 9.2
Copyright (C) 2020 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/LeggedOdometryiSAM2UnitTests...
(gdb) run
Starting program: /home/pramadoss/iit_ws/prashanthr05/kindyn-vio/build/bin/LeggedOdometryiSAM2UnitTests
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Model path: /home/pramadoss/iit_ws/prashanthr05/kindyn-vio/src/Estimators/tests/data/model.urdf
Matfile path: /home/pramadoss/iit_ws/prashanthr05/kindyn-vio/src/Estimators/tests/data/sync-walk-est.mat
Opening mat file successful.
Loading model successful.
r_sole position in the world: -0.0161299
l_sole position in the world: -0.016674
Configured estimator successful
[2021-07-30 09:03:53.887] [thread: 7073] [blf] [info] [ContactDetector::initialize] Contact detector initialization is successful.
Configured contact detector successful.
[LeggedOdometry::updateKinematics] Initialized LeggedOdometry.
Iter: 0
============
double free or corruption (out)
Program received signal SIGABRT, Aborted.
__GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
50 ../sysdeps/unix/sysv/linux/raise.c: No such file or directory.
(gdb) where
#0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
#1 0x00007ffff7602859 in __GI_abort () at abort.c:79
#2 0x00007ffff766d3ee in __libc_message (action=action@entry=do_abort, fmt=fmt@entry=0x7ffff7797285 "%s\n") at ../sysdeps/posix/libc_fatal.c:155
#3 0x00007ffff767547c in malloc_printerr (str=str@entry=0x7ffff7799670 "double free or corruption (out)") at malloc.c:5347
#4 0x00007ffff7677120 in _int_free (av=0x7ffff77c8b80 <main_arena>, p=0x5555556b90d0, have_lock=<optimized out>) at malloc.c:4314
#5 0x00007ffff7c6e360 in void Eigen::internal::call_dense_assignment_loop<Eigen::Matrix<double, -1, -1, 0, -1, -1>, Eigen::CwiseBinaryOp<Eigen::internal::scalar_sum_op<double, double>, Eigen::Product<Eigen::Product<Eigen::Transpose<Eigen::Matrix<double, -1, -1, 0, -1, -1> >, Eigen::Matrix<double, -1, -1, 0, -1, -1>, 0>, Eigen::Matrix<double, -1, -1, 0, -1, -1>, 0> const, Eigen::Matrix<double, -1, -1, 0, -1, -1> const>, Eigen::internal::assign_op<double, double> >(Eigen::Matrix<double, -1, -1, 0, -1, -1>&, Eigen::CwiseBinaryOp<Eigen::internal::scalar_sum_op<double, double>, Eigen::Product<Eigen::Product<Eigen::Transpose<Eigen::Matrix<double, -1, -1, 0, -1, -1> >, Eigen::Matrix<double, -1, -1, 0, -1, -1>, 0>, Eigen::Matrix<double, -1, -1, 0, -1, -1>, 0> const, Eigen::Matrix<double, -1, -1, 0, -1, -1> const> const&, Eigen::internal::assign_op<double, double> const&) ()
from /home/pramadoss/iit_ws/dic-iit/bipedal-locomotion-framework/install/lib/libBipedalLocomotionFrameworkFloatingBaseEstimators.so.0.2.0
#6 0x00007ffff7c68470 in BipedalLocomotion::Estimators::LeggedOdometry::Impl::computeBaseVelocityUsingAllFixedFrames(BipedalLocomotion::Estimators::FloatingBaseEstimators::InternalState const&, BipedalLocomotion::Estimators::FloatingBaseEstimators::Measurements&, BipedalLocomotion::Estimators::FloatingBaseEstimator::ModelComputations&, BipedalLocomotion::Estimators::FloatingBaseEstimators::Output&) ()
from /home/pramadoss/iit_ws/dic-iit/bipedal-locomotion-framework/install/lib/libBipedalLocomotionFrameworkFloatingBaseEstimators.so.0.2.0
#7 0x00007ffff7c69688 in BipedalLocomotion::Estimators::LeggedOdometry::Impl::updateInternalState(BipedalLocomotion::Estimators::FloatingBaseEstimators::Measurements&, BipedalLocomotion::Estimators::FloatingBaseEstimator::ModelComputations&, BipedalLocomotion::Estimators::FloatingBaseEstimators::InternalState&, BipedalLocomotion::Estimators::FloatingBaseEstimators::Output&) ()
from /home/pramadoss/iit_ws/dic-iit/bipedal-locomotion-framework/install/lib/libBipedalLocomotionFrameworkFloatingBaseEstimators.so.0.2.0
#8 0x00007ffff7c69f38 in BipedalLocomotion::Estimators::LeggedOdometry::updateKinematics(BipedalLocomotion::Estimators::FloatingBaseEstimators::Measurements&, double const&) ()
from /home/pramadoss/iit_ws/dic-iit/bipedal-locomotion-framework/install/lib/libBipedalLocomotionFrameworkFloatingBaseEstimators.so.0.2.0
#9 0x00007ffff7c23973 in BipedalLocomotion::Estimators::FloatingBaseEstimator::advance() ()
from /home/pramadoss/iit_ws/dic-iit/bipedal-locomotion-framework/install/lib/libBipedalLocomotionFrameworkFloatingBaseEstimators.so.0.2.0
#10 0x00005555555611c6 in ____C_A_T_C_H____T_E_S_T____0 () at /home/pramadoss/iit_ws/prashanthr05/kindyn-vio/src/Estimators/tests/LeggedOdometryiSAM2.cpp:282
#11 0x00007ffff7e816ee in Catch::TestInvokerAsFunction::invoke (this=0x555555597ee0) at /usr/local/include/catch2/catch.hpp:14065
#12 0x00007ffff7e80ce1 in Catch::TestCase::invoke (this=0x55555559f2b0) at /usr/local/include/catch2/catch.hpp:13958
#13 0x00007ffff7e7af90 in Catch::RunContext::invokeActiveTestCase (this=0x7fffffffc390) at /usr/local/include/catch2/catch.hpp:12819
#14 0x00007ffff7e7acc3 in Catch::RunContext::runCurrentTest (this=0x7fffffffc390, redirectedCout="", redirectedCerr="") at /usr/local/include/catch2/catch.hpp:12792
#15 0x00007ffff7e796e9 in Catch::RunContext::runTest (this=0x7fffffffc390, testCase=...) at /usr/local/include/catch2/catch.hpp:12553
#16 0x00007ffff7e7c94a in Catch::(anonymous namespace)::TestGroup::execute (this=0x7fffffffc380) at /usr/local/include/catch2/catch.hpp:13147
#17 0x00007ffff7e7dd8b in Catch::Session::runInternal (this=0x7fffffffc670) at /usr/local/include/catch2/catch.hpp:13353
#18 0x00007ffff7e7da81 in Catch::Session::run (this=0x7fffffffc670) at /usr/local/include/catch2/catch.hpp:13309
#19 0x00007ffff7ebc62b in Catch::Session::run<char> (this=0x7fffffffc670, argc=1, argv=0x7fffffffc908) at /usr/local/include/catch2/catch.hpp:13031
#20 0x00007ffff7e93e56 in main (argc=1, argv=0x7fffffffc908) at /usr/local/include/catch2/catch.hpp:17185
#21 0x00007ffff76040b3 in __libc_start_main (main=0x7ffff7e93dfd <main(int, char**)>, argc=1, argv=0x7fffffffc908, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>,
stack_end=0x7fffffffc8f8) at ../csu/libc-start.c:308
#22 0x000055555555cdae in _start ()
Both the failures seem unrelated to |
Is blf compiled in debug? |
Ah, I had missed that! GDB output for InvariantEKFBaseEstimator with BLF compiled in debuggdb ./bin/EKFOdometryiSAM2UnitTests
GNU gdb (Ubuntu 9.2-0ubuntu1~20.04) 9.2
Copyright (C) 2020 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/EKFOdometryiSAM2UnitTests...
(gdb) run
Starting program: /home/pramadoss/iit_ws/prashanthr05/kindyn-vio/build/bin/EKFOdometryiSAM2UnitTests
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Model path: /home/pramadoss/iit_ws/prashanthr05/kindyn-vio/src/Estimators/tests/data/model.urdf
Matfile path: /home/pramadoss/iit_ws/prashanthr05/kindyn-vio/src/Estimators/tests/data/sync-walk-est.mat
Opening mat file successful.
Loading model successful.
r_sole position in the world: -0.0161299
l_sole position in the world: -0.016674
[2021-07-30 10:21:58.389] [thread: 13123] [blf] [debug] [StdImplementation::getParameterPrivate] Parameter named 'acceleration_due_to_gravity' not found.
Configured estimator successful
[2021-07-30 10:21:58.390] [thread: 13123] [blf] [info] [ContactDetector::initialize] Contact detector initialization is successful.
Configured contact detector successful.
double free or corruption (out)
Program received signal SIGABRT, Aborted.
__GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
50 ../sysdeps/unix/sysv/linux/raise.c: No such file or directory.
(gdb) where
#0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
#1 0x00007ffff6ea5859 in __GI_abort () at abort.c:79
#2 0x00007ffff6f103ee in __libc_message (action=action@entry=do_abort,
fmt=fmt@entry=0x7ffff703a285 "%s\n") at ../sysdeps/posix/libc_fatal.c:155
#3 0x00007ffff6f1847c in malloc_printerr (
str=str@entry=0x7ffff703c670 "double free or corruption (out)") at malloc.c:5347
#4 0x00007ffff6f1a120 in _int_free (av=0x7ffff706bb80 <main_arena>, p=0x5555556a61d0,
have_lock=<optimized out>) at malloc.c:4314
#5 0x00007ffff7a75004 in Eigen::internal::aligned_free (ptr=0x5555556a61e0)
at /usr/include/eigen3/Eigen/src/Core/util/Memory.h:177
#6 0x00007ffff7a80318 in Eigen::internal::conditional_aligned_free<true> (ptr=0x5555556a61e0)
at /usr/include/eigen3/Eigen/src/Core/util/Memory.h:230
#7 0x00007ffff7a7a725 in Eigen::internal::conditional_aligned_delete_auto<double, true> (
ptr=0x5555556a61e0, size=225) at /usr/include/eigen3/Eigen/src/Core/util/Memory.h:416
#8 0x00007ffff7aec14f in Eigen::DenseStorage<double, -1, -1, -1, 0>::~DenseStorage (
this=0x7fffffffab20, __in_chrg=<optimized out>)
at /usr/include/eigen3/Eigen/src/Core/DenseStorage.h:391
#9 0x00007ffff7aeae60 in Eigen::PlainObjectBase<Eigen::Matrix<double, -1, -1, 0, -1, -1> >::~PlainObjectBase (this=0x7fffffffab20, __in_chrg=<optimized out>)
at /usr/include/eigen3/Eigen/src/Core/PlainObjectBase.h:98
#10 0x00007ffff7aeae80 in Eigen::Matrix<double, -1, -1, 0, -1, -1>::~Matrix (this=0x7fffffffab20,
__in_chrg=<optimized out>) at /usr/include/eigen3/Eigen/src/Core/Matrix.h:178
#11 0x00007ffff7ae9b5f in BipedalLocomotion::Estimators::InvariantEKFBaseEstimator::Impl::calcLc (
this=0x5555556ea360, X=..., skew=..., estimateBias=@0x5555556e96b8: false, Lc=...)
at /home/pramadoss/iit_ws/dic-iit/bipedal-locomotion-framework/src/Estimators/src/InvariantEKFBaseEstimator.cpp:918
#12 0x00007ffff7ae48fc in BipedalLocomotion::Estimators::InvariantEKFBaseEstimator::predictState (
this=0x5555556e95c0, meas=..., dt=@0x5555556ea298: 0.01)
at /home/pramadoss/iit_ws/dic-iit/bipedal-locomotion-framework/src/Estimators/src/InvariantEKFBaseEstimator.cpp:360
#13 0x00007ffff7a6ddb9 in BipedalLocomotion::Estimators::FloatingBaseEstimator::advance (
this=0x5555556e95c0)
at /home/pramadoss/iit_ws/dic-iit/bipedal-locomotion-framework/src/Estimators/src/FloatingBaseEstimator.cpp:141
#14 0x0000555555563f3b in ____C_A_T_C_H____T_E_S_T____0 ()
at /home/pramadoss/iit_ws/prashanthr05/kindyn-vio/src/Estimators/tests/EKFOdometryiSAM2.cpp:335
#15 0x00007ffff7e816ee in Catch::TestInvokerAsFunction::invoke (this=0x55555559eee0)
at /usr/local/include/catch2/catch.hpp:14065
#16 0x00007ffff7e80ce1 in Catch::TestCase::invoke (this=0x5555555a62c0)
at /usr/local/include/catch2/catch.hpp:13958
#17 0x00007ffff7e7af90 in Catch::RunContext::invokeActiveTestCase (this=0x7fffffffc390)
at /usr/local/include/catch2/catch.hpp:12819
#18 0x00007ffff7e7acc3 in Catch::RunContext::runCurrentTest (this=0x7fffffffc390,
redirectedCout="", redirectedCerr="") at /usr/local/include/catch2/catch.hpp:12792
#19 0x00007ffff7e796e9 in Catch::RunContext::runTest (this=0x7fffffffc390, testCase=...)
at /usr/local/include/catch2/catch.hpp:12553
#20 0x00007ffff7e7c94a in Catch::(anonymous namespace)::TestGroup::execute (this=0x7fffffffc380)
at /usr/local/include/catch2/catch.hpp:13147
#21 0x00007ffff7e7dd8b in Catch::Session::runInternal (this=0x7fffffffc670)
at /usr/local/include/catch2/catch.hpp:13353
#22 0x00007ffff7e7da81 in Catch::Session::run (this=0x7fffffffc670)
at /usr/local/include/catch2/catch.hpp:13309
#23 0x00007ffff7ebc62b in Catch::Session::run<char> (this=0x7fffffffc670, argc=1,
argv=0x7fffffffc908) at /usr/local/include/catch2/catch.hpp:13031
--Type <RET> for more, q to quit, c to continue without paging--
#24 0x00007ffff7e93e56 in main (argc=1, argv=0x7fffffffc908)
at /usr/local/include/catch2/catch.hpp:17185
#25 0x00007ffff6ea70b3 in __libc_start_main (main=0x7ffff7e93dfd <main(int, char**)>, argc=1,
argv=0x7fffffffc908, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>,
stack_end=0x7fffffffc8f8) at ../csu/libc-start.c:308
#26 0x000055555555cdce in _start ()
relates to the line https://github.com/dic-iit/bipedal-locomotion-framework/blob/a2cda7d5120f8af38747978fefd06e71ce704e29/src/Estimators/src/InvariantEKFBaseEstimator.cpp#L918 associated to the variable GDB output for LeggedOdometry with BLF compiled in debuggdb ./bin/LeggedOdometryiSAM2UnitTests
GNU gdb (Ubuntu 9.2-0ubuntu1~20.04) 9.2
Copyright (C) 2020 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/LeggedOdometryiSAM2UnitTests...
(gdb) run
Starting program: /home/pramadoss/iit_ws/prashanthr05/kindyn-vio/build/bin/LeggedOdometryiSAM2UnitTests
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Model path: /home/pramadoss/iit_ws/prashanthr05/kindyn-vio/src/Estimators/tests/data/model.urdf
Matfile path: /home/pramadoss/iit_ws/prashanthr05/kindyn-vio/src/Estimators/tests/data/sync-walk-est.mat
Opening mat file successful.
Loading model successful.
r_sole position in the world: -0.0161299
l_sole position in the world: -0.016674
[2021-07-30 10:25:00.061] [thread: 13301] [blf] [debug] [StdImplementation::getParameterPrivate] Parameter named 'vel_computation_method' not found.
[2021-07-30 10:25:00.062] [thread: 13301] [blf] [debug] [StdImplementation::getParameterPrivate] Parameter named 'wLin' not found.
[2021-07-30 10:25:00.062] [thread: 13301] [blf] [debug] [StdImplementation::getParameterPrivate] Parameter named 'wAng' not found.
[2021-07-30 10:25:00.062] [thread: 13301] [blf] [debug] [StdImplementation::getParameterPrivate] Parameter named 'wJVel' not found.
[2021-07-30 10:25:00.062] [thread: 13301] [blf] [debug] [StdImplementation::getParameterPrivate] Parameter named 'reg' not found.
Configured estimator successful
[2021-07-30 10:25:00.062] [thread: 13301] [blf] [info] [ContactDetector::initialize] Contact detector initialization is successful.
Configured contact detector successful.
[LeggedOdometry::updateKinematics] Initialized LeggedOdometry.
Iter: 0
============
double free or corruption (out)
Program received signal SIGABRT, Aborted.
__GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
50 ../sysdeps/unix/sysv/linux/raise.c: No such file or directory.
(gdb) where
#0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
#1 0x00007ffff6ea5859 in __GI_abort () at abort.c:79
#2 0x00007ffff6f103ee in __libc_message (action=action@entry=do_abort,
fmt=fmt@entry=0x7ffff703a285 "%s\n") at ../sysdeps/posix/libc_fatal.c:155
#3 0x00007ffff6f1847c in malloc_printerr (
str=str@entry=0x7ffff703c670 "double free or corruption (out)") at malloc.c:5347
#4 0x00007ffff6f1a120 in _int_free (av=0x7ffff706bb80 <main_arena>, p=0x5555556d9070,
have_lock=<optimized out>) at malloc.c:4314
#5 0x00007ffff7a75004 in Eigen::internal::aligned_free (ptr=0x5555556d9080)
at /usr/include/eigen3/Eigen/src/Core/util/Memory.h:177
#6 0x00007ffff7a80318 in Eigen::internal::conditional_aligned_free<true> (ptr=0x5555556d9080)
at /usr/include/eigen3/Eigen/src/Core/util/Memory.h:230
#7 0x00007ffff7a7a725 in Eigen::internal::conditional_aligned_delete_auto<double, true> (
ptr=0x5555556d9080, size=6) at /usr/include/eigen3/Eigen/src/Core/util/Memory.h:416
#8 0x00007ffff7a7719f in Eigen::DenseStorage<double, -1, -1, 1, 0>::~DenseStorage (
this=0x7fffffff99b0, __in_chrg=<optimized out>)
at /usr/include/eigen3/Eigen/src/Core/DenseStorage.h:542
#9 0x00007ffff7a754a2 in Eigen::PlainObjectBase<Eigen::Matrix<double, -1, 1, 0, -1, 1> >::~PlainObjectBase (this=0x7fffffff99b0, __in_chrg=<optimized out>)
at /usr/include/eigen3/Eigen/src/Core/PlainObjectBase.h:98
#10 0x00007ffff7a754c2 in Eigen::Matrix<double, -1, 1, 0, -1, 1>::~Matrix (this=0x7fffffff99b0,
__in_chrg=<optimized out>) at /usr/include/eigen3/Eigen/src/Core/Matrix.h:178
#11 0x00007ffff7b66993 in Eigen::internal::call_assignment<Eigen::Block<Eigen::Matrix<double, -1, 1, 0, -1, 1>, -1, 1, false>, Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, Eigen::Matrix<double, -1, -1, 0, -1, -1> const>, Eigen::Matrix<double, -1, 1, 0, -1, 1>, 0>, Eigen::internal::assign_op<double, double> > (dst=..., src=..., func=...)
at /usr/include/eigen3/Eigen/src/Core/AssignEvaluator.h:796
#12 0x00007ffff7b653b8 in Eigen::internal::call_assignment<Eigen::Block<Eigen::Matrix<double, -1, 1, 0, -1, 1>, -1, 1, false>, Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, Eigen::Matrix<double, -1, -1, 0, -1, -1> const>, Eigen::Matrix<double, -1, 1, 0, -1, 1>, 0> > (dst=..., src=...) at /usr/include/eigen3/Eigen/src/Core/AssignEvaluator.h:782
#13 0x00007ffff7b6328f in Eigen::MatrixBase<Eigen::Block<Eigen::Matrix<double, -1, 1, 0, -1, 1>, -1, 1, false> >::operator=<Eigen::Product<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<double>, Eigen::Matrix<double, -1, -1, 0, -1, -1> const>, Eigen::Matrix<double, -1, 1, 0, -1, 1>, 0> > (
this=0x7fffffff9bf0, other=...) at /usr/include/eigen3/Eigen/src/Core/Assign.h:66
#14 0x00007ffff7b602f2 in BipedalLocomotion::Estimators::LeggedOdometry::Impl::computeBaseVelocityUsingAllFixedFrames (this=0x5555556cb8f0, state=..., meas=..., modelComp=..., out=...)
at /home/pramadoss/iit_ws/dic-iit/bipedal-locomotion-framework/src/Estimators/src/LeggedOdometry.cpp:754
#15 0x00007ffff7b5e814 in BipedalLocomotion::Estimators::LeggedOdometry::Impl::updateInternalState
(this=0x5555556cb8f0, meas=..., modelComp=..., state=..., out=...)
at /home/pramadoss/iit_ws/dic-iit/bipedal-locomotion-framework/src/Estimators/src/LeggedOdometry.cpp:528
#16 0x00007ffff7b60cfc in BipedalLocomotion::Estimators::LeggedOdometry::updateKinematics (
this=0x7fffffffafe0, meas=...)
at /home/pramadoss/iit_ws/dic-iit/bipedal-locomotion-framework/src/Estimators/src/LeggedOdometry.cpp:848
#17 0x00007ffff7a6de4b in BipedalLocomotion::Estimators::FloatingBaseEstimator::advance (
this=0x7fffffffafe0)
at /home/pramadoss/iit_ws/dic-iit/bipedal-locomotion-framework/src/Estimators/src/FloatingBaseEstimator.cpp:146
#18 0x00005555555611c6 in ____C_A_T_C_H____T_E_S_T____0 ()
at /home/pramadoss/iit_ws/prashanthr05/kindyn-vio/src/Estimators/tests/LeggedOdometryiSAM2.cpp:282
--Type <RET> for more, q to quit, c to continue without paging--
#19 0x00007ffff7e816ee in Catch::TestInvokerAsFunction::invoke (this=0x555555597ee0)
at /usr/local/include/catch2/catch.hpp:14065
#20 0x00007ffff7e80ce1 in Catch::TestCase::invoke (this=0x55555559f2b0)
at /usr/local/include/catch2/catch.hpp:13958
#21 0x00007ffff7e7af90 in Catch::RunContext::invokeActiveTestCase (this=0x7fffffffc390)
at /usr/local/include/catch2/catch.hpp:12819
#22 0x00007ffff7e7acc3 in Catch::RunContext::runCurrentTest (this=0x7fffffffc390,
redirectedCout="", redirectedCerr="") at /usr/local/include/catch2/catch.hpp:12792
#23 0x00007ffff7e796e9 in Catch::RunContext::runTest (this=0x7fffffffc390, testCase=...)
at /usr/local/include/catch2/catch.hpp:12553
#24 0x00007ffff7e7c94a in Catch::(anonymous namespace)::TestGroup::execute (this=0x7fffffffc380)
at /usr/local/include/catch2/catch.hpp:13147
#25 0x00007ffff7e7dd8b in Catch::Session::runInternal (this=0x7fffffffc670)
at /usr/local/include/catch2/catch.hpp:13353
#26 0x00007ffff7e7da81 in Catch::Session::run (this=0x7fffffffc670)
at /usr/local/include/catch2/catch.hpp:13309
#27 0x00007ffff7ebc62b in Catch::Session::run<char> (this=0x7fffffffc670, argc=1,
argv=0x7fffffffc908) at /usr/local/include/catch2/catch.hpp:13031
#28 0x00007ffff7e93e56 in main (argc=1, argv=0x7fffffffc908)
at /usr/local/include/catch2/catch.hpp:17185
#29 0x00007ffff6ea70b3 in __libc_start_main (main=0x7ffff7e93dfd <main(int, char**)>, argc=1,
argv=0x7fffffffc908, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>,
stack_end=0x7fffffffc8f8) at ../csu/libc-start.c:308
#30 0x000055555555cdae in _start ()
relates to the line https://github.com/dic-iit/bipedal-locomotion-framework/blob/a2cda7d5120f8af38747978fefd06e71ce704e29/src/Estimators/src/LeggedOdometry.cpp#L754 associated to the variable ( |
I randomly faced a new error on gdb segfault backtrace related to unaligned arrays memory allocation. Note that this error is different from the previous errors. (I don't understand why, though.) GDB output InvariantEKFBaseEstimatorgdb ./bin/EKFOdometryiSAM2UnitTests
GNU gdb (Ubuntu 9.2-0ubuntu1~20.04) 9.2
Copyright (C) 2020 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/EKFOdometryiSAM2UnitTests...
(gdb) run
Starting program: /home/pramadoss/iit_ws/prashanthr05/kindyn-vio/build/bin/EKFOdometryiSAM2UnitTests
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Model path: /home/pramadoss/iit_ws/prashanthr05/kindyn-vio/src/Estimators/tests/data/model.urdf
Matfile path: /home/pramadoss/iit_ws/prashanthr05/kindyn-vio/src/Estimators/tests/data/sync-walk-est.mat
Opening mat file successful.
Loading model successful.
r_sole position in the world: -0.0161299
l_sole position in the world: -0.016674
EKFOdometryiSAM2UnitTests: /usr/include/eigen3/Eigen/src/Core/DenseStorage.h:128: Eigen::internal::plain_array<T, Size, MatrixOrArrayOptions, 32>::plain_array() [with T = double; int Size = 4; int MatrixOrArrayOptions = 0]: Assertion `(internal::UIntPtr(eigen_unaligned_array_assert_workaround_gcc47(array)) & (31)) == 0 && "this assertion is explained here: " "http://eigen.tuxfamily.org/dox-devel/group__TopicUnalignedArrayAssert.html" " **** READ THIS WEB PAGE !!! ****"' failed.
Program received signal SIGABRT, Aborted.
__GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
50 ../sysdeps/unix/sysv/linux/raise.c: No such file or directory.
(gdb) bt
#0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
#1 0x00007ffff6ea5859 in __GI_abort () at abort.c:79
#2 0x00007ffff6ea5729 in __assert_fail_base (
fmt=0x7ffff703b588 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n",
assertion=0x55555559baf0 "(internal::UIntPtr(eigen_unaligned_array_assert_workaround_gcc47(array)) & (31)) == 0 && \"this assertion is explained here: \" \"http://eigen.tuxfamily.org/dox-devel/group__TopicUnalignedArrayAssert.htm"...,
file=0x55555559b1c8 "/usr/include/eigen3/Eigen/src/Core/DenseStorage.h", line=128,
function=<optimized out>) at assert.c:92
#3 0x00007ffff6eb6f36 in __GI___assert_fail (
assertion=0x55555559baf0 "(internal::UIntPtr(eigen_unaligned_array_assert_workaround_gcc47(array)) & (31)) == 0 && \"this assertion is explained here: \" \"http://eigen.tuxfamily.org/dox-devel/group__TopicUnalignedArrayAssert.htm"...,
file=0x55555559b1c8 "/usr/include/eigen3/Eigen/src/Core/DenseStorage.h", line=128,
function=0x55555559ba60 "Eigen::internal::plain_array<T, Size, MatrixOrArrayOptions, 32>::plain_array() [with T = double; int Size = 4; int MatrixOrArrayOptions = 0]") at assert.c:101
#4 0x0000555555592193 in Eigen::internal::plain_array<double, 4, 0, 32>::plain_array (
this=0x7fffffffb250) at /usr/include/eigen3/Eigen/src/Core/DenseStorage.h:128
#5 0x0000555555590588 in Eigen::DenseStorage<double, 4, 4, 1, 0>::DenseStorage (
this=0x7fffffffb250) at /usr/include/eigen3/Eigen/src/Core/DenseStorage.h:187
#6 0x000055555558e4a2 in Eigen::PlainObjectBase<Eigen::Matrix<double, 4, 1, 0, 4, 1> >::PlainObjectBase (this=0x7fffffffb250) at /usr/include/eigen3/Eigen/src/Core/PlainObjectBase.h:484
#7 0x000055555558bace in Eigen::Matrix<double, 4, 1, 0, 4, 1>::Matrix (this=0x7fffffffb250)
at /usr/include/eigen3/Eigen/src/Core/Matrix.h:259
#8 0x00005555555893fe in Eigen::Quaternion<double, 0>::Quaternion (this=0x7fffffffb250)
at /usr/include/eigen3/Eigen/src/Geometry/Quaternion.h:250
#9 0x00005555555870f6 in BipedalLocomotion::Estimators::FloatingBaseEstimators::InternalState::InternalState (this=0x7fffffffb250)
at /home/pramadoss/iit_ws/dic-iit/bipedal-locomotion-framework/install/include/BipedalLocomotion/FloatingBaseEstimators/FloatingBaseEstimatorIO.h:29
#10 0x00007ffff7a6d2e3 in BipedalLocomotion::Estimators::FloatingBaseEstimator::FloatingBaseEstimator (this=0x7fffffffafc0)
at /home/pramadoss/iit_ws/dic-iit/bipedal-locomotion-framework/src/Estimators/src/FloatingBaseEstimator.cpp:17
#11 0x00007ffff7ae3814 in BipedalLocomotion::Estimators::InvariantEKFBaseEstimator::InvariantEKFBaseEstimator (this=0x7fffffffafc0)
at /home/pramadoss/iit_ws/dic-iit/bipedal-locomotion-framework/src/Estimators/src/InvariantEKFBaseEstimator.cpp:197
#12 0x00005555555841cc in ____C_A_T_C_H____T_E_S_T____0 ()
at /home/pramadoss/iit_ws/prashanthr05/kindyn-vio/src/Estimators/tests/EKFOdometryiSAM2.cpp:266
#13 0x00007ffff7e816ee in Catch::TestInvokerAsFunction::invoke (this=0x5555555beee0)
at /usr/local/include/catch2/catch.hpp:14065
#14 0x00007ffff7e80ce1 in Catch::TestCase::invoke (this=0x5555555c62c0)
at /usr/local/include/catch2/catch.hpp:13958
#15 0x00007ffff7e7af90 in Catch::RunContext::invokeActiveTestCase (this=0x7fffffffc370)
at /usr/local/include/catch2/catch.hpp:12819
#16 0x00007ffff7e7acc3 in Catch::RunContext::runCurrentTest (this=0x7fffffffc370,
redirectedCout="", redirectedCerr="") at /usr/local/include/catch2/catch.hpp:12792
#17 0x00007ffff7e796e9 in Catch::RunContext::runTest (this=0x7fffffffc370, testCase=...)
at /usr/local/include/catch2/catch.hpp:12553
#18 0x00007ffff7e7c94a in Catch::(anonymous namespace)::TestGroup::execute (this=0x7fffffffc360)
at /usr/local/include/catch2/catch.hpp:13147
#19 0x00007ffff7e7dd8b in Catch::Session::runInternal (this=0x7fffffffc650)
at /usr/local/include/catch2/catch.hpp:13353
--Type <RET> for more, q to quit, c to continue without paging--
#20 0x00007ffff7e7da81 in Catch::Session::run (this=0x7fffffffc650)
at /usr/local/include/catch2/catch.hpp:13309
#21 0x00007ffff7ebc62b in Catch::Session::run<char> (this=0x7fffffffc650, argc=1,
argv=0x7fffffffc8e8) at /usr/local/include/catch2/catch.hpp:13031
#22 0x00007ffff7e93e56 in main (argc=1, argv=0x7fffffffc8e8)
at /usr/local/include/catch2/catch.hpp:17185
#23 0x00007ffff6ea70b3 in __libc_start_main (main=0x7ffff7e93dfd <main(int, char**)>, argc=1,
argv=0x7fffffffc8e8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>,
stack_end=0x7fffffffc8d8) at ../csu/libc-start.c:308
#24 0x000055555557ddae in _start ()
It's strange that doing the following changes fixes all the problem. (Eigen docs say that this shouldn't technically happen for C++17 standard since everything is taken care of by the compiler http://eigen.tuxfamily.org/dox-devel/group__TopicUnalignedArrayAssert.html). git diff
diff --git a/src/Estimators/include/BipedalLocomotion/FloatingBaseEstimators/FloatingBaseEstimatorIO.h b/src/Estimators/include/BipedalLocomotion/FloatingBaseEstimators/FloatingBaseEstimatorIO.h
index 9ea8dda..1dfa747 100755
--- a/src/Estimators/include/BipedalLocomotion/FloatingBaseEstimators/FloatingBaseEstimatorIO.h
+++ b/src/Estimators/include/BipedalLocomotion/FloatingBaseEstimators/FloatingBaseEstimatorIO.h
@@ -28,17 +28,17 @@ namespace FloatingBaseEstimators
*/
struct InternalState
{
- Eigen::Quaterniond imuOrientation; /**< Orientation of the base link IMU in the inertial frame (as a quaternion w,x,y,z) */
- Eigen::Vector3d imuPosition; /**< Position of the base link IMU in the inertial frame */
- Eigen::Vector3d imuLinearVelocity; /**< linear part of the mixed-velocity representation of the IMU with respect to the inertial frame */
- Eigen::Quaterniond lContactFrameOrientation; /**< Orientation of the left foot contact frame in the inertial frame (as a quaternion w,x,y,z) */
- Eigen::Vector3d lContactFramePosition; /**< Position of the left foot contact frame in the inertial frame */
- Eigen::Quaterniond rContactFrameOrientation; /**< Orientation of the right foot contact frame in the inertial frame (as a quaternion w,x,y,z) */
- Eigen::Vector3d rContactFramePosition; /**< Position of the right foot contact frame in the inertial frame*/
- Eigen::Vector3d accelerometerBias; /**< Bias of the accelerometer expressed in the IMU frame */
- Eigen::Vector3d gyroscopeBias; /**< Bias of the gyroscope expressed in the IMU frame */
+ Eigen::Quaternion<double,Eigen::DontAlign> imuOrientation; /**< Orientation of the base link IMU in the inertial frame (as a quaternion w,x,y,z) */
+ Eigen::Matrix<double,3,1,Eigen::DontAlign> imuPosition; /**< Position of the base link IMU in the inertial frame */
+ Eigen::Matrix<double,3,1,Eigen::DontAlign> imuLinearVelocity; /**< linear part of the mixed-velocity representation of the IMU with respect to the inertial frame */
+ Eigen::Quaternion<double,Eigen::DontAlign> lContactFrameOrientation; /**< Orientation of the left foot contact frame in the inertial frame (as a quaternion w,x,y,z) */
+ Eigen::Matrix<double,3,1,Eigen::DontAlign> lContactFramePosition; /**< Position of the left foot contact frame in the inertial frame */
+ Eigen::Quaternion<double,Eigen::DontAlign> rContactFrameOrientation; /**< Orientation of the right foot contact frame in the inertial frame (as a quaternion w,x,y,z) */
+ Eigen::Matrix<double,3,1,Eigen::DontAlign> rContactFramePosition; /**< Position of the right foot contact frame in the inertial frame*/
+ Eigen::Matrix<double,3,1,Eigen::DontAlign> accelerometerBias; /**< Bias of the accelerometer expressed in the IMU frame */
+ Eigen::Matrix<double,3,1,Eigen::DontAlign> gyroscopeBias; /**< Bias of the gyroscope expressed in the IMU frame */
- Eigen::Vector3d imuAngularVelocity; /**< angular velocity of the IMU with respect to the inertial frame expressed in inertial frame, typically unused for strap-down IMU based EKF implementations*/
+ Eigen::Matrix<double,3,1,Eigen::DontAlign> imuAngularVelocity; /**< angular velocity of the IMU with respect to the inertial frame expressed in inertial frame, typically unused for strap-down IMU based EKF implementations*/
std::map<int, BipedalLocomotion::Contacts::EstimatedContact> supportFrameData; /**< estimated contacts */
std::map<int, BipedalLocomotion::Contacts::EstimatedLandmark> landmarkData; /**< estimated landmarks */
};
diff --git a/src/Estimators/src/InvariantEKFBaseEstimator.cpp b/src/Estimators/src/InvariantEKFBaseEstimator.cpp
index 5b4d80f..fc4acd5 100644
--- a/src/Estimators/src/InvariantEKFBaseEstimator.cpp
+++ b/src/Estimators/src/InvariantEKFBaseEstimator.cpp
@@ -543,6 +543,9 @@ bool InvariantEKFBaseEstimator::updateKinematics(FloatingBaseEstimators::Measure
m_pimpl->extractStateVar(m_pimpl->m_P,m_options.imuBiasEstimationEnabled, m_stateStdDev); // unwrap state covariance matrix diagonal
}
+ m_state.imuOrientation.normalize();
+ m_state.lContactFrameOrientation.normalize();
+ m_state.rContactFrameOrientation.normalize();
// should we handle removing old contacts and adding new contacts? or let it be as it is.
return true;
} Without these changes, I also sometimes come across errors related to cc @traversaro would you have any inputs regarding this? |
Which compiler version are you using? Which Eigen version are you using? We had some similar misterious problems in Danieli. |
gcc --version
gcc (Ubuntu 9.3.0-17ubuntu1~20.04) 9.3.0
Copyright (C) 2019 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
pkg-config --modversion eigen3
3.3.7 |
Are you sure that all compilation units involved in this are indeed compiled with C++17? Can you try to compile from a clean build with |
(is the same thing happening on GitHub Actions?) |
Pasting the compilation log of just related software. Looks like GTSAM has been compiled with it's own copy of an external Eigen. This can be modified with
|
Looks like uncommenting the line with call to Connecting the dots, the getOutput() method intrinsically contains a call to the copy assignment operator of the |
GTSAM compiled and installed with However, since currently these tests were not using GTSAM libraries already and was only setting up the testing of BLF estimators, I removed GTSAM dependency from the project completely and compiled with a new build. After this, both legged odometry and the EKF tests do not end in a Eigen related segmentation fault. (P.S. except with the
which is unrelated to this issue and mainly due to |
GTSAM configuration flag |
I am not able to compile GTSAM by setting this flag to Here in this PR in GTSAM, borglab/gtsam#27, it says that Linking this issue since it contains some useful information: borglab/gtsam#21 |
Can you try to compile gtsam with GTSAM_BUILD_WITH_MARCH_NATIVE set to OFF? |
Which error? |
GTSAM compile error with `cxx_std_17`make
[ 2%] Built target CppUnitLite
[ 21%] Built target metis-gtsam
Scanning dependencies of target gtsam
[ 21%] Building C object gtsam/CMakeFiles/gtsam.dir/3rdparty/CCOLAMD/Source/ccolamd.c.o
[ 21%] Building C object gtsam/CMakeFiles/gtsam.dir/3rdparty/SuiteSparse_config/SuiteSparse_config.c.o
[ 21%] Building CXX object gtsam/CMakeFiles/gtsam.dir/base/DSFVector.cpp.o
[ 21%] Building CXX object gtsam/CMakeFiles/gtsam.dir/base/Matrix.cpp.o
[ 21%] Building CXX object gtsam/CMakeFiles/gtsam.dir/base/SymmetricBlockMatrix.cpp.o
[ 21%] Building CXX object gtsam/CMakeFiles/gtsam.dir/base/Vector.cpp.o
[ 24%] Building CXX object gtsam/CMakeFiles/gtsam.dir/base/VerticalBlockMatrix.cpp.o
[ 24%] Building CXX object gtsam/CMakeFiles/gtsam.dir/base/cholesky.cpp.o
[ 24%] Building CXX object gtsam/CMakeFiles/gtsam.dir/base/debug.cpp.o
[ 24%] Building CXX object gtsam/CMakeFiles/gtsam.dir/base/timing.cpp.o
[ 24%] Building CXX object gtsam/CMakeFiles/gtsam.dir/base/types.cpp.o
[ 24%] Building CXX object gtsam/CMakeFiles/gtsam.dir/geometry/Cal3.cpp.o
[ 24%] Building CXX object gtsam/CMakeFiles/gtsam.dir/geometry/Cal3Bundler.cpp.o
[ 24%] Building CXX object gtsam/CMakeFiles/gtsam.dir/geometry/Cal3DS2.cpp.o
[ 24%] Building CXX object gtsam/CMakeFiles/gtsam.dir/geometry/Cal3DS2_Base.cpp.o
[ 27%] Building CXX object gtsam/CMakeFiles/gtsam.dir/geometry/Cal3Fisheye.cpp.o
[ 27%] Building CXX object gtsam/CMakeFiles/gtsam.dir/geometry/Cal3Unified.cpp.o
[ 27%] Building CXX object gtsam/CMakeFiles/gtsam.dir/geometry/Cal3_S2.cpp.o
[ 27%] Building CXX object gtsam/CMakeFiles/gtsam.dir/geometry/Cal3_S2Stereo.cpp.o
[ 27%] Building CXX object gtsam/CMakeFiles/gtsam.dir/geometry/CalibratedCamera.cpp.o
[ 27%] Building CXX object gtsam/CMakeFiles/gtsam.dir/geometry/Cyclic.cpp.o
[ 27%] Building CXX object gtsam/CMakeFiles/gtsam.dir/geometry/EssentialMatrix.cpp.o
[ 27%] Building CXX object gtsam/CMakeFiles/gtsam.dir/geometry/Line3.cpp.o
[ 27%] Building CXX object gtsam/CMakeFiles/gtsam.dir/geometry/OrientedPlane3.cpp.o
[ 27%] Building CXX object gtsam/CMakeFiles/gtsam.dir/geometry/Point2.cpp.o
[ 29%] Building CXX object gtsam/CMakeFiles/gtsam.dir/geometry/Point3.cpp.o
[ 29%] Building CXX object gtsam/CMakeFiles/gtsam.dir/geometry/Pose2.cpp.o
[ 29%] Building CXX object gtsam/CMakeFiles/gtsam.dir/geometry/Pose3.cpp.o
[ 29%] Building CXX object gtsam/CMakeFiles/gtsam.dir/geometry/Rot2.cpp.o
[ 29%] Building CXX object gtsam/CMakeFiles/gtsam.dir/geometry/Rot3.cpp.o
[ 29%] Building CXX object gtsam/CMakeFiles/gtsam.dir/geometry/Rot3M.cpp.o
[ 29%] Building CXX object gtsam/CMakeFiles/gtsam.dir/geometry/SO3.cpp.o
[ 29%] Building CXX object gtsam/CMakeFiles/gtsam.dir/geometry/SO4.cpp.o
[ 29%] Building CXX object gtsam/CMakeFiles/gtsam.dir/geometry/SOn.cpp.o
[ 32%] Building CXX object gtsam/CMakeFiles/gtsam.dir/geometry/Similarity3.cpp.o
[ 32%] Building CXX object gtsam/CMakeFiles/gtsam.dir/geometry/SimpleCamera.cpp.o
[ 32%] Building CXX object gtsam/CMakeFiles/gtsam.dir/geometry/StereoCamera.cpp.o
[ 32%] Building CXX object gtsam/CMakeFiles/gtsam.dir/geometry/StereoPoint2.cpp.o
[ 32%] Building CXX object gtsam/CMakeFiles/gtsam.dir/geometry/Unit3.cpp.o
[ 32%] Building CXX object gtsam/CMakeFiles/gtsam.dir/geometry/triangulation.cpp.o
[ 32%] Building CXX object gtsam/CMakeFiles/gtsam.dir/inference/BayesTree.cpp.o
[ 32%] Building CXX object gtsam/CMakeFiles/gtsam.dir/inference/Factor.cpp.o
[ 32%] Building CXX object gtsam/CMakeFiles/gtsam.dir/inference/Key.cpp.o
[ 35%] Building CXX object gtsam/CMakeFiles/gtsam.dir/inference/LabeledSymbol.cpp.o
[ 35%] Building CXX object gtsam/CMakeFiles/gtsam.dir/inference/Ordering.cpp.o
[ 35%] Building CXX object gtsam/CMakeFiles/gtsam.dir/inference/Symbol.cpp.o
[ 35%] Building CXX object gtsam/CMakeFiles/gtsam.dir/inference/VariableIndex.cpp.o
[ 35%] Building CXX object gtsam/CMakeFiles/gtsam.dir/inference/VariableSlots.cpp.o
[ 35%] Building CXX object gtsam/CMakeFiles/gtsam.dir/symbolic/SymbolicBayesNet.cpp.o
[ 35%] Building CXX object gtsam/CMakeFiles/gtsam.dir/symbolic/SymbolicBayesTree.cpp.o
[ 35%] Building CXX object gtsam/CMakeFiles/gtsam.dir/symbolic/SymbolicConditional.cpp.o
[ 35%] Building CXX object gtsam/CMakeFiles/gtsam.dir/symbolic/SymbolicEliminationTree.cpp.o
[ 35%] Building CXX object gtsam/CMakeFiles/gtsam.dir/symbolic/SymbolicFactor.cpp.o
[ 37%] Building CXX object gtsam/CMakeFiles/gtsam.dir/symbolic/SymbolicFactorGraph.cpp.o
[ 37%] Building CXX object gtsam/CMakeFiles/gtsam.dir/symbolic/SymbolicISAM.cpp.o
[ 37%] Building CXX object gtsam/CMakeFiles/gtsam.dir/symbolic/SymbolicJunctionTree.cpp.o
[ 37%] Building CXX object gtsam/CMakeFiles/gtsam.dir/discrete/DecisionTreeFactor.cpp.o
[ 37%] Building CXX object gtsam/CMakeFiles/gtsam.dir/discrete/DiscreteBayesNet.cpp.o
[ 37%] Building CXX object gtsam/CMakeFiles/gtsam.dir/discrete/DiscreteBayesTree.cpp.o
[ 37%] Building CXX object gtsam/CMakeFiles/gtsam.dir/discrete/DiscreteConditional.cpp.o
[ 37%] Building CXX object gtsam/CMakeFiles/gtsam.dir/discrete/DiscreteEliminationTree.cpp.o
[ 37%] Building CXX object gtsam/CMakeFiles/gtsam.dir/discrete/DiscreteFactor.cpp.o
[ 40%] Building CXX object gtsam/CMakeFiles/gtsam.dir/discrete/DiscreteFactorGraph.cpp.o
[ 40%] Building CXX object gtsam/CMakeFiles/gtsam.dir/discrete/DiscreteJunctionTree.cpp.o
[ 40%] Building CXX object gtsam/CMakeFiles/gtsam.dir/discrete/DiscreteKey.cpp.o
[ 40%] Building CXX object gtsam/CMakeFiles/gtsam.dir/discrete/Potentials.cpp.o
[ 40%] Building CXX object gtsam/CMakeFiles/gtsam.dir/discrete/Signature.cpp.o
[ 40%] Building CXX object gtsam/CMakeFiles/gtsam.dir/linear/ConjugateGradientSolver.cpp.o
[ 40%] Building CXX object gtsam/CMakeFiles/gtsam.dir/linear/Errors.cpp.o
[ 40%] Building CXX object gtsam/CMakeFiles/gtsam.dir/linear/GaussianBayesNet.cpp.o
[ 40%] Building CXX object gtsam/CMakeFiles/gtsam.dir/linear/GaussianBayesTree.cpp.o
[ 40%] Building CXX object gtsam/CMakeFiles/gtsam.dir/linear/GaussianConditional.cpp.o
[ 43%] Building CXX object gtsam/CMakeFiles/gtsam.dir/linear/GaussianDensity.cpp.o
[ 43%] Building CXX object gtsam/CMakeFiles/gtsam.dir/linear/GaussianEliminationTree.cpp.o
[ 43%] Building CXX object gtsam/CMakeFiles/gtsam.dir/linear/GaussianFactor.cpp.o
[ 43%] Building CXX object gtsam/CMakeFiles/gtsam.dir/linear/GaussianFactorGraph.cpp.o
[ 43%] Building CXX object gtsam/CMakeFiles/gtsam.dir/linear/GaussianISAM.cpp.o
[ 43%] Building CXX object gtsam/CMakeFiles/gtsam.dir/linear/GaussianJunctionTree.cpp.o
[ 43%] Building CXX object gtsam/CMakeFiles/gtsam.dir/linear/HessianFactor.cpp.o
[ 43%] Building CXX object gtsam/CMakeFiles/gtsam.dir/linear/IterativeSolver.cpp.o
[ 43%] Building CXX object gtsam/CMakeFiles/gtsam.dir/linear/JacobianFactor.cpp.o
[ 45%] Building CXX object gtsam/CMakeFiles/gtsam.dir/linear/KalmanFilter.cpp.o
[ 45%] Building CXX object gtsam/CMakeFiles/gtsam.dir/linear/LossFunctions.cpp.o
[ 45%] Building CXX object gtsam/CMakeFiles/gtsam.dir/linear/NoiseModel.cpp.o
[ 45%] Building CXX object gtsam/CMakeFiles/gtsam.dir/linear/PCGSolver.cpp.o
[ 45%] Building CXX object gtsam/CMakeFiles/gtsam.dir/linear/Preconditioner.cpp.o
[ 45%] Building CXX object gtsam/CMakeFiles/gtsam.dir/linear/Sampler.cpp.o
[ 45%] Building CXX object gtsam/CMakeFiles/gtsam.dir/linear/Scatter.cpp.o
[ 45%] Building CXX object gtsam/CMakeFiles/gtsam.dir/linear/SubgraphBuilder.cpp.o
[ 45%] Building CXX object gtsam/CMakeFiles/gtsam.dir/linear/SubgraphPreconditioner.cpp.o
[ 45%] Building CXX object gtsam/CMakeFiles/gtsam.dir/linear/SubgraphSolver.cpp.o
[ 48%] Building CXX object gtsam/CMakeFiles/gtsam.dir/linear/VectorValues.cpp.o
[ 48%] Building CXX object gtsam/CMakeFiles/gtsam.dir/linear/iterative.cpp.o
[ 48%] Building CXX object gtsam/CMakeFiles/gtsam.dir/linear/linearExceptions.cpp.o
[ 48%] Building CXX object gtsam/CMakeFiles/gtsam.dir/nonlinear/CustomFactor.cpp.o
[ 48%] Building CXX object gtsam/CMakeFiles/gtsam.dir/nonlinear/DoglegOptimizer.cpp.o
[ 48%] Building CXX object gtsam/CMakeFiles/gtsam.dir/nonlinear/DoglegOptimizerImpl.cpp.o
[ 48%] Building CXX object gtsam/CMakeFiles/gtsam.dir/nonlinear/GaussNewtonOptimizer.cpp.o
[ 48%] Building CXX object gtsam/CMakeFiles/gtsam.dir/nonlinear/ISAM2-impl.cpp.o
[ 48%] Building CXX object gtsam/CMakeFiles/gtsam.dir/nonlinear/ISAM2.cpp.o
[ 51%] Building CXX object gtsam/CMakeFiles/gtsam.dir/nonlinear/ISAM2Clique.cpp.o
[ 51%] Building CXX object gtsam/CMakeFiles/gtsam.dir/nonlinear/ISAM2Params.cpp.o
[ 51%] Building CXX object gtsam/CMakeFiles/gtsam.dir/nonlinear/LevenbergMarquardtOptimizer.cpp.o
[ 51%] Building CXX object gtsam/CMakeFiles/gtsam.dir/nonlinear/LevenbergMarquardtParams.cpp.o
[ 51%] Building CXX object gtsam/CMakeFiles/gtsam.dir/nonlinear/LinearContainerFactor.cpp.o
[ 51%] Building CXX object gtsam/CMakeFiles/gtsam.dir/nonlinear/Marginals.cpp.o
[ 51%] Building CXX object gtsam/CMakeFiles/gtsam.dir/nonlinear/NonlinearConjugateGradientOptimizer.cpp.o
[ 51%] Building CXX object gtsam/CMakeFiles/gtsam.dir/nonlinear/NonlinearFactor.cpp.o
[ 51%] Building CXX object gtsam/CMakeFiles/gtsam.dir/nonlinear/NonlinearFactorGraph.cpp.o
[ 54%] Building CXX object gtsam/CMakeFiles/gtsam.dir/nonlinear/NonlinearISAM.cpp.o
[ 54%] Building CXX object gtsam/CMakeFiles/gtsam.dir/nonlinear/NonlinearOptimizer.cpp.o
[ 54%] Building CXX object gtsam/CMakeFiles/gtsam.dir/nonlinear/NonlinearOptimizerParams.cpp.o
[ 54%] Building CXX object gtsam/CMakeFiles/gtsam.dir/nonlinear/Values.cpp.o
[ 54%] Building CXX object gtsam/CMakeFiles/gtsam.dir/sfm/MFAS.cpp.o
[ 54%] Building CXX object gtsam/CMakeFiles/gtsam.dir/sfm/ShonanAveraging.cpp.o
[ 54%] Building CXX object gtsam/CMakeFiles/gtsam.dir/sfm/ShonanFactor.cpp.o
[ 54%] Building CXX object gtsam/CMakeFiles/gtsam.dir/sfm/TranslationRecovery.cpp.o
[ 54%] Building CXX object gtsam/CMakeFiles/gtsam.dir/slam/EssentialMatrixConstraint.cpp.o
[ 54%] Building CXX object gtsam/CMakeFiles/gtsam.dir/slam/FrobeniusFactor.cpp.o
[ 56%] Building CXX object gtsam/CMakeFiles/gtsam.dir/slam/InitializePose3.cpp.o
[ 56%] Building CXX object gtsam/CMakeFiles/gtsam.dir/slam/OrientedPlane3Factor.cpp.o
[ 56%] Building CXX object gtsam/CMakeFiles/gtsam.dir/slam/dataset.cpp.o
[ 56%] Building CXX object gtsam/CMakeFiles/gtsam.dir/slam/lago.cpp.o
[ 56%] Building CXX object gtsam/CMakeFiles/gtsam.dir/navigation/AHRSFactor.cpp.o
[ 56%] Building CXX object gtsam/CMakeFiles/gtsam.dir/navigation/AttitudeFactor.cpp.o
[ 56%] Building CXX object gtsam/CMakeFiles/gtsam.dir/navigation/CombinedImuFactor.cpp.o
In file included from /home/pramadoss/iit_ws/scrapyard/gtsam/gtsam/3rdparty/Eigen/Eigen/Core:365,
from /home/pramadoss/iit_ws/scrapyard/gtsam/gtsam/3rdparty/Eigen/Eigen/Dense:1,
from /home/pramadoss/iit_ws/scrapyard/gtsam/gtsam/base/OptionalJacobian.h:22,
from /home/pramadoss/iit_ws/scrapyard/gtsam/gtsam/base/Matrix.h:27,
from /home/pramadoss/iit_ws/scrapyard/gtsam/gtsam/base/Manifold.h:22,
from /home/pramadoss/iit_ws/scrapyard/gtsam/gtsam/geometry/BearingRange.h:21,
from /home/pramadoss/iit_ws/scrapyard/gtsam/gtsam/geometry/Pose3.h:22,
from /home/pramadoss/iit_ws/scrapyard/gtsam/gtsam/navigation/NavState.h:21,
from /home/pramadoss/iit_ws/scrapyard/gtsam/gtsam/navigation/ManifoldPreintegration.h:24,
from /home/pramadoss/iit_ws/scrapyard/gtsam/gtsam/navigation/CombinedImuFactor.h:26,
from /home/pramadoss/iit_ws/scrapyard/gtsam/gtsam/navigation/CombinedImuFactor.cpp:23:
/home/pramadoss/iit_ws/scrapyard/gtsam/gtsam/3rdparty/Eigen/Eigen/src/Core/util/ForwardDeclarations.h: In instantiation of ‘struct Eigen::internal::accessors_level<boost::serialization::U>’:
/usr/include/boost/serialization/split_free.hpp:58:13: required from ‘static void boost::serialization::free_loader<Archive, T>::invoke(Archive&, T&, unsigned int) [with Archive = boost::archive::xml_iarchive; T = Eigen::Matrix<double, 3, 3>]’
/usr/include/boost/serialization/split_free.hpp:74:18: required from ‘void boost::serialization::split_free(Archive&, T&, unsigned int) [with Archive = boost::archive::xml_iarchive; T = Eigen::Matrix<double, 3, 3>]’
/home/pramadoss/iit_ws/scrapyard/gtsam/gtsam/base/Matrix.h:594:17: required from ‘void boost::serialization::serialize(Archive&, Eigen::Matrix<Scalar_, Rows_, Cols_, Ops_, MaxRows_, MaxCols_>&, unsigned int) [with Archive = boost::archive::xml_iarchive; Scalar_ = double; int Rows_ = 3; int Cols_ = 3; int Ops_ = 0; int MaxRows_ = 3; int MaxCols_ = 3]’
/usr/include/boost/serialization/serialization.hpp:126:14: required from ‘void boost::serialization::serialize_adl(Archive&, T&, unsigned int) [with Archive = boost::archive::xml_iarchive; T = Eigen::Matrix<double, 3, 3>]’
/usr/include/boost/archive/detail/iserializer.hpp:187:40: [ skipping 21 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
/usr/include/boost/serialization/export.hpp:103:51: required from ‘static void boost::archive::detail::ptr_serialization_support<Archive, Serializable>::instantiate() [with Archive = boost::archive::xml_iarchive; Serializable = gtsam::PreintegrationCombinedParams]’
/usr/include/boost/serialization/export.hpp:84:1: required from ‘struct boost::archive::detail::ptr_serialization_support<boost::archive::xml_iarchive, gtsam::PreintegrationCombinedParams>’
/usr/include/boost/archive/detail/register_archive.hpp:25:8: required from ‘struct boost::archive::detail::_ptr_serialization_support<boost::archive::xml_iarchive, gtsam::PreintegrationCombinedParams>’
/usr/include/boost/archive/xml_iarchive.hpp:136:1: required by substitution of ‘template<class Serializable> typename boost::archive::detail::_ptr_serialization_support<boost::archive::xml_iarchive, Serializable>::type boost::archive::detail::instantiate_ptr_serialization(Serializable*, boost::archive::xml_iarchive*, boost::archive::detail::adl_tag) [with Serializable = gtsam::PreintegrationCombinedParams]’
/usr/include/boost/serialization/export.hpp:121:38: required from ‘void boost::archive::detail::extra_detail::guid_initializer<T>::export_guid(mpl_::false_) const [with T = gtsam::PreintegrationCombinedParams; mpl_::false_ = mpl_::bool_<false>]’
/usr/include/boost/serialization/export.hpp:131:9: required from ‘const boost::archive::detail::extra_detail::guid_initializer<T>& boost::archive::detail::extra_detail::guid_initializer<T>::export_guid() const [with T = gtsam::PreintegrationCombinedParams]’
/home/pramadoss/iit_ws/scrapyard/gtsam/gtsam/navigation/CombinedImuFactor.cpp:260:1: required from here
/home/pramadoss/iit_ws/scrapyard/gtsam/gtsam/3rdparty/Eigen/Eigen/src/Core/util/ForwardDeclarations.h:32:54: error: incomplete type ‘Eigen::internal::traits<boost::serialization::U>’ used in nested name specifier
32 | enum { has_direct_access = (traits<Derived>::Flags & DirectAccessBit) ? 1 : 0,
| ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
/home/pramadoss/iit_ws/scrapyard/gtsam/gtsam/3rdparty/Eigen/Eigen/src/Core/util/ForwardDeclarations.h:33:53: error: incomplete type ‘Eigen::internal::traits<boost::serialization::U>’ used in nested name specifier
33 | has_write_access = (traits<Derived>::Flags & LvalueBit) ? 1 : 0,
| ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
make[2]: *** [gtsam/CMakeFiles/gtsam.dir/build.make:1688: gtsam/CMakeFiles/gtsam.dir/navigation/CombinedImuFactor.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:3210: gtsam/CMakeFiles/gtsam.dir/all] Error 2
make: *** [Makefile:163: all] Error 2
|
Can you try to compile with C++17 and system Eigen? (This is exactly the problem that we had in CI). |
Compiling with the flags,
results in the same error, Compile log make -j4
[ 2%] Built target CppUnitLite
[ 21%] Built target metis-gtsam
[ 21%] Building CXX object gtsam/CMakeFiles/gtsam.dir/base/Matrix.cpp.o
[ 21%] Building CXX object gtsam/CMakeFiles/gtsam.dir/base/SymmetricBlockMatrix.cpp.o
[ 21%] Building CXX object gtsam/CMakeFiles/gtsam.dir/base/Vector.cpp.o
[ 24%] Building CXX object gtsam/CMakeFiles/gtsam.dir/base/VerticalBlockMatrix.cpp.o
[ 24%] Building CXX object gtsam/CMakeFiles/gtsam.dir/base/cholesky.cpp.o
[ 24%] Building CXX object gtsam/CMakeFiles/gtsam.dir/base/debug.cpp.o
[ 24%] Building CXX object gtsam/CMakeFiles/gtsam.dir/base/timing.cpp.o
[ 24%] Building CXX object gtsam/CMakeFiles/gtsam.dir/base/types.cpp.o
[ 24%] Building CXX object gtsam/CMakeFiles/gtsam.dir/geometry/Cal3.cpp.o
[ 24%] Building CXX object gtsam/CMakeFiles/gtsam.dir/geometry/Cal3Bundler.cpp.o
[ 24%] Building CXX object gtsam/CMakeFiles/gtsam.dir/geometry/Cal3DS2.cpp.o
[ 24%] Building CXX object gtsam/CMakeFiles/gtsam.dir/geometry/Cal3DS2_Base.cpp.o
[ 27%] Building CXX object gtsam/CMakeFiles/gtsam.dir/geometry/Cal3Fisheye.cpp.o
[ 27%] Building CXX object gtsam/CMakeFiles/gtsam.dir/geometry/Cal3Unified.cpp.o
[ 27%] Building CXX object gtsam/CMakeFiles/gtsam.dir/geometry/Cal3_S2.cpp.o
[ 27%] Building CXX object gtsam/CMakeFiles/gtsam.dir/geometry/Cal3_S2Stereo.cpp.o
[ 27%] Building CXX object gtsam/CMakeFiles/gtsam.dir/geometry/CalibratedCamera.cpp.o
[ 27%] Building CXX object gtsam/CMakeFiles/gtsam.dir/geometry/Cyclic.cpp.o
[ 27%] Building CXX object gtsam/CMakeFiles/gtsam.dir/geometry/EssentialMatrix.cpp.o
[ 27%] Building CXX object gtsam/CMakeFiles/gtsam.dir/geometry/Line3.cpp.o
[ 27%] Building CXX object gtsam/CMakeFiles/gtsam.dir/geometry/OrientedPlane3.cpp.o
[ 27%] Building CXX object gtsam/CMakeFiles/gtsam.dir/geometry/Point2.cpp.o
[ 29%] Building CXX object gtsam/CMakeFiles/gtsam.dir/geometry/Point3.cpp.o
[ 29%] Building CXX object gtsam/CMakeFiles/gtsam.dir/geometry/Pose2.cpp.o
[ 29%] Building CXX object gtsam/CMakeFiles/gtsam.dir/geometry/Pose3.cpp.o
[ 29%] Building CXX object gtsam/CMakeFiles/gtsam.dir/geometry/Rot2.cpp.o
[ 29%] Building CXX object gtsam/CMakeFiles/gtsam.dir/geometry/Rot3.cpp.o
[ 29%] Building CXX object gtsam/CMakeFiles/gtsam.dir/geometry/Rot3M.cpp.o
[ 29%] Building CXX object gtsam/CMakeFiles/gtsam.dir/geometry/SO3.cpp.o
[ 29%] Building CXX object gtsam/CMakeFiles/gtsam.dir/geometry/SO4.cpp.o
[ 29%] Building CXX object gtsam/CMakeFiles/gtsam.dir/geometry/SOn.cpp.o
[ 32%] Building CXX object gtsam/CMakeFiles/gtsam.dir/geometry/Similarity3.cpp.o
[ 32%] Building CXX object gtsam/CMakeFiles/gtsam.dir/geometry/SimpleCamera.cpp.o
[ 32%] Building CXX object gtsam/CMakeFiles/gtsam.dir/geometry/StereoCamera.cpp.o
[ 32%] Building CXX object gtsam/CMakeFiles/gtsam.dir/geometry/StereoPoint2.cpp.o
[ 32%] Building CXX object gtsam/CMakeFiles/gtsam.dir/geometry/Unit3.cpp.o
[ 32%] Building CXX object gtsam/CMakeFiles/gtsam.dir/geometry/triangulation.cpp.o
[ 32%] Building CXX object gtsam/CMakeFiles/gtsam.dir/inference/BayesTree.cpp.o
[ 32%] Building CXX object gtsam/CMakeFiles/gtsam.dir/inference/Factor.cpp.o
[ 32%] Building CXX object gtsam/CMakeFiles/gtsam.dir/inference/Key.cpp.o
[ 35%] Building CXX object gtsam/CMakeFiles/gtsam.dir/inference/LabeledSymbol.cpp.o
[ 35%] Building CXX object gtsam/CMakeFiles/gtsam.dir/inference/Ordering.cpp.o
[ 35%] Building CXX object gtsam/CMakeFiles/gtsam.dir/inference/Symbol.cpp.o
[ 35%] Building CXX object gtsam/CMakeFiles/gtsam.dir/inference/VariableIndex.cpp.o
[ 35%] Building CXX object gtsam/CMakeFiles/gtsam.dir/inference/VariableSlots.cpp.o
[ 35%] Building CXX object gtsam/CMakeFiles/gtsam.dir/symbolic/SymbolicBayesNet.cpp.o
[ 35%] Building CXX object gtsam/CMakeFiles/gtsam.dir/symbolic/SymbolicBayesTree.cpp.o
[ 35%] Building CXX object gtsam/CMakeFiles/gtsam.dir/symbolic/SymbolicConditional.cpp.o
[ 35%] Building CXX object gtsam/CMakeFiles/gtsam.dir/symbolic/SymbolicEliminationTree.cpp.o
[ 35%] Building CXX object gtsam/CMakeFiles/gtsam.dir/symbolic/SymbolicFactor.cpp.o
[ 37%] Building CXX object gtsam/CMakeFiles/gtsam.dir/symbolic/SymbolicFactorGraph.cpp.o
[ 37%] Building CXX object gtsam/CMakeFiles/gtsam.dir/symbolic/SymbolicISAM.cpp.o
[ 37%] Building CXX object gtsam/CMakeFiles/gtsam.dir/discrete/DecisionTreeFactor.cpp.o
[ 37%] Building CXX object gtsam/CMakeFiles/gtsam.dir/discrete/DiscreteBayesNet.cpp.o
[ 37%] Building CXX object gtsam/CMakeFiles/gtsam.dir/discrete/DiscreteBayesTree.cpp.o
[ 37%] Building CXX object gtsam/CMakeFiles/gtsam.dir/discrete/DiscreteConditional.cpp.o
[ 37%] Building CXX object gtsam/CMakeFiles/gtsam.dir/discrete/DiscreteEliminationTree.cpp.o
[ 37%] Building CXX object gtsam/CMakeFiles/gtsam.dir/discrete/DiscreteFactor.cpp.o
[ 40%] Building CXX object gtsam/CMakeFiles/gtsam.dir/discrete/DiscreteFactorGraph.cpp.o
[ 40%] Building CXX object gtsam/CMakeFiles/gtsam.dir/discrete/DiscreteJunctionTree.cpp.o
[ 40%] Building CXX object gtsam/CMakeFiles/gtsam.dir/discrete/DiscreteKey.cpp.o
[ 40%] Building CXX object gtsam/CMakeFiles/gtsam.dir/discrete/Potentials.cpp.o
[ 40%] Building CXX object gtsam/CMakeFiles/gtsam.dir/discrete/Signature.cpp.o
[ 40%] Building CXX object gtsam/CMakeFiles/gtsam.dir/linear/ConjugateGradientSolver.cpp.o
[ 40%] Building CXX object gtsam/CMakeFiles/gtsam.dir/linear/Errors.cpp.o
[ 40%] Building CXX object gtsam/CMakeFiles/gtsam.dir/linear/GaussianBayesNet.cpp.o
[ 40%] Building CXX object gtsam/CMakeFiles/gtsam.dir/linear/GaussianBayesTree.cpp.o
[ 40%] Building CXX object gtsam/CMakeFiles/gtsam.dir/linear/GaussianConditional.cpp.o
[ 43%] Building CXX object gtsam/CMakeFiles/gtsam.dir/linear/GaussianDensity.cpp.o
[ 43%] Building CXX object gtsam/CMakeFiles/gtsam.dir/linear/GaussianEliminationTree.cpp.o
[ 43%] Building CXX object gtsam/CMakeFiles/gtsam.dir/linear/GaussianFactor.cpp.o
[ 43%] Building CXX object gtsam/CMakeFiles/gtsam.dir/linear/GaussianFactorGraph.cpp.o
[ 43%] Building CXX object gtsam/CMakeFiles/gtsam.dir/linear/GaussianISAM.cpp.o
[ 43%] Building CXX object gtsam/CMakeFiles/gtsam.dir/linear/GaussianJunctionTree.cpp.o
[ 43%] Building CXX object gtsam/CMakeFiles/gtsam.dir/linear/HessianFactor.cpp.o
[ 43%] Building CXX object gtsam/CMakeFiles/gtsam.dir/linear/IterativeSolver.cpp.o
[ 43%] Building CXX object gtsam/CMakeFiles/gtsam.dir/linear/JacobianFactor.cpp.o
[ 45%] Building CXX object gtsam/CMakeFiles/gtsam.dir/linear/KalmanFilter.cpp.o
[ 45%] Building CXX object gtsam/CMakeFiles/gtsam.dir/linear/LossFunctions.cpp.o
[ 45%] Building CXX object gtsam/CMakeFiles/gtsam.dir/linear/NoiseModel.cpp.o
[ 45%] Building CXX object gtsam/CMakeFiles/gtsam.dir/linear/PCGSolver.cpp.o
[ 45%] Building CXX object gtsam/CMakeFiles/gtsam.dir/linear/Preconditioner.cpp.o
[ 45%] Building CXX object gtsam/CMakeFiles/gtsam.dir/linear/Sampler.cpp.o
[ 45%] Building CXX object gtsam/CMakeFiles/gtsam.dir/linear/Scatter.cpp.o
[ 45%] Building CXX object gtsam/CMakeFiles/gtsam.dir/linear/SubgraphBuilder.cpp.o
[ 45%] Building CXX object gtsam/CMakeFiles/gtsam.dir/linear/SubgraphPreconditioner.cpp.o
[ 45%] Building CXX object gtsam/CMakeFiles/gtsam.dir/linear/SubgraphSolver.cpp.o
[ 48%] Building CXX object gtsam/CMakeFiles/gtsam.dir/linear/VectorValues.cpp.o
[ 48%] Building CXX object gtsam/CMakeFiles/gtsam.dir/linear/iterative.cpp.o
[ 48%] Building CXX object gtsam/CMakeFiles/gtsam.dir/linear/linearExceptions.cpp.o
[ 48%] Building CXX object gtsam/CMakeFiles/gtsam.dir/nonlinear/CustomFactor.cpp.o
[ 48%] Building CXX object gtsam/CMakeFiles/gtsam.dir/nonlinear/DoglegOptimizer.cpp.o
[ 48%] Building CXX object gtsam/CMakeFiles/gtsam.dir/nonlinear/DoglegOptimizerImpl.cpp.o
[ 48%] Building CXX object gtsam/CMakeFiles/gtsam.dir/nonlinear/GaussNewtonOptimizer.cpp.o
[ 48%] Building CXX object gtsam/CMakeFiles/gtsam.dir/nonlinear/ISAM2-impl.cpp.o
[ 48%] Building CXX object gtsam/CMakeFiles/gtsam.dir/nonlinear/ISAM2.cpp.o
[ 51%] Building CXX object gtsam/CMakeFiles/gtsam.dir/nonlinear/ISAM2Clique.cpp.o
[ 51%] Building CXX object gtsam/CMakeFiles/gtsam.dir/nonlinear/ISAM2Params.cpp.o
[ 51%] Building CXX object gtsam/CMakeFiles/gtsam.dir/nonlinear/LevenbergMarquardtOptimizer.cpp.o
[ 51%] Building CXX object gtsam/CMakeFiles/gtsam.dir/nonlinear/LevenbergMarquardtParams.cpp.o
[ 51%] Building CXX object gtsam/CMakeFiles/gtsam.dir/nonlinear/LinearContainerFactor.cpp.o
[ 51%] Building CXX object gtsam/CMakeFiles/gtsam.dir/nonlinear/Marginals.cpp.o
[ 51%] Building CXX object gtsam/CMakeFiles/gtsam.dir/nonlinear/NonlinearConjugateGradientOptimizer.cpp.o
[ 51%] Building CXX object gtsam/CMakeFiles/gtsam.dir/nonlinear/NonlinearFactor.cpp.o
[ 51%] Building CXX object gtsam/CMakeFiles/gtsam.dir/nonlinear/NonlinearFactorGraph.cpp.o
[ 54%] Building CXX object gtsam/CMakeFiles/gtsam.dir/nonlinear/NonlinearISAM.cpp.o
[ 54%] Building CXX object gtsam/CMakeFiles/gtsam.dir/nonlinear/NonlinearOptimizer.cpp.o
[ 54%] Building CXX object gtsam/CMakeFiles/gtsam.dir/nonlinear/NonlinearOptimizerParams.cpp.o
[ 54%] Building CXX object gtsam/CMakeFiles/gtsam.dir/nonlinear/Values.cpp.o
[ 54%] Building CXX object gtsam/CMakeFiles/gtsam.dir/sfm/MFAS.cpp.o
[ 54%] Building CXX object gtsam/CMakeFiles/gtsam.dir/sfm/ShonanAveraging.cpp.o
[ 54%] Building CXX object gtsam/CMakeFiles/gtsam.dir/sfm/ShonanFactor.cpp.o
[ 54%] Building CXX object gtsam/CMakeFiles/gtsam.dir/sfm/TranslationRecovery.cpp.o
[ 54%] Building CXX object gtsam/CMakeFiles/gtsam.dir/slam/EssentialMatrixConstraint.cpp.o
[ 54%] Building CXX object gtsam/CMakeFiles/gtsam.dir/slam/FrobeniusFactor.cpp.o
[ 56%] Building CXX object gtsam/CMakeFiles/gtsam.dir/slam/InitializePose3.cpp.o
[ 56%] Building CXX object gtsam/CMakeFiles/gtsam.dir/slam/OrientedPlane3Factor.cpp.o
[ 56%] Building CXX object gtsam/CMakeFiles/gtsam.dir/slam/dataset.cpp.o
[ 56%] Building CXX object gtsam/CMakeFiles/gtsam.dir/slam/lago.cpp.o
[ 56%] Building CXX object gtsam/CMakeFiles/gtsam.dir/navigation/AHRSFactor.cpp.o
[ 56%] Building CXX object gtsam/CMakeFiles/gtsam.dir/navigation/AttitudeFactor.cpp.o
[ 56%] Building CXX object gtsam/CMakeFiles/gtsam.dir/navigation/CombinedImuFactor.cpp.o
[ 56%] Building CXX object gtsam/CMakeFiles/gtsam.dir/navigation/GPSFactor.cpp.o
[ 56%] Building CXX object gtsam/CMakeFiles/gtsam.dir/navigation/ImuBias.cpp.o
In file included from /usr/include/eigen3/Eigen/Core:365,
from /usr/include/eigen3/Eigen/Dense:1,
from /home/pramadoss/iit_ws/scrapyard/gtsam/gtsam/base/OptionalJacobian.h:22,
from /home/pramadoss/iit_ws/scrapyard/gtsam/gtsam/base/Matrix.h:27,
from /home/pramadoss/iit_ws/scrapyard/gtsam/gtsam/base/Manifold.h:22,
from /home/pramadoss/iit_ws/scrapyard/gtsam/gtsam/geometry/BearingRange.h:21,
from /home/pramadoss/iit_ws/scrapyard/gtsam/gtsam/geometry/Pose3.h:22,
from /home/pramadoss/iit_ws/scrapyard/gtsam/gtsam/navigation/NavState.h:21,
from /home/pramadoss/iit_ws/scrapyard/gtsam/gtsam/navigation/ManifoldPreintegration.h:24,
from /home/pramadoss/iit_ws/scrapyard/gtsam/gtsam/navigation/CombinedImuFactor.h:26,
from /home/pramadoss/iit_ws/scrapyard/gtsam/gtsam/navigation/CombinedImuFactor.cpp:23:
/usr/include/eigen3/Eigen/src/Core/util/ForwardDeclarations.h: In instantiation of ‘struct Eigen::internal::accessors_level<boost::serialization::U>’:
/usr/include/boost/serialization/split_free.hpp:58:13: required from ‘static void boost::serialization::free_loader<Archive, T>::invoke(Archive&, T&, unsigned int) [with Archive = boost::archive::xml_iarchive; T = Eigen::Matrix<double, 3, 3>]’
/usr/include/boost/serialization/split_free.hpp:74:18: required from ‘void boost::serialization::split_free(Archive&, T&, unsigned int) [with Archive = boost::archive::xml_iarchive; T = Eigen::Matrix<double, 3, 3>]’
/home/pramadoss/iit_ws/scrapyard/gtsam/gtsam/base/Matrix.h:594:17: required from ‘void boost::serialization::serialize(Archive&, Eigen::Matrix<Scalar_, Rows_, Cols_, Ops_, MaxRows_, MaxCols_>&, unsigned int) [with Archive = boost::archive::xml_iarchive; Scalar_ = double; int Rows_ = 3; int Cols_ = 3; int Ops_ = 0; int MaxRows_ = 3; int MaxCols_ = 3]’
/usr/include/boost/serialization/serialization.hpp:126:14: required from ‘void boost::serialization::serialize_adl(Archive&, T&, unsigned int) [with Archive = boost::archive::xml_iarchive; T = Eigen::Matrix<double, 3, 3>]’
/usr/include/boost/archive/detail/iserializer.hpp:187:40: [ skipping 21 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
/usr/include/boost/serialization/export.hpp:103:51: required from ‘static void boost::archive::detail::ptr_serialization_support<Archive, Serializable>::instantiate() [with Archive = boost::archive::xml_iarchive; Serializable = gtsam::PreintegrationCombinedParams]’
/usr/include/boost/serialization/export.hpp:84:1: required from ‘struct boost::archive::detail::ptr_serialization_support<boost::archive::xml_iarchive, gtsam::PreintegrationCombinedParams>’
/usr/include/boost/archive/detail/register_archive.hpp:25:8: required from ‘struct boost::archive::detail::_ptr_serialization_support<boost::archive::xml_iarchive, gtsam::PreintegrationCombinedParams>’
/usr/include/boost/archive/xml_iarchive.hpp:136:1: required by substitution of ‘template<class Serializable> typename boost::archive::detail::_ptr_serialization_support<boost::archive::xml_iarchive, Serializable>::type boost::archive::detail::instantiate_ptr_serialization(Serializable*, boost::archive::xml_iarchive*, boost::archive::detail::adl_tag) [with Serializable = gtsam::PreintegrationCombinedParams]’
/usr/include/boost/serialization/export.hpp:121:38: required from ‘void boost::archive::detail::extra_detail::guid_initializer<T>::export_guid(mpl_::false_) const [with T = gtsam::PreintegrationCombinedParams; mpl_::false_ = mpl_::bool_<false>]’
/usr/include/boost/serialization/export.hpp:131:9: required from ‘const boost::archive::detail::extra_detail::guid_initializer<T>& boost::archive::detail::extra_detail::guid_initializer<T>::export_guid() const [with T = gtsam::PreintegrationCombinedParams]’
/home/pramadoss/iit_ws/scrapyard/gtsam/gtsam/navigation/CombinedImuFactor.cpp:260:1: required from here
/usr/include/eigen3/Eigen/src/Core/util/ForwardDeclarations.h:32:54: error: incomplete type ‘Eigen::internal::traits<boost::serialization::U>’ used in nested name specifier
32 | enum { has_direct_access = (traits<Derived>::Flags & DirectAccessBit) ? 1 : 0,
| ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
/usr/include/eigen3/Eigen/src/Core/util/ForwardDeclarations.h:33:53: error: incomplete type ‘Eigen::internal::traits<boost::serialization::U>’ used in nested name specifier
33 | has_write_access = (traits<Derived>::Flags & LvalueBit) ? 1 : 0,
| ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
make[2]: *** [gtsam/CMakeFiles/gtsam.dir/build.make:1688: gtsam/CMakeFiles/gtsam.dir/navigation/CombinedImuFactor.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[1]: *** [CMakeFiles/Makefile2:3210: gtsam/CMakeFiles/gtsam.dir/all] Error 2
make: *** [Makefile:163: all] Error 2
So the additional Linux dependencies added in CI with lines https://github.com/dic-iit/kindyn-vio/blob/b27b9730b0595afd0a917744b5091dbb6c92a96f/.github/workflows/conda-ci.yml#L51-L53 are required exclusive for conda environments right? or should I try running a sudo apt install on these packages to see if my system is missing out on something? |
The problem occured in https://github.com/dic-iit/kindyn-vio/runs/3161345063 , and was fixed by e9bb7b3 . My guess is that this is a bug fixed in Eigen 3.3.9 (contaned in conda-forge) while that is still present in Eigen 3.3.7 (that is the version present with apt in Ubuntu 20.04, see https://repology.org/project/eigen/versions). I guess that for the time being a possible workaround is to install manually Eigen 3.3.9 and use that one for compiling boht gtsam and blf. |
In this CI here, I tried to compile GTSAM with C++17 which is reflected at the configuration step. The compilation of GTSAM is also successful, thanks to Eigen version However, the tests still fail due to segmentation fault on uncommenting the |
Did you tried to disable march=native (that probably changes Eigen ABI) as suggested in #25 (comment) ? |
Waiting for that workflow to finish. Added in https://github.com/dic-iit/kindyn-vio/actions/runs/1090785589/workflow. |
@traversaro @GiulioRomualdi CI passed without tests failing on segfaults. https://github.com/dic-iit/kindyn-vio/actions/runs/1090785589 |
|
For the sake of completeness,
|
Trying to run the
EKFOdometryiSAM2
example code added in e03a5be results in segmentation fault when the call togetOutput()
method is uncommented, with following output. It usesInvariantEKFBaseEstimator
class as the underlying floating base estimation method.Running the tests from within the BLF library (
InvariantEKFBaseEstimatorTest
in BLF), I do not have this problem.Valgrind output on debug
The text was updated successfully, but these errors were encountered: