Created attachment 739 [details] Backtrace I might be doing something wrong, but since this used to work without any issue, here is a minimal example segfaulting on 3.3-rc1. > cat test.cc #include <Eigen/Core> int main() { Eigen::Matrix< double, 3, 2 > block ; block.setOnes() ; Eigen::Vector2d rhs = Eigen::Vector2d::Zero() ; Eigen::Vector3d res = 1. * ( block * rhs ) ; return 0 ; } > g++-5 -I eigen-33r1/ test.cc -o test && ./test Segmentation fault > g++-5 -I eigen-33b2 test.cc -o test && ./test Happens with recent versions of gcc and clang > g++-6 -I eigen-33r1/ test.cc -o test && ./test Segmentation fault > clang++ -I eigen-33r1/ test.cc -o test && ./test Segmentation fault ..but can disappear once optimizations are enabled > clang++ -O3 -I eigen-eigen-e35a38ad89fe/ test.cc -o test && ./test > Regression seems to have been introduced in commit e35a38a > g++-5 -I eigen-eigen-e35a38ad89fe/ test.cc -o test && ./test Segmentation fault > g++-5 -I eigen-eigen-0b62bc896f80/ test.cc -o test && ./test > Reverting this patch on 3.3-rc1 fixed the issue on my side.
I can confirm this. I assume it is on all platforms that support vectorization. And you indeed found the offending commit.
Thank you for finding this issue. Fixed: https://bitbucket.org/eigen/eigen/commits/2f24280cf59a/ (the "offending" commit was only revealing a shortcoming elsewhere).
*** Bug 1321 has been marked as a duplicate of this bug. ***
-- 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/1311.