-
Notifications
You must be signed in to change notification settings - Fork 215
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
CUDA_Driver_jll's lazy artifacts cause a precompilation-time warning #2415
Comments
You'll have to debug this, as I've never encountered this, not locally or on any CI job. |
The error is definitely there. Getting it every time locally. Simple |
Please see log of issue 2428. |
This is just a warning, right? Are you experiencing any issues because of it? There's a section in the docs on this warning: https://docs.julialang.org/en/v1/devdocs/precompile_hang/ |
AFAIK it is only warning. I am not aware if any issue is actually caused by this. |
OK, that's good. I thought I didn't encounter this, but testing in a fresh environment it does appear. I guess it only happens when precompiling CUDA_Driver_jll or so, which is not frequently recompiled, and because it doesn't cause a hang it slipped through the cracks. |
Looks like this can be isolated to CUDA_Driver_jll:
Although that package has a very complicated
[[CUDA_Driver]]
arch = "x86_64"
git-tree-sha1 = "a86b67fd924e2a8c72d376d301a34b2364281978"
lazy = true
libc = "glibc"
os = "linux"
[[CUDA_Driver.download]]
sha256 = "350b076a65dc548226a91cb53a029647c1264ef6099379eb8f0e5f95dcaa0a15"
url = "https://github.com/JuliaBinaryWrappers/CUDA_Driver_jll.jl/releases/download/CUDA_Driver-v0.9.1+0/CUDA_Driver.v0.9.1.x86_64-linux-gnu.tar.gz"
# Use baremodule to shave off a few KB from the serialized `.ji` file
baremodule CUDA_Driver_jll
using Base
using Base: UUID
using LazyArtifacts
import JLLWrappers
JLLWrappers.@generate_main_file_header("CUDA_Driver")
JLLWrappers.@generate_main_file("CUDA_Driver", UUID("4ee394cb-3365-5eb0-8335-949819d2adfc"))
end # module CUDA_Driver_jll
# Autogenerated wrapper script for CUDA_Driver_jll for x86_64-linux-gnu
export libcuda_compat, libcuda_debugger, libnvidia_nvvm, libnvidia_ptxjitcompiler
JLLWrappers.@generate_wrapper_header("CUDA_Driver")
JLLWrappers.@declare_library_product(libcuda_compat, "libcuda.so.1")
JLLWrappers.@declare_library_product(libcuda_debugger, "libcudadebugger.so.1")
JLLWrappers.@declare_library_product(libnvidia_nvvm, "libnvidia-nvvm.so.4")
JLLWrappers.@declare_library_product(libnvidia_ptxjitcompiler, "libnvidia-ptxjitcompiler.so.1")
function __init__()
JLLWrappers.@generate_init_header()
JLLWrappers.@init_library_product(
libcuda_compat,
"lib/libcuda.so",
nothing,
)
end # __init__() @giordano @KristofferC Is there a known precompilation issue with the JLL-generated code and lazy artifacts? |
I'm not aware of any specific issue, but note that moving download from installation-time to precompile-time is the whole point of lazy artifacts, so this is basically expected. Slow networks/large artifacts will cause a wait during precompilation just because it takes time to download them (MKL is often a culprit). |
The download finishes in a couple of seconds; the warning occurs much later. I'd guess that some Downloads.jl-related task/timer is left running. In addition, the use of lazy artifacts here is reasonable: Only download CUDA artifacts if the system supports CUDA (well, for the Driver JLL it can become eager, but other CUDA JLLs probably suffer from something similar). That shouldn't cause a "scary" error at precompilation time. Even if it's "expected", that only results in bugs like this one getting filed. |
Seems fixed by making the CUDA_Driver_jll's non-lazy. |
it looks like something here is missing a
wait
call.The text was updated successfully, but these errors were encountered: