The code below reproduces this error.
This bug should be related to the byte alignment problem.
#include <cblas.h> #include <stdlib.h> int main(void){ double *x = malloc(sizeof(double)*5); double *A = malloc(sizeof(double)*25); for(int i = 0; i<5 ; i++){ x[i]=i; } for(int i = 0; i<25; i++){ A[i]=0; } cblas_dsyr(CblasRowMajor, CblasUpper, 5, 1, x, 1, A, 5); free(x); free(A); return 0; }
Buffer overrun error occurs if the dimension of the Hessian is odd number.
This bug is found on the binary built with OpenBLAS.