Created attachment 783 [details] Patch SSE intrinsics can be called with unaligned pointers in quat_product::run, causing SegFault. The same applies to quat_conj::run. $ cat qprod.cpp #include <Eigen/Geometry> int main() { Eigen::Quaterniond q1 = Eigen::Quaterniond(1,0,0,0); Eigen::Quaterniond q2 = Eigen::Quaterniond(1,0,0,0); Eigen::Quaterniond q = q1 * q2; return q.norm(); } $ clang++ --version clang version 3.7.0 (trunk 239477) Target: x86_64-unknown-linux-gnu $ clang++ -I. -DEIGEN_DONT_ALIGN_STATICALLY qprod.cpp $ ./a.out Segmentation fault Note that the above code may not cause SegFault if on-stack Quaternion objects happen to be 16-byte aligned. The issue seems to exist in the latest stable and development branches, and is solved by an attached patch. Thanks, Shuntaro
Can anyone take a look at this report?
Thank you for the report and patch that I adapted to be more general: https://bitbucket.org/eigen/eigen/commits/ecca45864eb6 (devel) https://bitbucket.org/eigen/eigen/commits/19554c1ac9a5 (3.3)
-- GitLab Migration Automatic Message -- This bug has been migrated to gitlab.com's GitLab instance and has been closed from further activity. You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.com/libeigen/eigen/issues/1411.