** On entry to DLASCLS parameter number 4 had an illegal value

DLASCL is an internal subroutine of LAPACK, i.e. one normally invoked only by other LAPACK routines. (I presume the extra ‘S’ is due to the thread scrambling.) From this internal property two things follow: 1) it calls LAPACK’s primitive error handler rather than returning an error code which would let Julia be more helpful. 2) the mistake is almost certainly a failure of thread safety in the LAPACK implementation or in a Julia wrapper. I suspect someone is misusing a static or global variable.

Are you using Openblas (the default provider of LAPACK for Julia)? If so, I suggest trying the MKL.jl package.

If you’re up for chasing bugs, you can run Julia under GDB and get a full stack trace by setting a breakpoint on (probably) xerbla_64_.

1 Like