Skip to content
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

I come across a assertion when I start mavros_node on odroid(32 bit) #1110

Closed
GaoGeolone opened this issue Oct 31, 2018 · 8 comments
Closed

Comments

@GaoGeolone
Copy link

GaoGeolone commented Oct 31, 2018

PLUGINLIB_EXPORT_CLASS(mavros::std_plugins::HilPlugin, mavros::plugin::PluginBase)

When I try to make a project on my odroid installed with ubuntu18.04 mate and ROS melodic, all the compiling work complete with some note, but nothing serious. but when I try to start my mavros_node, is will turn out nearly one time per three times .
here is my gdb result
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/arm-linux-gnueabihf/libthread_db.so.1".
[New Thread 0xb3815410 (LWP 3607)]
[New Thread 0xb2eff410 (LWP 3608)]
[New Thread 0xb26fe410 (LWP 3609)]
[New Thread 0xb1efd410 (LWP 3610)]
[New Thread 0xb12ff410 (LWP 3611)]
[ INFO] [1540970733.905790065]: FCU URL: /dev/ttyACM0:921600
[ INFO] [1540970733.916779873]: serial0: device: /dev/ttyACM0 @ 921600 bps
[New Thread 0xb08ff410 (LWP 3612)]
[ INFO] [1540970733.919662736]: GCS URL: udp://@192.168.1.100
[ INFO] [1540970733.921169030]: udp1: Bind address: 0.0.0.0:14555
[ INFO] [1540970733.921625110]: udp1: Remote address: 192.168.1.100:14550
[New Thread 0xafeff410 (LWP 3613)]
[ INFO] [1540970735.703958816]: Plugin 3dr_radio loaded
[ INFO] [1540970735.707693869]: Plugin 3dr_radio initialized
[ INFO] [1540970735.708110999]: Plugin actuator_control loaded
[ INFO] [1540970735.718174870]: Plugin actuator_control initialized
[ INFO] [1540970736.437021835]: Plugin adsb loaded
[ INFO] [1540970736.446367697]: Plugin adsb initialized
[ INFO] [1540970736.446893601]: Plugin altitude loaded
[ INFO] [1540970736.449977283]: Plugin altitude initialized
[ INFO] [1540970736.450483273]: Plugin cam_imu_sync loaded
[ INFO] [1540970736.452685867]: Plugin cam_imu_sync initialized
[ INFO] [1540970736.453156905]: Plugin command loaded
[ INFO] [1540970736.465834737]: Plugin command initialized
[ INFO] [1540970736.466359890]: Plugin debug_value loaded
[ INFO] [1540970736.478458287]: Plugin debug_value initialized
[ INFO] [1540970736.478997105]: Plugin distance_sensor loaded
[ WARN] [1540970736.481226028]: DS: plugin not configured!
[ INFO] [1540970736.481357295]: Plugin distance_sensor initialized
[ INFO] [1540970736.482017465]: Plugin fake_gps loaded
[ INFO] [1540970736.498935266]: Plugin fake_gps initialized
[ INFO] [1540970736.499485831]: Plugin ftp loaded
[ INFO] [1540970736.519692485]: Plugin ftp initialized
[ INFO] [1540970736.520261880]: Plugin global_position loaded
[ INFO] [1540970736.549514784]: Plugin global_position initialized
[ INFO] [1540970736.550125755]: Plugin gps_rtk loaded
[ INFO] [1540970736.555932602]: Plugin gps_rtk initialized

mavros_node: /usr/include/eigen3/Eigen/src/Core/DenseStorage.h:109: Eigen::internal::plain_array<T, Size, MatrixOrArrayOptions, 16>::plain_array() [with T = double; int Size = 4; int MatrixOrArrayOptions = 0]: Assertion (internal::UIntPtr(eigen_unaligned_array_assert_workaround_gcc47(array)) & (15)) == 0 && "this assertion is explained here: " "http://eigen.tuxfamily.org/dox-devel/group__TopicUnalignedArrayAssert.html" " **** READ THIS WEB PAGE !!! ****"' failed.
Thread 1 "mavros_node" received signal SIGABRT, Aborted.
__libc_do_syscall () at ../sysdeps/unix/sysv/linux/arm/libc-do-syscall.S:47
47 ../sysdeps/unix/sysv/linux/arm/libc-do-syscall.S: No such file or directory.

(gdb) bt
#0 __libc_do_syscall () at ../sysdeps/unix/sysv/linux/arm/libc-do-syscall.S:47
#1 0xb6841b32 in __libc_signal_restore_set (set=0xbeffd514) at ../sysdeps/unix/sysv/linux/nptl-signals.h:80
#2 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:48
#3 0xb684282e in __GI_abort () at abort.c:79
#4 0xb683cd22 in __assert_fail_base (fmt=0xb68f2a78 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n",
assertion=0xb6f8cbf0 "(internal::UIntPtr(eigen_unaligned_array_assert_workaround_gcc47(array)) & (15)) == 0 && "this assertion is explained here: " "http://eigen.tuxfamily.org/dox-devel/group__TopicUnalignedArrayAssert.htm"..., assertion@entry=0x0,
file=0xb6f8cbbc "/usr/include/eigen3/Eigen/src/Core/DenseStorage.h", file@entry=0xb4021010 "\001", line=109, line@entry=3069758396,
function=function@entry=0xb6f8d870 <Eigen::internal::plain_array<double, 4, 0, 16>::plain_array()::PRETTY_FUNCTION> "Eigen::internal::plain_array<T, Size, MatrixOrArrayOptions, 16>::plain_array() [with T = double; int Size = 4; int MatrixOrArrayOptions = 0]") at assert.c:92
#5 0xb683cdaa in __GI___assert_fail (assertion=0x0, file=0xb4021010 "\001", line=3069758396,
function=0xb6f8d870 <Eigen::internal::plain_array<double, 4, 0, 16>::plain_array()::PRETTY_FUNCTION> "Eigen::internal::plain_array<T, Size, MatrixOrArrayOptions, 16>::plain_array() [with T = double; int Size = 4; int MatrixOrArrayOptions = 0]") at assert.c:101
#6 0xb6f25050 in Eigen::internal::plain_array<double, 4, 0, 16>::plain_array() ()
from /home/odroid/Odroid_Scout_ROS/devel_isolated/mavros/lib/libmavros.so
#7 0xb6f24eda in Eigen::DenseStorage<double, 4, 4, 1, 0>::DenseStorage() ()
from /home/odroid/Odroid_Scout_ROS/devel_isolated/mavros/lib/libmavros.so
#8 0xb6f24cd8 in Eigen::PlainObjectBase<Eigen::Matrix<double, 4, 1, 0, 4, 1> >::PlainObjectBase() ()
from /home/odroid/Odroid_Scout_ROS/devel_isolated/mavros/lib/libmavros.so
#9 0xb6f2840e in Eigen::Matrix<double, 4, 1, 0, 4, 1>::Matrix() () from /home/odroid/Odroid_Scout_ROS/devel_isolated/mavros/lib/libmavros.so
#10 0xaf250820 in Eigen::Quaternion<double, 0>::Quaternion() ()
from /home/odroid/Odroid_Scout_ROS/devel_isolated/mavros/lib//libmavros_plugins.so
#11 0xaf35c114 in mavros::std_plugins::HilPlugin::HilPlugin() ()
from /home/odroid/Odroid_Scout_ROS/devel_isolated/mavros/lib//libmavros_plugins.so

#12 0xaf36e1c8 in class_loader::impl::MetaObject<mavros::std_plugins::HilPlugin, mavros::plugin::PluginBase>::create() const ()
from /home/odroid/Odroid_Scout_ROS/devel_isolated/mavros/lib//libmavros_plugins.so
#13 0xb6f5ec14 in mavros::plugin::PluginBase* class_loader::impl::createInstancemavros::plugin::PluginBase(std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&, class_loader::ClassLoader*) ()
from /home/odroid/Odroid_Scout_ROS/devel_isolated/mavros/lib/libmavros.so
#14 0xb6f5c04c in mavros::plugin::PluginBase* class_loader::ClassLoader::createRawInstancemavros::plugin::PluginBase(std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&, bool) ()
from /home/odroid/Odroid_Scout_ROS/devel_isolated/mavros/lib/libmavros.so
#15 0xb6f5895e in boost::shared_ptrmavros::plugin::PluginBase class_loader::ClassLoader::createInstancemavros::plugin::PluginBase(std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&) ()
from /home/odroid/Odroid_Scout_ROS/devel_isolated/mavros/lib/libmavros.so
---Type to continue, or q to quit---
#16 0xb6f53822 in boost::shared_ptrmavros::plugin::PluginBase class_loader::MultiLibraryClassLoader::createInstancemavros::plugin::PluginBase(std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&) ()
from /home/odroid/Odroid_Scout_ROS/devel_isolated/mavros/lib/libmavros.so
#17 0xb6f4f9d4 in pluginlib::ClassLoadermavros::plugin::PluginBase::createInstance(std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&) () from /home/odroid/Odroid_Scout_ROS/devel_isolated/mavros/lib/libmavros.so
#18 0xb6f4786c in mavros::MavRos::add_plugin(std::__cxx11::basic_string<char, std::char_traits, std::allocator >&, std::vector<std::__cxx11::basic_string<char, std::char_traits, std::allocator >, std::allocator<std::__cxx11::basic_string<char, std::char_traits, std::allocator > > >&, std::vector<std::__cxx11::basic_string<char, std::char_traits, std::allocator >, std::allocator<std::__cxx11::basic_string<char, std::char_traits, std::allocator > > >&) ()
from /home/odroid/Odroid_Scout_ROS/devel_isolated/mavros/lib/libmavros.so
#19 0xb6f45eac in mavros::MavRos::MavRos() () from /home/odroid/Odroid_Scout_ROS/devel_isolated/mavros/lib/libmavros.so
#20 0x004438b8 in main ()

and as what I have learned from the http://eigen.tuxfamily.org/dox-devel/group__TopicUnalignedArrayAssert.htm
I think this may caused by my 32bits odroid

@GaoGeolone GaoGeolone changed the title I come across a assertion here I come across a assertion when I start mavros_node on odroid Oct 31, 2018
@GaoGeolone
Copy link
Author

class HilPlugin : public plugin::PluginBase {
public:
HilPlugin() : PluginBase(),
hil_nh("~hil")
{ }
EIGEN_MAKE_ALIGNED_OPERATOR_NEW
void initialize(UAS &uas_)

@TSC21
Copy link
Member

TSC21 commented Oct 31, 2018

Can you please check if with that fix it also builds and runs as it should on a normal computer (x86/x64)?

@GaoGeolone
Copy link
Author

Can you please check if with that fix it also builds and runs as it should on a normal computer (x86/x64)?

OK,I will check.Thank you for your reply

@GaoGeolone
Copy link
Author

@TSC21
My test turns out to be normal,and as the reference from http://eigen.tuxfamily.org/dox-devel/group__TopicStructHavingEigenMembers.html
this will be disposed automatically.

@TSC21
Copy link
Member

TSC21 commented Oct 31, 2018

Ok cool. Can you issue a PR with that fix? Thanks!

@GaoGeolone
Copy link
Author

Ok cool. Can you issue a PR with that fix? Thanks!

Excuse me, maybe I need some time to figure out how to use 'rosinstall_generator' to PR

@GaoGeolone
Copy link
Author

#1111 I made a PR, may it will help

@GaoGeolone GaoGeolone changed the title I come across a assertion when I start mavros_node on odroid I come across a assertion when I start mavros_node on odroid(32 bit) Oct 31, 2018
@GaoGeolone
Copy link
Author

@TSC21 Excuse me ,I don't know why the Continuous Integration failed ,maybe it is the version issue?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants