[ros-users] Data is not aligned assertion fails... (SACSegmentation)

Aitor Aldomà aldoma.aitor at gmail.com
Thu Sep 16 14:04:18 UTC 2010


Hi Sabrina,

adding -DEIGEN_DONT_VECTORIZE didnt work for me either. Then I found this
document:
http://eigen.tuxfamily.org/index.php?title=FAQ#I_disabled_vectorization.2C_but_I.27m_still_getting_annoyed_about_alignment_issues.21

Define EIGEN_DONT_ALIGN
Or define both EIGEN_DONT_VECTORIZE and EIGEN_DISABLE_UNALIGNED_ARRAY_ASSERT

Tried all possible combinations but it didnt work :) I was still becoming
the assertion. So, what I did in the end (not a very clean solution) was,

Added this to CMakeList.txt in pcl:
add_definitions(-DEIGEN_DISABLE_UNALIGNED_ARRAY_ASSERT
-DEIGEN_DONT_VECTORIZE)
add_definitions(-DEIGEN_DONT_ALIGN)

and finally comment the line in MapBase.h giving the assertion.
//ei_assert(EIGEN_IMPLIES(ei_traits<Derived>::Flags&AlignedBit,
(size_t(m_data)&0xf)==0)
 //           && "data is not aligned");

and remake PCL...

No idea which side effects this might have but its working fine now. Anyway,
just a temporal dirty solution.

Hope it works for you too.
Regards

Aitor

On Thu, Sep 16, 2010 at 12:40 PM, Sabrina Kliegl <skliegl at get.upb.de> wrote:

> Hi Radu,
>
> I am facing a similar problem as Aitor (I am using the
> tabletop_object_detector). Which CMakeLists.txt do I have to modify
> exactly?
>
> I tried the CMakeLists.txt in pcl then "make clean" and "make", but still
> get
> the failed assertion.
>
> Regards,
> Sabrina
>
> Am Dienstag 14 September 2010 10:42:22 schrieb Radu Bogdan Rusu:
> > Aitor,
> >
> > Thanks for the bug report. We're aware of the eigen 32-bit
> >  allocation/vectorization problems and are working on fixing these. In
> the
> >  meantime, you can enable EIGEN_DONT_VECTORIZE (-DEIGEN_DONT_VECTORIZE to
> >  add_definitions in CMakeLists.txt), which will fix these issues on 32bit
> >  architectures.
> >
> > Cheers,
> > Radu.
> >
> > On 09/14/2010 11:29 AM, Aitor Aldomà wrote:
> > > Hi everyone,
> > >
> > > was using the PCL to detect the dominant plane from a point cloud,
> > > similar to what is done in package tabletop_object_detector using
> > > SACSegmentation or SACSegmentationFromNormals and one assertion fails:
> > >
> > >
> /home/aa/ros/stacks/point_cloud_perception/eigen3/include/Eigen/src/Core/
> > >MapBase.h:192: void Eigen::MapBase<Derived>::checkSanity() const [with
> > > Derived = Eigen::Map<Eigen::Matrix<float, 4, 1, 0, 4, 1>, 1,
> > > Eigen::Stride<0, 0>
> > >
> > >  >]: Assertion `(!(ei_traits<Derived>::Flags&AlignedBit) ||
> > >
> > > ((size_t(m_data)&0xf)==0)) && "data is not aligned"' failed.
> > >
> > > Tried the example from:
> > > http://www.ros.org/wiki/pcl/Tutorials/Planar%20model%20segmentation
> > >
> > > and the error persists but it does not occur always, just every now and
> > > then :S I am testing on a 32-Bit Ubuntu operating system.
> > >
> > > Any idea? I would really appreciate it.
> > >
> > > Thanks in advance.
> > > Aitor
> > >
> > >
> > >
> > > _______________________________________________
> > > ros-users mailing list
> > > ros-users at code.ros.org
> > > https://code.ros.org/mailman/listinfo/ros-users
> >
> _______________________________________________
> ros-users mailing list
> ros-users at code.ros.org
> https://code.ros.org/mailman/listinfo/ros-users
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ros.org/pipermail/ros-users/attachments/20100916/ca8b7ffb/attachment-0003.html>


More information about the ros-users mailing list