Query help on Flux error

┌ Error: Error during loading of extension FluxCUDAcuDNNExt of Flux, use Base.retry_load_extensions() to retry.
│ exception =
│ 1-element ExceptionStack:
│ ConcurrencyViolationError(“deadlock detected in loading FluxCUDAExt using FluxCUDAExt (while loading FluxCUDAcuDNNExt)”)
│ Stacktrace:
│ [1] canstart_loading(modkey::Base.PkgId, build_id::UInt128, stalecheck::Bool)
│ @ Base .\loading.jl:2207
│ [2] _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:2041
│ [3] __require_prelocked(pkg::Base.PkgId, env::Nothing)
│ @ Base .\loading.jl:2624
│ [4] _require_prelocked(uuidkey::Base.PkgId, env::Nothing)
│ @ Base .\loading.jl:2490
│ [5] _require_prelocked(uuidkey::Base.PkgId)
│ @ Base .\loading.jl:2484
│ [6] run_extension_callbacks(extid::Base.ExtensionId)
│ @ Base .\loading.jl:1604
│ [7] run_extension_callbacks(pkgid::Base.PkgId)
│ @ Base .\loading.jl:1641
│ [8] run_package_callbacks(modkey::Base.PkgId)
│ @ Base .\loading.jl:1457
│ [9] _require_prelocked(uuidkey::Base.PkgId, env::String)
│ @ Base .\loading.jl:2498
│ [10] macro expansion
│ @ .\loading.jl:2418 [inlined]
│ [11] macro expansion
│ @ .\lock.jl:376 [inlined]
│ [12] __require(into::Module, mod::Symbol)
│ @ Base .\loading.jl:2383
│ [13] require
│ @ .\loading.jl:2359 [inlined]
│ [14] init()
│ @ FluxCUDAExt D:\Program Files\Julia.julia\packages\Flux\uRn8o\ext\FluxCUDAExt\FluxCUDAExt.jl:8
│ [15] run_module_init(mod::Module, i::Int64)
│ @ Base .\loading.jl:1440
│ [16] register_restored_modules(sv::Core.SimpleVector, pkg::Base.PkgId, path::String)
│ @ Base .\loading.jl:1428
│ [17] _include_from_serialized(pkg::Base.PkgId, path::String, ocachepath::String, depmods::Vector{Any}; register::Bool)
│ @ Base .\loading.jl:1316
│ [18] _include_from_serialized
│ @ .\loading.jl:1271 [inlined]
│ [19] _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:2112
│ [20] __require_prelocked(pkg::Base.PkgId, env::Nothing)
│ @ Base .\loading.jl:2624
│ [21] _require_prelocked(uuidkey::Base.PkgId, env::Nothing)
│ @ Base .\loading.jl:2490
│ [22] _require_prelocked(uuidkey::Base.PkgId)
│ @ Base .\loading.jl:2484
│ [23] run_extension_callbacks(extid::Base.ExtensionId)
│ @ Base .\loading.jl:1604
│ [24] run_extension_callbacks(pkgid::Base.PkgId)
│ @ Base .\loading.jl:1641
│ [25] run_package_callbacks(modkey::Base.PkgId)
│ @ Base .\loading.jl:1457
│ [26] _require_prelocked(uuidkey::Base.PkgId, env::String)
│ @ Base .\loading.jl:2498
│ [27] macro expansion
│ @ .\loading.jl:2418 [inlined]
│ [28] macro expansion
│ @ .\lock.jl:376 [inlined]
│ [29] __require(into::Module, mod::Symbol)
│ @ Base .\loading.jl:2383
│ [30] require(into::Module, mod::Symbol)
│ @ Base .\loading.jl:2359
│ [31] eval(m::Module, e::Any)
│ @ Core .\boot.jl:489
│ [32] include_string(mapexpr::typeof(REPL.softscope), mod::Module, code::String, filename::String)
│ @ Base .\loading.jl:2867
│ [33] inlineeval(m::Module, code::String, code_line::Int64, code_column::Int64, file::String; softscope::Bool)
│ @ VSCodeServer c:\Users\Administrator.vscode\extensions\julialang.language-julia-1.158.2\scripts\packages\VSCodeServer\src\eval.jl:271
│ [34] (::VSCodeServer.var"#repl_runcode_request##6#repl_runcode_request##7"{Bool, Bool, Bool, Module, String, Int64, Int64, String, VSCodeServer.ReplRunCodeRequestParams})()
│ @ VSCodeServer c:\Users\Administrator.vscode\extensions\julialang.language-julia-1.158.2\scripts\packages\VSCodeServer\src\eval.jl:181
│ [35] withpath(f::VSCodeServer.var"#repl_runcode_request##6#repl_runcode_request##7"{Bool, Bool, Bool, Module, String, Int64, Int64, String, VSCodeServer.ReplRunCodeRequestParams}, path::String)
│ @ VSCodeServer c:\Users\Administrator.vscode\extensions\julialang.language-julia-1.158.2\scripts\packages\VSCodeServer\src\repl.jl:278
│ [36] (::VSCodeServer.var"#repl_runcode_request##4#repl_runcode_request##5"{Bool, Bool, Bool, Module, String, Int64, Int64, String, VSCodeServer.ReplRunCodeRequestParams})()
│ @ VSCodeServer c:\Users\Administrator.vscode\extensions\julialang.language-julia-1.158.2\scripts\packages\VSCodeServer\src\eval.jl:179
│ [37] hideprompt(f::VSCodeServer.var"#repl_runcode_request##4#repl_runcode_request##5"{Bool, Bool, Bool, Module, String, Int64, Int64, String, VSCodeServer.ReplRunCodeRequestParams})
│ @ VSCodeServer c:\Users\Administrator.vscode\extensions\julialang.language-julia-1.158.2\scripts\packages\VSCodeServer\src\repl.jl:38
│ [38] #repl_runcode_request##2
│ @ c:\Users\Administrator.vscode\extensions\julialang.language-julia-1.158.2\scripts\packages\VSCodeServer\src\eval.jl:150 [inlined]
│ [39] with_logstate(f::VSCodeServer.var"#repl_runcode_request##2#repl_runcode_request##3"{Bool, Bool, Bool, Module, String, Int64, Int64, String, VSCodeServer.ReplRunCodeRequestParams}, logstate::Base.CoreLogging.LogState)
│ @ Base.CoreLogging .\logging\logging.jl:540
│ [40] with_logger
│ @ .\logging\logging.jl:651 [inlined]
│ [41] (::VSCodeServer.var"#repl_runcode_request##0#repl_runcode_request##1"{VSCodeServer.ReplRunCodeRequestParams})()
│ @ VSCodeServer c:\Users\Administrator.vscode\extensions\julialang.language-julia-1.158.2\scripts\packages\VSCodeServer\src\eval.jl:263
│ [42] (::VSCodeServer.var"#start_eval_backend##0#start_eval_backend##1")()
│ @ VSCodeServer c:\Users\Administrator.vscode\extensions\julialang.language-julia-1.158.2\scripts\packages\VSCodeServer\src\eval.jl:34
└ @ Base loading.jl:1614

