Running under a (Delphi) debugger, the error is apparently caused by an invalid x64 opcode in libopenblas64_.dll (loaded from the julia 1.2 bin folder):
(libopenblas64_.dll was loaded at 0x17740000)
000000001888703F 90 nop ; 14x nop
0000000018887040 55 push rbp
0000000018887041 62 db $62 ; <== HERE undefined x64 instruction (x86 BOUND)
0000000018887042 F1 db $f1
0000000018887043 7D48 jnl $000000001888708d
0000000018887045 EF out dx,eax
0000000018887046 C04889E5 ror byte ptr [rax-$77],$e5
000000001888704A 4157 push r15
000000001888704C 4156 push r14
000000001888704E 4155 push r13
0000000018887050 4154 push r12
0000000018887052 57 push rdi
0000000018887053 56 push rsi
0000000018887054 53 push rbx
0000000018887055 4883E4C0 and rsp,-$40
0000000018887059 4883EC40 sub rsp,$40
000000001888705D 4C8B5D30 mov r11,[rbp+$30]
0000000018887061 4885C9 test rcx,rcx
0000000018887064 7E34 jle $000000001888709a
What the hell is up ?
If I replace libopenblas64_.dll with the one provided with Julia 0.6.2 it solves my problem, the REPL starts, with the following warning:
WARNING: Error during initialization of module LinearAlgebra:
ErrorException("could not load library "libopenblas64_"
The specified module could not be found.
")
┌ Error: Error during initialization of module CHOLMOD
│ exception =
│ could not load library "libcholmod"
│ The specified module could not be found.
│
│ Stacktrace:
│ [1] #dlopen#3(::Bool, ::typeof(Libdl.dlopen), ::String, ::UInt32) at C:\cygwin\home\Administrator\buildbot\worker\
package_win64\build\usr\share\julia\stdlib\v1.2\Libdl\src\Libdl.jl:109
│ [2] dlopen at C:\cygwin\home\Administrator\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.2\Libdl\s
rc\Libdl.jl:109 [inlined] (repeats 2 times)
│ [3] __init__() at C:\cygwin\home\Administrator\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.2\Sui
teSparse\src\cholmod.jl:89
└ @ SuiteSparse.CHOLMOD C:\cygwin\home\Administrator\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.2\Sui
teSparse\src\cholmod.jl:176
As I probably don’t need openblas, that’s fine with me (so far).
Edit:
Someone has had the exact same problem on a Mac:
https://github.com/JuliaLang/julia/issues/29652
sadly, that issue was closed before 1.2 was out. I’m going to try Julia 1.3.0rc to see if it solves my problem, and follow-up on GitHub.
Edit 2:
For the record, the solution of setting the OPENBLAS_CORETYPE env var suggested at the end of this GitHub issue work for me:
C:\Programs\Julia-1.2.0\bin>set OPENBLAS_CORETYPE=haswell
C:\Programs\Julia-1.2.0\bin>julia
_
_ _ _(_)_ | Documentation: https://docs.julialang.org
(_) | (_) (_) |
_ _ _| |_ __ _ | Type "?" for help, "]?" for Pkg help.
| | | | | | |/ _` | |
| | |_| | | | (_| | | Version 1.2.0 (2019-08-20)
_/ |\__'_|_|_|\__'_| | Official https://julialang.org/ release
|__/ |
Now it works fine (without AVX512 instructions which I probably don’t have anyway).