UnalignedArrayAssert in SimpleLocalizer

Bug #669407 reported by Sander van Dijk
12
This bug affects 2 people
Affects Status Importance Assigned to Milestone
littlegreenbats
Fix Released
Undecided
Unassigned

Bug Description

While running libbats-2.0 sample helloworldagent, I always get eigen assertion that says:

path/to/eigen2/Eigen/src/Core/MatrixStorage.h:44:
Eigen::ei_matrix_array<T, Size, MatrixOptions, Align>::ei_matrix_array()
[with T = double, int Size = 16, int MatrixOptions = 2, bool Align = true]:
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.

The agent flashes in simspark monitor for a while and then gets vanished.

Revision history for this message
Sander van Dijk (sgvandijk) wrote :

This is due to the SimpleLocalizer using Eigen members wrongly. It can be solved by adding the following line in the public section of Localizer/SimpleLocalizer/simplelocalizer.hh (for instance at line 101):

      EIGEN_MAKE_ALIGNED_OPERATOR_NEW

However, it is probably better to use the KalmanLocalizer instead of SimpleLocalizer instead, because the SimpleLocalizer actually doesn't do much useful. For this, change:

  SLocalizer::initialize<SimpleLocalizer>();

To

  SLocalizer::initialize<KalmanLocalizer>();

in examples/helloworld/HelloWorldAgent/init.cc. This is changed in the bzr repository, and fixed in the next version. Also see attached patch.

Changed in littlegreenbats:
status: New → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Related questions

Remote bug watches

Bug watches keep track of this bug in other bug trackers.