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

Extension loading issue #44

Closed
christiangnrd opened this issue Nov 23, 2024 · 2 comments
Closed

Extension loading issue #44

christiangnrd opened this issue Nov 23, 2024 · 2 comments

Comments

@christiangnrd
Copy link
Contributor

Error encountered when trying to load a GPU backend Atomix extension

See https://buildkite.com/julialang/atomix-dot-jl/builds/18

Error:
│  ┌ Warning: Module Metal with build ID ffffffff-ffff-ffff-0000-ba908ccbce5a is missing from the cache.
│  │ This may mean Metal [dde4c033-4e86-420c-a63e-0dd931031962] does not support precompilation but is imported by a module that does.
│  └ @ Base loading.jl:2539
│  ┌ Error: Error during loading of extension AtomixMetalExt of Atomix, use `Base.retry_load_extensions()` to retry.
│  │   exception =
│  │    1-element ExceptionStack:
│  │    Error when precompiling module, potentially caused by a __precompile__(false) declaration in the module.
│  │    Stacktrace:
│  │      [1] _require(pkg::Base.PkgId, env::Nothing)
│  │        @ Base ./loading.jl:2601
│  │      [2] __require_prelocked(uuidkey::Base.PkgId, env::Nothing)
│  │        @ Base ./loading.jl:2386
│  │      [3] #invoke_in_world#3
│  │        @ ./essentials.jl:1089 [inlined]
│  │      [4] invoke_in_world
│  │        @ ./essentials.jl:1086 [inlined]
│  │      [5] _require_prelocked
│  │        @ ./loading.jl:2373 [inlined]
│  │      [6] _require_prelocked
│  │        @ ./loading.jl:2372 [inlined]
│  │      [7] run_extension_callbacks(extid::Base.ExtensionId)
│  │        @ Base ./loading.jl:1542
│  │      [8] run_extension_callbacks(pkgid::Base.PkgId)
│  │        @ Base ./loading.jl:1574
│  │      [9] run_package_callbacks(modkey::Base.PkgId)
│  │        @ Base ./loading.jl:1395
│  │     [10] _require_search_from_serialized(pkg::Base.PkgId, sourcepath::String, build_id::UInt128, stalecheck::Bool; reasons::Dict{String, Int64}, DEPOT_PATH::Vector{String})
│  │        @ Base ./loading.jl:2063
│  │     [11] _require(pkg::Base.PkgId, env::String)
│  │        @ Base ./loading.jl:2525
│  │     [12] __require_prelocked(uuidkey::Base.PkgId, env::String)
│  │        @ Base ./loading.jl:2386
│  │     [13] #invoke_in_world#3
│  │        @ ./essentials.jl:1089 [inlined]
│  │     [14] invoke_in_world
│  │        @ ./essentials.jl:1086 [inlined]
│  │     [15] _require_prelocked(uuidkey::Base.PkgId, env::String)
│  │        @ Base ./loading.jl:2373
│  │     [16] macro expansion
│  │        @ ./loading.jl:2312 [inlined]
│  │     [17] macro expansion
│  │        @ ./lock.jl:273 [inlined]
│  │     [18] __require(into::Module, mod::Symbol)
│  │        @ Base ./loading.jl:2269
│  │     [19] #invoke_in_world#3
│  │        @ ./essentials.jl:1089 [inlined]
│  │     [20] invoke_in_world
│  │        @ ./essentials.jl:1086 [inlined]
│  │     [21] require(into::Module, mod::Symbol)
│  │        @ Base ./loading.jl:2258
│  │     [22] include
│  │        @ ./Base.jl:557 [inlined]
│  │     [23] include_package_for_otput(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:2879
│  │     [24] top-level scope
│  │        @ stdin:5
│  │     [25] eval
│  │        @ ./boot.jl:430 [inlined]
│  │     [26] include_string(mapexpr::typeof(identity), mod::Module, code::String, filename::String)
│  │        @ Base ./loading.jl:2732
│  │     [27] include_string
│  │        @ ./loading.jl:2742 [inlined]
│  │     [28] exec_options(opts::Base.JLOptions)
│  │        @ Base ./client.jl:321
│  │     [29] _start()
│  │        @ Base ./client.jl:531
│  └ @ Base loading.jl:1548

I'm not familiar enough with precompilation to know if that's a Julia bug or a bug in this PR.

Tests still seem to pass though...

Originally posted by @christiangnrd in #42 (comment)

@christiangnrd
Copy link
Contributor Author

This error doesn't seem to be present in 1.10 with JuliaLang/julia#55910 backported

@topolarity
Copy link

that's a Julia bug

It is. I am seeing this issue on both the latest 1.10 (w/ Pkg backport) and 1.11 backports branches

It should be fixed by JuliaLang/julia#56666

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants