Getting "munmap_chunk(): invalid pointer" in test when compiled with mkl and "Intel MKL ERROR: Parameter 10 was incorrect on entry to DGESDD" when computing SVD
###############################################################################
# Unit Tests #
# Xerus version: v3.0.1-315-g47ed838 #
###############################################################################
-------------------------------------------------------------------------------
| ALS
|
| decomposition_als starting: *** Error in `./XerusTest': munmap_chunk(): invalid pointer: 0x00000000014d7000 ***
make: *** [test] Aborted
OS: ubuntu 14.04
mkl versoin: 2018
compiler: gcc-8 / icpc
linked as what Intel® Math Kernel Library Link Line Advisor suggests. Same on the master branch.
My program works well in the master branch in spite of this. However, on the development branch it gives me
Intel MKL ERROR: Parameter 10 was incorrect on entry to DGESDD.
terminate called after throwing an instance of 'xerus::misc::generic_error'
what(): src/xerus/blasLapackWrapper.cpp:227: error invoked:
info == 0 failed msg: work array size query of dgesdd returned -10
callstack:
[0x00007f12f47cc253 .text] /home/***/xerus/src/xerus/blasLapackWrapper.cpp:227 (inside xerus::blasWrapper::dgesdd_get_workarray_size(int, int))
[0x00007f12f47d0833 .text] /home/***/xerus/src/xerus/blasLapackWrapper.cpp:254 (inside xerus::blasWrapper::svd_destructive(double*, double*, double*, double*, unsigned long, unsigned long))
[0x00007f12f47d118b .text] /home/***/xerus/src/xerus/blasLapackWrapper.cpp:217 (inside xerus::blasWrapper::svd(double*, double*, double*, double const*, unsigned long, unsigned long))
[0x00007f12f487c42b .text] /home/***/xerus/src/xerus/tensor.cpp:1474 (inside xerus::calculate_svd(xerus::Tensor&, xerus::Tensor&, xerus::Tensor&, xerus::Tensor, unsigned long, unsigned long, double))
/* more */
exception thrown in function: dgesdd_get_workarray_size (src/xerus/blasLapackWrapper.cpp : 227)
which I believe is caused by 43371e43.