error when running standalone rtabmap

classic Classic list List threaded Threaded
9 messages Options
zsh
Reply | Threaded
Open this post in threaded view
|

error when running standalone rtabmap

zsh
Hi!

I compiled and installed standalone rtabmap(v.10.10) by source.Then when i run rtabmap from terminal,i got this error:

rtabmap: /usr/include/eigen3/Eigen/src/Core/DenseBase.h:232: void Eigen::DenseBase<Derived>::resize(Eigen::DenseBase<Derived>::Index, Eigen::DenseBase<Derived>::Index) [with Derived = Eigen::Map<Eigen::Matrix<double, -1, -1>, 0, Eigen::Stride<0, 0> >; Eigen::DenseBase<Derived>::Index = long int]: Assertion `nbRows == this->rows() && nbCols == this->cols() && "DenseBase::resize() does not actually allow to resize."' failed.

However, when i install standalone rtabmap by apt(the package is ros-jade-rtabmap),the application is working with no error.

what should i do to fix the error. Thanks.

zsh


Reply | Threaded
Open this post in threaded view
|

Re: error when running standalone rtabmap

matlabbe
Administrator
Hi,

Is this error happen before seeing the main window? What is your system?

cheers
zsh
Reply | Threaded
Open this post in threaded view
|

Re: error when running standalone rtabmap

zsh
yes,it happened before main windows and the main windows didn't appear,and my system is ubuntu 14.04 and my ros version is jade.

Thanks
Reply | Threaded
Open this post in threaded view
|

Re: error when running standalone rtabmap

matlabbe
Administrator
Hi,

I can't reproduce the error (well, I tested with the latest version from github). To see more information, you could set the Logger to Debug level. Set this line of app/src/main.cpp to ULogger::kDebug:
ULogger::setLevel(ULogger::kDebug);

Then launch again "bin/rtabmap" to see if you can have more info before the application exits.

cheers
Reply | Threaded
Open this post in threaded view
|

Re: error when running standalone rtabmap

Beda

Hi,
I have the same problem with just different line numbers. Problem is only with debug build, without debug it works OK. I tried git version and 0.11.8 - both same problem.

rtabmap: /opt/gtsam/include/gtsam/3rdparty/Eigen/Eigen/src/Core/DenseBase.h:228: void Eigen::DenseBase::resize(Eigen::DenseBase::Index, Eigen::DenseBase::Index) [with Derived = Eigen::Map<Eigen::Matrix<double, -1, -1>, 0, Eigen::Stride<0, 0> >; Eigen::DenseBase::Index = long int]: Assertion `nbRows == this->rows() && nbCols == this->cols() && "DenseBase::resize() does not actually allow to resize."' failed. Aborted (core dumped)

Setting Logger to Debug level did not help - same error with no more info.

GTSAM has its own EIGEN version, but error is the same even without GTSAM - with system Eigen version. (GTSAM built from git, eigen version 3.2.10)

Here is backtrace:


Thread 1 (Thread 0x7ffff7e07e80 (LWP 2215)):
#0  0x00007fffc4c9904f in raise () at /usr/lib/libc.so.6
#1  0x00007fffc4c9a47a in abort () at /usr/lib/libc.so.6
#2  0x00007fffc4c91ea7 in __assert_fail_base () at /usr/lib/libc.so.6
#3  0x00007fffc4c91f52 in  () at /usr/lib/libc.so.6
#4  0x00007fffeaf4edd1 in Eigen::DenseBase<Eigen::Map<Eigen::Matrix<double, -1, -1, 0, -1, -1>, 0, Eigen::Stride<0, 0> > >::resize(long, long) (this=0x7b8450, nbRows=3, nbCols=3) at /usr/include/eigen3/Eigen/src/Core/DenseBase.h:227
        __PRETTY_FUNCTION__ = "void Eigen::DenseBase::resize(Eigen::DenseBase::Index, Eigen::DenseBase::Index) [with Derived = Eigen::Map<Eigen::Matrix<double, -1, -1>, 0, Eigen::Stride<0, 0> >; Eigen::DenseBase::Index = long int]"
#5  0x00007fffeaf4c9c9 in EdgeSE2Switchable::EdgeSE2Switchable() (this=0x7b8240) at /path/rtab-map-fork/rtabmap/corelib/src/vertigo/g2o/edge_se2Switchable.cpp:22
#6  0x00007fffeaf7b26c in g2o::HyperGraphElementCreator::construct() (this=0x7b8010) at /usr/include/g2o/core/creators.h:67
#7  0x00007fffe942a889 in g2o::Factory::registerType(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator > const&, g2o::AbstractHyperGraphElementCreator*) () at /usr/lib/libg2o_core.so
#8  0x00007fffeaf7ac30 in g2o::RegisterTypeProxy::RegisterTypeProxy(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator > const&) (this=0x7fffeb51e300 , name=...) at /usr/include/g2o/core/factory.h:139
#9  0x00007fffeaf7a92b in __static_initialization_and_destruction_0(int, int) (__initialize_p=1, __priority=65535) at /path/rtab-map-fork/rtabmap/corelib/src/vertigo/g2o/types_g2o_robust.cpp:12
#10 0x00007fffeaf7ab10 in _GLOBAL__sub_I_types_g2o_robust.cpp(void) () at /path/rtab-map-fork/rtabmap/corelib/src/vertigo/g2o/types_g2o_robust.cpp:15
#11 0x00007ffff7de94fa in call_init.part () at /lib64/ld-linux-x86-64.so.2
#12 0x00007ffff7de960b in _dl_init () at /lib64/ld-linux-x86-64.so.2
#13 0x00007ffff7ddadaa in _dl_start_user () at /lib64/ld-linux-x86-64.so.2
#14 0x0000000000000001 in  ()
#15 0x00007fffffffe98d in  ()
#16 0x0000000000000000 in  ()
Reply | Threaded
Open this post in threaded view
|

Re: error when running standalone rtabmap

matlabbe
Administrator
Hi,

The error seems coming from EdgeSE2Switchable, which is used when robust graph optimization is enabled ("Optimizer/Robust" = true). If you disable robust graph optimization, do you still have the error?
Reply | Threaded
Open this post in threaded view
|

Re: error when running standalone rtabmap

Beda
In reply to this post by Beda
Reply | Threaded
Open this post in threaded view
|

Re: error when running standalone rtabmap

matlabbe
Administrator
Ok thx, there is something wrong with G2O_REGISTER_TYPE and these types. What is your machine configuration? Do you use g2o from source or the one installed by kinetic/indigo?
Reply | Threaded
Open this post in threaded view
|

Re: error when running standalone rtabmap

Beda
I have Archlinux x86_64, g2o from git, most of libraries in latest available version, gcc 6.2.1.
Do you need more info?