Is there anyone encountering similar errors? How could I deal with it. I have tried to reinstall the packages of Flux and CUDA, but the problem still exist. My package status reads as follows:
[336ed68f] CSV v0.10.15
[052768ef] CUDA v5.9.5
[8f4d0f93] Conda v1.10.3
[a93c6f00] DataFrames v1.8.1
[31c24e10] Distributions v0.25.122
⌃ [c04bee98] ExcelReaders v0.11.0
[587475ba] Flux v0.16.5
[87dc4568] HiGHS v1.20.1
[b6b21f68] Ipopt v1.13.0
[4076af6c] JuMP v1.29.3
[91a5bcdd] Plots v1.41.2
[438e738f] PyCall v1.96.4
[295af30f] Revise v3.12.3
[04da0e3b] TypeTree v0.3.0
[fdbf4ff8] XLSX v0.10.4
[02a925ec] cuDNN v1.4.6
[ade2ca70] Dates v1.11.0
[9a3f8284] Random v1.11.0

I think this is a known issue on Julia 1.12. I’d suggest using Julia 1.11 for now, as the simplest way to avoid this.

Im having the same issue too:

┌ Error: Error during loading of extension FluxCUDAcuDNNExt of Flux, use `Base.retry_load_extensions()` to retry.
│   exception =
│    1-element ExceptionStack:
│    ConcurrencyViolationError("deadlock detected in loading FluxCUDAExt using FluxCUDAExt (while loading FluxCUDAcuDNNExt)")

We’ve been running into the same issue on Windows when upgrading from Julia 1.11.7 to 1.12.1 or 1.12.2. In our case the environment, CUDA version, and cuDNN versions were all known-good under Julia 1.11, but 1.12 consistently triggers a ConcurrencyViolationError during extension loading, specifically between FluxCUDAExt and FluxCUDAcuDNNExt.

The deadlock appears regardless of whether the CUDA.jl version is 5.8.x or 5.9.x, and even after recreating the environment from scratch. GPU discovery, CUDA runtime, and all low-level libs load correctly; the failure only occurs when Julia 1.12 tries to activate Flux’s cuDNN extension.

I can highly recommend using juliaup for managing julia versions.

1 Like

The new update of Flux v0.16.6 has resolved it, wonderful!