Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

scary errors during precompilation #294

Closed
kalmarek opened this issue Jul 11, 2024 · 2 comments
Closed

scary errors during precompilation #294

kalmarek opened this issue Jul 11, 2024 · 2 comments

Comments

@kalmarek
Copy link
Collaborator

Precompiling SCSSCS_MKL_jllExt
         Info Given SCSSCS_MKL_jllExt was explicitly requested, output 
will be shown live
ERROR: LoadError: UndefVarError: `libscsmkl` not defined
Stacktrace:
  [1] getproperty(x::Module, f::Symbol)
    @ Base .\Base.jl:31
  [2] top-level scope
    @ C:\Users\dawid\.julia\packages\SCS\mqg7w\ext\SCSSCS_MKL_jllExt.jl:11
  [3] include
    @ .\Base.jl:495 [inlined]
  [4] include_package_for_output(pkg::Base.PkgId, input::String, 
depot_path::Vector{String}, dl_load_path::Vector{String}, 
load_path::Vector{String}, concrete_deps::Vector{Pair{Base.PkgId, 
UInt128}}, source::Nothing)
    @ Base .\loading.jl:2222
  [5] top-level scope
    @ stdin:3
in expression starting at 
C:\Users\dawid\.julia\packages\SCS\mqg7w\ext\SCSSCS_MKL_jllExt.jl:6
in expression starting at stdin:3
   ✗ SCS  SCSSCS_MKL_jllExt
   0 dependencies successfully precompiled in 3 seconds. 49 already 
precompiled.
[ Info: Precompiling SCSSCS_MKL_jllExt 
[35b951bd-bc4e-5cd9-90c5-f6de5c23ce67]
ERROR: LoadError: UndefVarError: `libscsmkl` not defined
Stacktrace:
  [1] getproperty(x::Module, f::Symbol)
    @ Base .\Base.jl:31
  [2] top-level scope
    @ C:\Users\dawid\.julia\packages\SCS\mqg7w\ext\SCSSCS_MKL_jllExt.jl:11
  [3] include
    @ .\Base.jl:495 [inlined]
  [4] include_package_for_output(pkg::Base.PkgId, input::String, 
depot_path::Vector{String}, dl_load_path::Vector{String}, 
load_path::Vector{String}, concrete_deps::Vector{Pair{Base.PkgId, 
UInt128}}, source::String)
    @ Base .\loading.jl:2222
  [5] top-level scope
    @ stdin:3
in expression starting at 
C:\Users\dawid\.julia\packages\SCS\mqg7w\ext\SCSSCS_MKL_jllExt.jl:6
in expression starting at stdin:3
┌ Error: Error during loading of extension SCSSCS_MKL_jllExt of SCS, use 
`Base.retry_load_extensions()` to retry.
│   exception =1-element ExceptionStack:
│    Failed to precompile SCSSCS_MKL_jllExt 
[35b951bd-bc4e-5cd9-90c5-f6de5c23ce67] to 
"C:\\Users\\dawid\\.julia\\compiled\\v1.10\\SCSSCS_MKL_jllExt\\jl_7816.tmp".
│    Stacktrace:
│      [1] error(s::String)
│        @ Base .\error.jl:35
│      [2] compilecache(pkg::Base.PkgId, path::String, 
internal_stderr::IO, internal_stdout::IO, keep_loaded_modules::Bool)
│        @ Base .\loading.jl:2468
│      [3] compilecache
│        @ .\loading.jl:2340 [inlined]
│      [4] (::Base.var"#968#969"{Base.PkgId})()
│        @ Base .\loading.jl:1974
│      [5] mkpidlock(f::Base.var"#968#969"{Base.PkgId}, at::String, 
pid::Int32; kwopts::@Kwargs{stale_age::Int64, wait::Bool})
│        @ FileWatching.Pidfile 
C:\Users\dawid\.julia\juliaup\julia-1.10.4+0.x64.w64.mingw32\share\julia\stdlib\v1.10\FileWatching\src\pidfile.jl:93
│      [6] #mkpidlock#6
│        @ 
C:\Users\dawid\.julia\juliaup\julia-1.10.4+0.x64.w64.mingw32\share\julia\stdlib\v1.10\FileWatching\src\pidfile.jl:88 
[inlined]
│      [7] trymkpidlock(::Function, ::Vararg{Any}; 
kwargs::@Kwargs{stale_age::Int64})
│        @ FileWatching.Pidfile 
C:\Users\dawid\.julia\juliaup\julia-1.10.4+0.x64.w64.mingw32\share\julia\stdlib\v1.10\FileWatching\src\pidfile.jl:111
│      [8] #invokelatest#2
│        @ .\essentials.jl:894 [inlined]
│      [9] invokelatest
│        @ .\essentials.jl:889 [inlined]
│     [10] maybe_cachefile_lock(f::Base.var"#968#969"{Base.PkgId}, 
pkg::Base.PkgId, srcpath::String; stale_age::Int64)
│        @ Base .\loading.jl:2983
│     [11] maybe_cachefile_lock
│        @ .\loading.jl:2980 [inlined]
│     [12] _require(pkg::Base.PkgId, env::Nothing)
│        @ Base .\loading.jl:1970
│     [13] __require_prelocked(uuidkey::Base.PkgId, env::Nothing)
│        @ Base .\loading.jl:1812
│     [14] #invoke_in_world#3
│        @ .\essentials.jl:926 [inlined]
│     [15] invoke_in_world
│        @ .\essentials.jl:923 [inlined]
│     [16] _require_prelocked
│        @ .\loading.jl:1803 [inlined]
│     [17] _require_prelocked
│        @ .\loading.jl:1802 [inlined]
│     [18] run_extension_callbacks(extid::Base.ExtensionId)
│        @ Base .\loading.jl:1295
│     [19] run_extension_callbacks(pkgid::Base.PkgId)
│        @ Base .\loading.jl:1330
│     [20] run_package_callbacks(modkey::Base.PkgId)
│        @ Base .\loading.jl:1164
│     [21] __require_prelocked(uuidkey::Base.PkgId, env::String)
│        @ Base .\loading.jl:1819
│     [22] #invoke_in_world#3
│        @ .\essentials.jl:926 [inlined]
│     [23] invoke_in_world
│        @ .\essentials.jl:923 [inlined]
│     [24] _require_prelocked(uuidkey::Base.PkgId, env::String)
│        @ Base .\loading.jl:1803
│     [25] macro expansion
│        @ .\loading.jl:1790 [inlined]
│     [26] macro expansion
│        @ .\lock.jl:267 [inlined]
│     [27] __require(into::Module, mod::Symbol)
│        @ Base .\loading.jl:1753
│     [28] #invoke_in_world#3
│        @ .\essentials.jl:926 [inlined]
│     [29] invoke_in_world
│        @ .\essentials.jl:923 [inlined]
│     [30] require(into::Module, mod::Symbol)
│        @ Base .\loading.jl:1746
│     [31] include(fname::String)
│        @ Base.MainInclude .\client.jl:489
│     [32] top-level scope
│        @ In[45]:1
│     [33] eval
│        @ .\boot.jl:385 [inlined]
│     [34] include_string(mapexpr::typeof(REPL.softscope), mod::Module, 
code::String, filename::String)
│        @ Base .\loading.jl:2076
│     [35] softscope_include_string(m::Module, code::String, 
filename::String)
│        @ SoftGlobalScope 
C:\Users\dawid\.julia\packages\SoftGlobalScope\u4UzH\src\SoftGlobalScope.jl:65
│     [36] execute_request(socket::ZMQ.Socket, msg::IJulia.Msg)
│        @ IJulia 
C:\Users\dawid\.julia\packages\IJulia\bHdNn\src\execute_request.jl:67
│     [37] #invokelatest#2
│        @ .\essentials.jl:892 [inlined]
│     [38] invokelatest
│        @ .\essentials.jl:889 [inlined]
│     [39] eventloop(socket::ZMQ.Socket)
│        @ IJulia 
C:\Users\dawid\.julia\packages\IJulia\bHdNn\src\eventloop.jl:8
│     [40] (::IJulia.var"#15#18")()
│        @ IJulia 
C:\Users\dawid\.julia\packages\IJulia\bHdNn\src\eventloop.jl:38
└ @ Base loading.jl:1301
@odow
Copy link
Member

odow commented Jul 13, 2024

This suggests that SCS_MKL was installed, but that it wasn't installed correctly? I don't know if there's much we can do about this in SCS.jl...

@kalmarek
Copy link
Collaborator Author

I've seen this a few times in CI of one of my packages, usually when the whole env had to be instantiated anew. I think what happens is that SCS is precompiled before MKL_jll is fully installed (it's lazy artifact), so the precompilation fails as even though SCS_MKL_jll is loaded the library (libscsmkl) cannot be dlopened.

I'm not sure what we could do about it either, I just wanted to leave this as a permanent in case somebody else searches for this.

@kalmarek kalmarek closed this as not planned Won't fix, can't repro, duplicate, stale Jul 14, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

No branches or pull requests

2 participants