After installing MKL 11.0 Update 4 over MKL 11.0 Update 2 on Linux our QA process is SIGSEGV at...
#0 0x00002aaab745874a in mkl_serv_malloc ()
#1 0x00002aaab7f6bbcc in mkl_blas_mc3_dgemm_get_bufs ()
#2 0x00002aaab6ae8a99 in mkl_blas_mc3_xdgemm_par ()
#3 0x00002aaab4c2cf74 in mkl_blas_xdgemm_par ()
#4 0x00002aaab4b81ecb in mkl_blas_dgemm_2d_bsrc ()
#5 0x00002aaab4b7b489 in gemm_host ()
#6 0x00002aaabb92b4f3 in L_kmp_invoke_pass_parms ()
100% reproducible in certain cases.
Reverting to MKL Update 2 solves the issue.
Seems to happen after many iterations , and many threads computation created/destroyed.
Note we are running multiple (boost) threads that call MKL. We call MKL_Thread_Free_Buffers at the completion of each thread.