Skip to content

AMDGPU works on normal terminal but crashes on VS Code #749

@minecraft2048

Description

@minecraft2048

On a normal terminal everything works as expected:

byakuya@ifrit-hpc /r/m/b/1/s/julia-amdgpu> julia --threads=auto --project=.
The latest version of Julia in the `release` channel is 1.11.4+0.x64.linux.gnu. You currently have `1.11.3+0.x64.linux.gnu` installed. Run:

  juliaup update

in your terminal shell to install Julia 1.11.4+0.x64.linux.gnu and update the `release` channel to that version.
               _
   _       _ _(_)_     |  Documentation: https://docs.julialang.org
  (_)     | (_) (_)    |
   _ _   _| |_  __ _   |  Type "?" for help, "]?" for Pkg help.
  | | | | | | |/ _` |  |
  | | |_| | | | (_| |  |  Version 1.11.3 (2025-01-21)
 _/ |\__'_|_|_|\__'_|  |  Official https://julialang.org/ release
|__/                   |

julia> versioninfo()
Julia Version 1.11.3
Commit d63adeda50d (2025-01-21 19:42 UTC)
Build Info:
  Official https://julialang.org/ release
Platform Info:
  OS: Linux (x86_64-linux-gnu)
  CPU: 24 × AMD Ryzen 9 9900X 12-Core Processor
  WORD_SIZE: 64
  LLVM: libLLVM-16.0.6 (ORCJIT, generic)
Threads: 24 default, 0 interactive, 12 GC (on 24 virtual cores)

julia> using AMDGPU

julia> tst = ROCArray(rand(1000));

julia> tst.+tst
1000-element ROCArray{Float64, 1, AMDGPU.Runtime.Mem.HIPBuffer}:

On VS Code REPL:

The latest version of Julia in the `release` channel is 1.11.4+0.x64.linux.gnu. You currently have `1.11.3+0.x64.linux.gnu` installed. Run:

  juliaup update

in your terminal shell to install Julia 1.11.4+0.x64.linux.gnu and update the `release` channel to that version.
julia> using AMDGPU
julia: /usr/src/debug/hip-runtime/hip-runtime-clr/rocclr/os/os_posix.cpp:321: static void amd::Os::currentStackInfo(unsigned char**, size_t*): Assertion `Os::currentStackPtr() >= *base - *size && Os::currentStackPtr() < *base && "just checking"' failed.

[124886] signal 6 (-6): Aborted
in expression starting at REPL[1]:1
unknown function (ip: 0x78c888124624)
gsignal at /usr/lib/libc.so.6 (unknown line)
abort at /usr/lib/libc.so.6 (unknown line)
unknown function (ip: 0x78c8880b24ea)
unknown function (ip: 0x78c738e6a73b)
unknown function (ip: 0x78c739158cd6)
unknown function (ip: 0x78c738ee2b33)
unknown function (ip: 0x78c8882f01d6)
unknown function (ip: 0x78c8882f02ac)
_dl_catch_exception at /lib64/ld-linux-x86-64.so.2 (unknown line)
unknown function (ip: 0x78c8882f6e78)
_dl_catch_exception at /lib64/ld-linux-x86-64.so.2 (unknown line)
unknown function (ip: 0x78c8882f7283)
unknown function (ip: 0x78c88811e9d3)
_dl_catch_exception at /lib64/ld-linux-x86-64.so.2 (unknown line)
unknown function (ip: 0x78c8882ed558)
unknown function (ip: 0x78c88811e4b2)
dlopen at /usr/lib/libc.so.6 (unknown line)
ijl_load_dynamic_library at /cache/build/builder-demeter6-3/julialang/julia-release-1-dot-11/src/dlload.c:365
jl_get_library_ at /cache/build/builder-demeter6-3/julialang/julia-release-1-dot-11/src/runtime_ccall.cpp:45 [inlined]
jl_get_library_ at /cache/build/builder-demeter6-3/julialang/julia-release-1-dot-11/src/runtime_ccall.cpp:29
ijl_lazy_load_and_lookup at /cache/build/builder-demeter6-3/julialang/julia-release-1-dot-11/src/runtime_ccall.cpp:73
_hip_runtime_version at /home/byakuya/.julia/packages/AMDGPU/EcH58/src/discovery/discovery.jl:37
__init__ at /home/byakuya/.julia/packages/AMDGPU/EcH58/src/discovery/discovery.jl:92
jfptr___init___5948 at /home/byakuya/.julia/compiled/v1.11/AMDGPU/arpZD_mnK8A.so (unknown line)
jl_apply at /cache/build/builder-demeter6-3/julialang/julia-release-1-dot-11/src/julia.h:2157 [inlined]
jl_module_run_initializer at /cache/build/builder-demeter6-3/julialang/julia-release-1-dot-11/src/toplevel.c:76
run_module_init at ./loading.jl:1378
register_restored_modules at ./loading.jl:1366
#_include_from_serialized#1082 at ./loading.jl:1254
_include_from_serialized at ./loading.jl:1210 [inlined]
_include_from_serialized at ./loading.jl:1210 [inlined]
#_require_search_from_serialized#1105 at ./loading.jl:2057
_require_search_from_serialized at ./loading.jl:1969
jfptr__require_search_from_serialized_44869 at /home/byakuya/.julia/juliaup/julia-1.11.3+0.x64.linux.gnu/lib/julia/sys.so (unknown line)
_require at ./loading.jl:2527
__require_prelocked at ./loading.jl:2388
jfptr___require_prelocked_71365 at /home/byakuya/.julia/juliaup/julia-1.11.3+0.x64.linux.gnu/lib/julia/sys.so (unknown line)
jl_apply at /cache/build/builder-demeter6-3/julialang/julia-release-1-dot-11/src/julia.h:2157 [inlined]
jl_f__call_in_world at /cache/build/builder-demeter6-3/julialang/julia-release-1-dot-11/src/builtins.c:894
#invoke_in_world#3 at ./essentials.jl:1089 [inlined]
invoke_in_world at ./essentials.jl:1086 [inlined]
_require_prelocked at ./loading.jl:2375
macro expansion at ./loading.jl:2314 [inlined]
macro expansion at ./lock.jl:273 [inlined]
__require at ./loading.jl:2271
jfptr___require_71296 at /home/byakuya/.julia/juliaup/julia-1.11.3+0.x64.linux.gnu/lib/julia/sys.so (unknown line)
jl_apply at /cache/build/builder-demeter6-3/julialang/julia-release-1-dot-11/src/julia.h:2157 [inlined]
jl_f__call_in_world at /cache/build/builder-demeter6-3/julialang/julia-release-1-dot-11/src/builtins.c:894
#invoke_in_world#3 at ./essentials.jl:1089 [inlined]
invoke_in_world at ./essentials.jl:1086 [inlined]
require at ./loading.jl:2260
jfptr_require_71293 at /home/byakuya/.julia/juliaup/julia-1.11.3+0.x64.linux.gnu/lib/julia/sys.so (unknown line)
jl_apply at /cache/build/builder-demeter6-3/julialang/julia-release-1-dot-11/src/julia.h:2157 [inlined]
call_require at /cache/build/builder-demeter6-3/julialang/julia-release-1-dot-11/src/toplevel.c:486 [inlined]
eval_import_path at /cache/build/builder-demeter6-3/julialang/julia-release-1-dot-11/src/toplevel.c:523
jl_toplevel_eval_flex at /cache/build/builder-demeter6-3/julialang/julia-release-1-dot-11/src/toplevel.c:759
jl_toplevel_eval_flex at /cache/build/builder-demeter6-3/julialang/julia-release-1-dot-11/src/toplevel.c:886
ijl_toplevel_eval_in at /cache/build/builder-demeter6-3/julialang/julia-release-1-dot-11/src/toplevel.c:994
eval at ./boot.jl:430 [inlined]
eval at ./Base.jl:130 [inlined]
repleval at /home/byakuya/.vscode/extensions/julialang.language-julia-1.79.2/scripts/packages/VSCodeServer/src/repl.jl:229
#112 at /home/byakuya/.vscode/extensions/julialang.language-julia-1.79.2/scripts/packages/VSCodeServer/src/repl.jl:192 [inlined]
with_logstate at ./logging/logging.jl:522
with_logger at ./logging/logging.jl:632 [inlined]
#111 at /home/byakuya/.vscode/extensions/julialang.language-julia-1.79.2/scripts/packages/VSCodeServer/src/repl.jl:193
unknown function (ip: 0x78c7e8038eef)
jl_apply at /cache/build/builder-demeter6-3/julialang/julia-release-1-dot-11/src/julia.h:2157 [inlined]
jl_f__call_latest at /cache/build/builder-demeter6-3/julialang/julia-release-1-dot-11/src/builtins.c:875
#invokelatest#2 at ./essentials.jl:1055 [inlined]
invokelatest at ./essentials.jl:1052
unknown function (ip: 0x78c7e8037512)
jl_apply at /cache/build/builder-demeter6-3/julialang/julia-release-1-dot-11/src/julia.h:2157 [inlined]
do_apply at /cache/build/builder-demeter6-3/julialang/julia-r

To show that is the same Julia, this is the versioninfo output in VS Code REPL:

julia> versioninfo()
Julia Version 1.11.3
Commit d63adeda50d (2025-01-21 19:42 UTC)
Build Info:
  Official https://julialang.org/ release
Platform Info:
  OS: Linux (x86_64-linux-gnu)
  CPU: 24 × AMD Ryzen 9 9900X 12-Core Processor
  WORD_SIZE: 64
  LLVM: libLLVM-16.0.6 (ORCJIT, generic)
Threads: 24 default, 0 interactive, 12 GC (on 24 virtual cores)
Environment:
  JULIA_EDITOR = code
  JULIA_NUM_THREADS = 24

I can't get full stacktrace because the REPL closes after several seconds

If I opened a terminal inside VS Code and run Julia, it works as expected:

Image

Both of them are on same Julia env, I'm on up to date Arch Linux

Potentially related issues:

#549
ROCm/clr#36

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions