When I run tod_detecting I get the following error;
recognizer: /opt/ros/diamondback/stacks/geometry/eigen/include/Eigen/src/Core/DenseStorage.h:71: Eigen::internal::plain_array<t, size,="" matrixorarrayoptions,="" 16>::plain_array()="" [with="" t="float," int="" size="4," int="" matrixorarrayoptions="0]:" assertion="" `(reinterpret_cast<size_t="">(array) & 0xf) == 0 && "this assertion is explained here: " "http://eigen.tuxfamily.org/dox/UnalignedArrayAssert.html" " * READ THIS WEB PAGE !!! *"' failed.
When I get a backtrace I see the problem is coming from the point_cloud.h inside the pcl package.
#0 0xb7fe1424 in __kernel_vsyscall () #1 0xb524c941 in raise () from /lib/libc.so.6 #2 0xb524fe42 in abort () from /lib/libc.so.6 #3 0xb52458e8 in __assert_fail () from /lib/libc.so.6 #4 0xb7f6703d in plain_array (this=0x8148de8) at /opt/ros/diamondback/stacks/geometry/eigen/include/Eigen/src/Core/DenseStorage.h:71 #5 DenseStorage (this=0x8148de8) at /opt/ros/diamondback/stacks/geometry/eigen/include/Eigen/src/Core/DenseStorage.h:104 #6 PlainObjectBase (this=0x8148de8) at /opt/ros/diamondback/stacks/geometry/eigen/include/Eigen/src/Core/PlainObjectBase.h:354 #7 Matrix (this=0x8148de8) at /opt/ros/diamondback/stacks/geometry/eigen/include/Eigen/src/Core/Matrix.h:272 #8 Quaternion (this=0x8148de8) at /opt/ros/diamondback/stacks/geometry/eigen/include/Eigen/src/Geometry/Quaternion.h:252 #9 Identity (this=0x8148de8) at /opt/ros/diamondback/stacks/geometry/eigen/include/Eigen/src/Geometry/Quaternion.h:109 #10 PointCloud (this=0x8148de8) at /opt/ros/diamondback/stacks/perception_pcl/pcl/include/pcl/point_cloud.h:84 #11 tod::TexturedObject::TexturedObject (this=0x8148de8) at /host/Desktop/Thesis/ros/repository/object_recognition/tod/src/core/TexturedObject.cpp:18 #12 0xb5551ca0 in tod::Loader::readTexturedObjects(std::vector<cv::Ptr<tod::TexturedObject>, std::allocator<cv::Ptr<tod::TexturedObject> > >&) () from /host/ros/repository/object_recognition/tod_detecting/lib/libtod_detecting.so #13 0x0805f7cf in ?? () #14 0xb5238ce7 in __libc_start_main () from /lib/libc.so.6 #15 0x0805d001 in ?? ()
I visited the web page http://eigen.tuxfamily.org/dox/UnalignedArrayAssert.html but i didn't understand what is causing this error.
Does anyone know how to cope with it?
answered 2011-05-21 09:48:27 -0500dlmypr
I defined both EIGEN_DONT_VECTORIZE and EIGEN_DISABLE_UNALIGNED_ARRAY_ASSERT inside the recognizer.cpp and the problem is solved
The answer to this has very much to do with what exactly you're doing. If you're running a tod_detecting launch file that doesn't run any of your code, then it's almost certainly a bug in tod_detecting.
If you are using tod_detecting inside your own code, you could very well be violating the preconditions for using Eigen types with/inside your classes and functions.
In either case, more information about what you are doing and/or what you don't understand about Eigen is needed to help you.
Asked: 2011-05-20 14:33:09 -0500
Seen: 308 times
Last updated: May 21 '11