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

Seg faults due to Eigen alignment #211

Closed
mdailey opened this issue Sep 14, 2017 · 1 comment
Closed

Seg faults due to Eigen alignment #211

mdailey opened this issue Sep 14, 2017 · 1 comment

Comments

@mdailey
Copy link

mdailey commented Sep 14, 2017

On Ubuntu 16.04 with Eigen 3.3 or 3.4, I am having seg fault issues in the depth filter module due to the inclusion of Seed objects in a std::list.

The issue is straightforward to fix using Eigen's alignment allocators everywhere that std::list occurs in the current code.

Pull request coming shortly.

@mdailey
Copy link
Author

mdailey commented Sep 14, 2017

On further investigation, it seems the problem went away when I was more careful to use the same gcc options for my test program as the options being used to compile libsvo.so:

SET(CMAKE_CXX_FLAGS "-Wall -D_LINUX -D_REENTRANT -march=native -Wno-unused-variable -Wno-unused-but-set-variable -Wno-unknown-pragmas -std=c++0x")

I still don't understand why it works, though. PR #193 removed the alignment directives from the Seed list declarations in the depth filter module in favor of EIGEN_DEFINE_STL_VECTOR_SPECIALIZATION macro calls in global.h . However, Seed uses a Matrix2d. Why don't we need

EIGEN_DEFINE_STL_VECTOR_SPECIALIZATION(Matrix2d)

as shown in the Eigen docs to ensure alignment of the Matrix2d's in our Seed objects?

Anyway, since I can't reproduce the issue with the above-mentioned gcc flags, I'm closing this issue.

@mdailey mdailey closed this as completed Sep 14, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant