Skip to content

add CUDA leads to a segmentation fault #2163

@Vilin97

Description

@Vilin97

Describe the bug

I try to add CUDA and get a segfault.

To reproduce

The Minimal Working Example (MWE) for this bug:

(@v1.9) pkg> activate new
  Activating new project at `~/new`

(new) pkg> add CUDA
   Resolving package versions...
    Updating `~/new/Project.toml`
  [052768ef] + CUDA v5.1.0
    Updating `~/new/Manifest.toml`

[77441] signal (11.1): Segmentation fault
in expression starting at /home/vilin/.julia/packages/CUDA_Runtime_jll/G8f3Q/.pkg/platform_augmentation.jl:102
Allocations: 2997 (Pool: 2985; Big: 12); GC: 0
ERROR: failed process: Process(`/home/vilin/julia-1.9.0/bin/julia -Cnative -J/home/vilin/julia-1.9.0/lib/julia/sys.so -g1 -O0 --color=no --history-file=no --startup-file=no --compiled-modules=yes --project=/home/vilin/new/Project.toml --eval 'append!(empty!(Base.DEPOT_PATH), ["/home/vilin/.julia", "/home/vilin/julia-1.9.0/local/share/julia", "/home/vilin/julia-1.9.0/share/julia"])
append!(empty!(Base.DL_LOAD_PATH), String[])

cd("/home/vilin/.julia/packages/CUDA_Runtime_jll/G8f3Q/.pkg")
include("/home/vilin/.julia/packages/CUDA_Runtime_jll/G8f3Q/.pkg/select_artifacts.jl")
' --startup-file=no x86_64-linux-gnu-libgfortran5-cxx11-julia_version+1.9.0`, ProcessSignaled(11)) [0]

Stacktrace:
  [1] pipeline_error
    @ ./process.jl:565 [inlined]
  [2] read(cmd::Cmd)
    @ Base ./process.jl:449
  [3] collect_artifacts(pkg_root::String; platform::Base.BinaryPlatforms.Platform)
    @ Pkg.Operations ~/julia-1.9.0/share/julia/stdlib/v1.9/Pkg/src/Operations.jl:721
  [4] collect_artifacts
    @ ~/julia-1.9.0/share/julia/stdlib/v1.9/Pkg/src/Operations.jl:707 [inlined]
  [5] check_artifacts_downloaded(pkg_root::String; platform::Base.BinaryPlatforms.Platform)
    @ Pkg.Operations ~/julia-1.9.0/share/julia/stdlib/v1.9/Pkg/src/Operations.jl:765
  [6] check_artifacts_downloaded
    @ ~/julia-1.9.0/share/julia/stdlib/v1.9/Pkg/src/Operations.jl:764 [inlined]
  [7] is_package_downloaded(project_file::String, pkg::Pkg.Types.PackageSpec; platform::Base.BinaryPlatforms.Platform)
    @ Pkg.Operations ~/julia-1.9.0/share/julia/stdlib/v1.9/Pkg/src/Operations.jl:2188
  [8] is_package_downloaded
    @ ~/julia-1.9.0/share/julia/stdlib/v1.9/Pkg/src/Operations.jl:2183 [inlined]
  [9] print_status(env::Pkg.Types.EnvCache, old_env::Pkg.Types.EnvCache, registries::Vector{Pkg.Registry.RegistryInstance}, header::Symbol, uuids::Vector{Base.UUID}, names::Vector{String}; manifest::Bool, diff::Bool, ignore_indent::Bool, outdated::Bool, extensions::Bool, io::Base.TTY, mode::Pkg.Types.PackageMode, hidden_upgrades_info::Bool, show_usagetips::Bool)
    @ Pkg.Operations ~/julia-1.9.0/share/julia/stdlib/v1.9/Pkg/src/Operations.jl:2301
 [10] print_status
    @ ~/julia-1.9.0/share/julia/stdlib/v1.9/Pkg/src/Operations.jl:2233 [inlined]
 [11] status(env::Pkg.Types.EnvCache, registries::Vector{Pkg.Registry.RegistryInstance}, pkgs::Vector{Pkg.Types.PackageSpec}; header::Symbol, mode::Pkg.Types.PackageMode, git_diff::Bool, env_diff::Pkg.Types.EnvCache, ignore_indent::Bool, io::Base.TTY, outdated::Bool, extensions::Bool, hidden_upgrades_info::Bool, show_usagetips::Bool)
    @ Pkg.Operations ~/julia-1.9.0/share/julia/stdlib/v1.9/Pkg/src/Operations.jl:2467
 [12] status (repeats 2 times)
    @ ~/julia-1.9.0/share/julia/stdlib/v1.9/Pkg/src/Operations.jl:2435 [inlined]
 [13] #show_update#167
    @ ~/julia-1.9.0/share/julia/stdlib/v1.9/Pkg/src/Operations.jl:2431 [inlined]
 [14] add(ctx::Pkg.Types.Context, pkgs::Vector{Pkg.Types.PackageSpec}, new_git::Set{Base.UUID}; preserve::Pkg.Types.PreserveLevel, platform::Base.BinaryPlatforms.Platform)
    @ Pkg.Operations ~/julia-1.9.0/share/julia/stdlib/v1.9/Pkg/src/Operations.jl:1393
 [15] add
    @ ~/julia-1.9.0/share/julia/stdlib/v1.9/Pkg/src/Operations.jl:1372 [inlined]
 [16] add(ctx::Pkg.Types.Context, pkgs::Vector{Pkg.Types.PackageSpec}; preserve::Pkg.Types.PreserveLevel, platform::Base.BinaryPlatforms.Platform, kwargs::Base.Pairs{Symbol, Base.TTY, Tuple{Symbol}, NamedTuple{(:io,), Tuple{Base.TTY}}})
    @ Pkg.API ~/julia-1.9.0/share/julia/stdlib/v1.9/Pkg/src/API.jl:275
 [17] add(pkgs::Vector{Pkg.Types.PackageSpec}; io::Base.TTY, kwargs::Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}})
    @ Pkg.API ~/julia-1.9.0/share/julia/stdlib/v1.9/Pkg/src/API.jl:156
 [18] add(pkgs::Vector{Pkg.Types.PackageSpec})
    @ Pkg.API ~/julia-1.9.0/share/julia/stdlib/v1.9/Pkg/src/API.jl:145
 [19] do_cmd!(command::Pkg.REPLMode.Command, repl::REPL.LineEditREPL)
    @ Pkg.REPLMode ~/julia-1.9.0/share/julia/stdlib/v1.9/Pkg/src/REPLMode/REPLMode.jl:412
 [20] do_cmd(repl::REPL.LineEditREPL, input::String; do_rethrow::Bool)
    @ Pkg.REPLMode ~/julia-1.9.0/share/julia/stdlib/v1.9/Pkg/src/REPLMode/REPLMode.jl:390
 [21] do_cmd
    @ ~/julia-1.9.0/share/julia/stdlib/v1.9/Pkg/src/REPLMode/REPLMode.jl:380 [inlined]
 [22] (::Pkg.REPLMode.var"#24#27"{REPL.LineEditREPL, REPL.LineEdit.Prompt})(s::REPL.LineEdit.MIState, buf::IOBuffer, ok::Bool)
    @ Pkg.REPLMode ~/julia-1.9.0/share/julia/stdlib/v1.9/Pkg/src/REPLMode/REPLMode.jl:557
 [23] #invokelatest#2
    @ ./essentials.jl:816 [inlined]
 [24] invokelatest
    @ ./essentials.jl:813 [inlined]
 [25] run_interface(terminal::REPL.Terminals.TextTerminal, m::REPL.LineEdit.ModalInterface, s::REPL.LineEdit.MIState)
    @ REPL.LineEdit ~/julia-1.9.0/share/julia/stdlib/v1.9/REPL/src/LineEdit.jl:2647
 [26] run_frontend(repl::REPL.LineEditREPL, backend::REPL.REPLBackendRef)
    @ REPL ~/julia-1.9.0/share/julia/stdlib/v1.9/REPL/src/REPL.jl:1300
 [27] (::REPL.var"#62#68"{REPL.LineEditREPL, REPL.REPLBackendRef})()
    @ REPL ./task.jl:514
Manifest.toml

It's a new environment so I guess no Manifest.

Expected behavior

No segfault.

Version info

Details on Julia:

Julia Version 1.9.0
Commit 8e630552924 (2023-05-07 11:25 UTC)
Platform Info:
  OS: Linux (x86_64-linux-gnu)
  CPU: 80 × Intel(R) Xeon(R) CPU E5-2698 v4 @ 2.20GHz
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-14.0.6 (ORCJIT, broadwell)
  Threads: 1 on 80 virtual cores

Details on CUDA:

Not applicable

Additional context

I think something went wrong when I tried to add CUDAdrv. Before that CUDA was working fine. When I tried to add CUDAdrv, I got a segfault. Then I removed both CUDA and CUDAdrv with ] rm CUDA CUDAdrv and tried to just add CUDA but got a segfault again.
At the same time, CUDA is working fine in another REPL window on the same machine.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingneeds informationFurther information is requested

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions