Registered Member
|
I am getting access violation errors when attempting to do the subsequent operation : (tested with the scm version of eigen3 I checked out last monday and eigen3beta1 and beta2 in debug mode with Eigen assertions turned on)
typedef Eigen::SparseMatrix<SReal,Eigen::RowMajor> SparseMatrixEigenRowMajor; typedef Eigen::Matrix<SReal, Eigen::Dynamic, 1> VectorDynamicEigen; VectorDynamicEigen A; A.noalias() = M*c where M is a const SparseMatrixEigenRowMajor& c is a const VectorDynamicEigen& The buffer overrun occurs in the SparseTimeDenseProduct, which attempts to access an invalid index of the right hand side of the product, namely "c" in this case. more precisly in SparseTimeDenseProduct::scaleAndAddTo(Dest&, Scalar) If I switch the SparseMatrix to column major storage, the problem does not occur. Does it seems that I am doing something wrong here? Best, |
Registered Member
|
The first thing to check in case of access violations is: did you disable asserts? Make sure to try with asserts enabled (NDEBUG not defined, "debug build" in various IDEs).
Join us on Eigen's IRC channel: #eigen on irc.freenode.net
Have a serious interest in Eigen? Then join the mailing list! |
Registered Member
|
Asserts are indeed enabled.
As I said above this was tested in debug mode ( NDEBUG not defined ) with eigen assertions turned on (EIGEN_NO_DEBUG not defined) So in the process for example I did not catch any assertions about improper filling of the sparseMatrix ( like forgetting a finalize() or using startVec() improperly ) or an assertion about an invalid matrix product. |
Registered Member
|
Sorry for not reading carefully enough.
Could you please file a bug, and attach to it a readily compilable test case. Also please describe your compiler and platform.
Join us on Eigen's IRC channel: #eigen on irc.freenode.net
Have a serious interest in Eigen? Then join the mailing list! |
Registered Member
|
bug filed as:
Bug 126 - Access violation in SpareTimeDenseProduct with RowMajor storage |
Registered users: Bing [Bot], Evergrowing, Google [Bot], rockscient