This forum has been archived. All content is frozen. Please use KDE Discuss instead.

Access violation in SparseTimeDenseProduct ?

Tags: None
(comma "," separated)
fjourdes
Registered Member
Posts
3
Karma
0
OS
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,
User avatar
bjacob
Registered Member
Posts
658
Karma
3
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!
fjourdes
Registered Member
Posts
3
Karma
0
OS
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.
User avatar
bjacob
Registered Member
Posts
658
Karma
3
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!
fjourdes
Registered Member
Posts
3
Karma
0
OS
bug filed as:

Bug 126 - Access violation in SpareTimeDenseProduct with RowMajor storage


Bookmarks



Who is online

Registered users: Bing [Bot], Evergrowing, Google [Bot], rockscient