Skip to content
This repository was archived by the owner on May 27, 2021. It is now read-only.
This repository was archived by the owner on May 27, 2021. It is now read-only.

Segfault using MArray #386

@lcw

Description

@lcw

I am getting the following segfault when I try to use an MArray inside a CUDAnative kernel. I am using the current master version of CUDAnative. I have tried both with and without @inbounds.

❯ julia --project=.
               _
   _       _ _(_)_     |  Documentation: https://docs.julialang.org
  (_)     | (_) (_)    |
   _ _   _| |_  __ _   |  Type "?" for help, "]?" for Pkg help.
  | | | | | | |/ _` |  |
  | | |_| | | | (_| |  |  Version 1.2.0-DEV.670 (2019-04-10)
 _/ |\__'_|_|_|\__'_|  |  Commit 20499752ac (2 days old master)
|__/                   |

julia> using CUDAnative, StaticArrays

julia> function kernel()
         r = MArray{Tuple{5}, Float32}(undef)
         @inbounds r[1] = 0.0f0

         nothing
       end
kernel (generic function with 1 method)

julia> @cuda kernel()


signal (11): Segmentation fault
in expression starting at REPL[3]:1
get_specsig_function at /buildworker/worker/package_linux64/build/src/codegen.cpp:5344
emit_call_specfun_other at /buildworker/worker/package_linux64/build/src/codegen.cpp:3067
emit_invoke at /buildworker/worker/package_linux64/build/src/codegen.cpp:3218
emit_expr at /buildworker/worker/package_linux64/build/src/codegen.cpp:4025
emit_ssaval_assign at /buildworker/worker/package_linux64/build/src/codegen.cpp:3739
emit_stmtpos at /buildworker/worker/package_linux64/build/src/codegen.cpp:3931 [inlined]
emit_function at /buildworker/worker/package_linux64/build/src/codegen.cpp:6429
jl_get_llvmf_defn at /buildworker/worker/package_linux64/build/src/codegen.cpp:1538
compile_method_instance at /home/lucasw/.julia/packages/CUDAnative/goLI4/src/compiler/irgen.jl:97 [inlined]
macro expansion at /home/lucasw/.julia/packages/TimerOutputs/7zSea/src/TimerOutput.jl:216 [inlined]
irgen at /home/lucasw/.julia/packages/CUDAnative/goLI4/src/compiler/irgen.jl:110
#codegen#113 at /home/lucasw/.julia/packages/TimerOutputs/7zSea/src/TimerOutput.jl:216
#codegen at /home/lucasw/.julia/packages/CUDAnative/goLI4/src/compiler/driver.jl:0 [inlined]
#compile#112 at /home/lucasw/.julia/packages/CUDAnative/goLI4/src/compiler/driver.jl:38
#compile#111 at ./none:0 [inlined]
compile at /home/lucasw/.julia/packages/CUDAnative/goLI4/src/compiler/driver.jl:22 [inlined]
compile at /home/lucasw/.julia/packages/CUDAnative/goLI4/src/compiler/driver.jl:22 [inlined]
macro expansion at /home/lucasw/.julia/packages/CUDAnative/goLI4/src/execution.jl:378 [inlined]
#cufunction#146 at /home/lucasw/.julia/packages/CUDAnative/goLI4/src/execution.jl:347
jl_apply_generic at /buildworker/worker/package_linux64/build/src/gf.c:2197
cufunction at /home/lucasw/.julia/packages/CUDAnative/goLI4/src/execution.jl:347
jl_apply_generic at /buildworker/worker/package_linux64/build/src/gf.c:2197
do_call at /buildworker/worker/package_linux64/build/src/interpreter.c:323
eval_value at /buildworker/worker/package_linux64/build/src/interpreter.c:411
eval_body at /buildworker/worker/package_linux64/build/src/interpreter.c:635
jl_interpret_toplevel_thunk_callback at /buildworker/worker/package_linux64/build/src/interpreter.c:884
unknown function (ip: 0xfffffffffffffffe)
unknown function (ip: 0x7fcb6d2f398f)
unknown function (ip: 0x9)
jl_interpret_toplevel_thunk at /buildworker/worker/package_linux64/build/src/interpreter.c:893
jl_toplevel_eval_flex at /buildworker/worker/package_linux64/build/src/toplevel.c:797
jl_toplevel_eval_flex at /buildworker/worker/package_linux64/build/src/toplevel.c:746
jl_toplevel_eval_in at /buildworker/worker/package_linux64/build/src/toplevel.c:826
eval at ./boot.jl:330
jl_apply_generic at /buildworker/worker/package_linux64/build/src/gf.c:2191
eval_user_input at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.2/REPL/src/REPL.jl:86
macro expansion at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.2/REPL/src/REPL.jl:118 [inlined]
#26 at ./task.jl:268
jl_apply_generic at /buildworker/worker/package_linux64/build/src/gf.c:2191
jl_apply at /buildworker/worker/package_linux64/build/src/julia.h:1604 [inlined]
start_task at /buildworker/worker/package_linux64/build/src/task.c:583
unknown function (ip: 0xffffffffffffffff)
Allocations: 22287832 (Pool: 22283680; Big: 4152); GC: 48
fish: “julia --project=.” terminated by signal SIGSEGV (Address boundary error)

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