AMDGPU.jl icon indicating copy to clipboard operation
AMDGPU.jl copied to clipboard

KA tests trigger assertion if julia is built with them

Open gbaraldi opened this issue 1 year ago • 3 comments

/home/gabrielbaraldi/julia4/src/llvm-late-gc-lowering.cpp:1029: void NoteDef(State&, BBState&, int, const std::vector<int, std::allocator<int> >&): Assertion `Num >= 0' failed.

[132189] signal (6.-6): Aborted
in expression starting at /home/gabrielbaraldi/.julia/dev/AMDGPU/test/ka_tests.jl:17
pthread_kill at /lib/x86_64-linux-gnu/libc.so.6 (unknown line)
raise at /lib/x86_64-linux-gnu/libc.so.6 (unknown line)
abort at /lib/x86_64-linux-gnu/libc.so.6 (unknown line)
unknown function (ip: 0x7f9808c2871a)
__assert_fail at /lib/x86_64-linux-gnu/libc.so.6 (unknown line)
NoteDef at /home/gabrielbaraldi/julia4/src/llvm-late-gc-lowering.cpp:1029
MaybeNoteDef at /home/gabrielbaraldi/julia4/src/llvm-late-gc-lowering.cpp:1049
LocalScan at /home/gabrielbaraldi/julia4/src/llvm-late-gc-lowering.cpp:1756
runOnFunction at /home/gabrielbaraldi/julia4/src/llvm-late-gc-lowering.cpp:2758
run at /home/gabrielbaraldi/julia4/src/llvm-late-gc-lowering.cpp:2786
run at /home/gabrielbaraldi/julia4/usr/include/llvm/IR/PassManagerInternal.h:88
_ZN4llvm11PassManagerINS_8FunctionENS_15AnalysisManagerIS1_JEEEJEE3runERS1_RS3_ at /home/gabrielbaraldi/julia4/usr/bin/../lib/libLLVM-15jl.so (unknown line)
run at /opt/x86_64-linux-gnu/x86_64-linux-gnu/sys-root/usr/local/include/llvm/IR/PassManagerInternal.h:88
_ZN4llvm27ModuleToFunctionPassAdaptor3runERNS_6ModuleERNS_15AnalysisManagerIS1_JEEE at /home/gabrielbaraldi/julia4/usr/bin/../lib/libLLVM-15jl.so (unknown line)
run at /opt/x86_64-linux-gnu/x86_64-linux-gnu/sys-root/usr/local/include/llvm/IR/PassManagerInternal.h:88
LLVMRunNewPMModulePassManager at /opt/x86_64-linux-gnu/x86_64-linux-gnu/sys-root/usr/local/include/llvm/IR/PassManager.h:522
LLVMRunNewPMModulePassManager at /home/gabrielbaraldi/.julia/packages/LLVM/vIbji/lib/libLLVM_extra.jl:626 [inlined]
run! at /home/gabrielbaraldi/.julia/packages/LLVM/vIbji/src/newpm/passmanager.jl:201 [inlined]
#123 at /home/gabrielbaraldi/.julia/packages/LLVM/vIbji/src/newpm/passes.jl:716 [inlined]
macro expansion at /home/gabrielbaraldi/.julia/packages/LLVM/vIbji/src/newpm/analyses.jl:77 [inlined]
macro expansion at /home/gabrielbaraldi/.julia/packages/LLVM/vIbji/src/base.jl:98 [inlined]
analysis_managers at /home/gabrielbaraldi/.julia/packages/LLVM/vIbji/src/newpm/analyses.jl:61
run! at /home/gabrielbaraldi/.julia/packages/LLVM/vIbji/src/newpm/passes.jl:715 [inlined]
run! at /home/gabrielbaraldi/.julia/packages/LLVM/vIbji/src/newpm/passes.jl:714
...

Though to run with assertions I needed https://github.com/JuliaGPU/AMDGPU.jl/pull/545

gbaraldi avatar Nov 23 '23 21:11 gbaraldi

MWE:

sincos.(ROCArray(ones(Float32, 4)))

pxl-th avatar Nov 24 '23 16:11 pxl-th

Another:

using AMDGPU
using StaticArrays

function private()
    priv = MVector{1, Int}(undef)
    priv[1] = 1
    return
end

function main()
    @roc private()
    return
end
main()

pxl-th avatar Nov 24 '23 16:11 pxl-th

This is fixed by https://github.com/JuliaLang/julia/pull/51520, but it needs to get backported, to 1.10 for sure, but I'm not sure another 1.9 is happening

gbaraldi avatar Nov 24 '23 20:11 gbaraldi