FluxML / Alloc.jl

26 stars 1 forks source link

crashes in Julia 1.8 #3

Open dpinol opened 1 year ago

dpinol commented 1 year ago

Package Version

0.1.0

Julia Version

1.8.2

OS / Environment

ubuntu 22.4

Describe the bug

Example in project readme crashes

Steps to Reproduce

using Alloc: Buffer, run, profile

 function f()
                x = rand(100, 100)
                y = rand(100)
                x*y
              end
f (generic function with 1 method)

const buf = Buffer(10^6)
Buffer(UInt8[0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff  …  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00], 0x0000000000000000)

@allocated run(f, buf)

Expected Results

It should not crash

Observed Results

It crashes

Relevant log output

Unreachable reached at 0x7f50315a3aa3

signal (4): Illegal instruction
in expression starting at REPL[5]:1
Buffer at /cache/build/default-amdci4-6/julialang/julia-release-1-dot-8/usr/share/julia/stdlib/v1.8/Random/src/Random.jl:257 [inlined]
Buffer at /home/dani/.julia/packages/IRTools/FeBr2/src/reflection/dynamo.jl:0
Buffer at /cache/build/default-amdci4-6/julialang/julia-release-1-dot-8/usr/share/julia/stdlib/v1.8/Random/src/XoshiroSimd.jl:130 [inlined]
Buffer at /home/dani/.julia/packages/IRTools/FeBr2/src/reflection/dynamo.jl:0
macro expansion at ./ntuple.jl:74 [inlined]
Buffer at ./ntuple.jl:69 [inlined]
Buffer at /home/dani/.julia/packages/IRTools/FeBr2/src/reflection/dynamo.jl:0
_jl_invoke at /cache/build/default-amdci4-6/julialang/julia-release-1-dot-8/src/gf.c:2367 [inlined]
ijl_apply_generic at /cache/build/default-amdci4-6/julialang/julia-release-1-dot-8/src/gf.c:2549
Buffer at /cache/build/default-amdci4-6/julialang/julia-release-1-dot-8/usr/share/julia/stdlib/v1.8/Random/src/XoshiroSimd.jl:130 [inlined]
Buffer at /home/dani/.julia/packages/IRTools/FeBr2/src/reflection/dynamo.jl:0
_jl_invoke at /cache/build/default-amdci4-6/julialang/julia-release-1-dot-8/src/gf.c:2367 [inlined]
ijl_apply_generic at /cache/build/default-amdci4-6/julialang/julia-release-1-dot-8/src/gf.c:2549
Buffer at /cache/build/default-amdci4-6/julialang/julia-release-1-dot-8/usr/share/julia/stdlib/v1.8/Random/src/XoshiroSimd.jl:244 [inlined]
Buffer at /home/dani/.julia/packages/IRTools/FeBr2/src/reflection/dynamo.jl:0
unknown function (ip: 0x7f50315a15bd)
_jl_invoke at /cache/build/default-amdci4-6/julialang/julia-release-1-dot-8/src/gf.c:2367 [inlined]
ijl_apply_generic at /cache/build/default-amdci4-6/julialang/julia-release-1-dot-8/src/gf.c:2549
Buffer at /cache/build/default-amdci4-6/julialang/julia-release-1-dot-8/usr/share/julia/stdlib/v1.8/Random/src/XoshiroSimd.jl:141 [inlined]
Buffer at /home/dani/.julia/packages/IRTools/FeBr2/src/reflection/dynamo.jl:0
unknown function (ip: 0x7f50315918bd)
_jl_invoke at /cache/build/default-amdci4-6/julialang/julia-release-1-dot-8/src/gf.c:2367 [inlined]
ijl_apply_generic at /cache/build/default-amdci4-6/julialang/julia-release-1-dot-8/src/gf.c:2549
Buffer at /cache/build/default-amdci4-6/julialang/julia-release-1-dot-8/usr/share/julia/stdlib/v1.8/Random/src/XoshiroSimd.jl:292 [inlined]
Buffer at /home/dani/.julia/packages/IRTools/FeBr2/src/reflection/dynamo.jl:0
_jl_invoke at /cache/build/default-amdci4-6/julialang/julia-release-1-dot-8/src/gf.c:2367 [inlined]
ijl_apply_generic at /cache/build/default-amdci4-6/julialang/julia-release-1-dot-8/src/gf.c:2549
Buffer at /cache/build/default-amdci4-6/julialang/julia-release-1-dot-8/usr/share/julia/stdlib/v1.8/Random/src/Random.jl:268 [inlined]
Buffer at /home/dani/.julia/packages/IRTools/FeBr2/src/reflection/dynamo.jl:0
Buffer at /cache/build/default-amdci4-6/julialang/julia-release-1-dot-8/usr/share/julia/stdlib/v1.8/Random/src/Random.jl:289 [inlined]
Buffer at /cache/build/default-amdci4-6/julialang/julia-release-1-dot-8/usr/share/julia/stdlib/v1.8/Random/src/Random.jl:290 [inlined]
Buffer at /cache/build/default-amdci4-6/julialang/julia-release-1-dot-8/usr/share/julia/stdlib/v1.8/Random/src/Random.jl:278 [inlined]
Buffer at ./REPL[3]:2 [inlined]
Buffer at /home/dani/.julia/packages/IRTools/FeBr2/src/reflection/dynamo.jl:0
run at /home/dani/.julia/packages/Alloc/6Rvr0/src/stack.jl:25 [inlined]
top-level scope at ./timing.jl:416
jl_toplevel_eval_flex at /cache/build/default-amdci4-6/julialang/julia-release-1-dot-8/src/toplevel.c:897
jl_toplevel_eval_flex at /cache/build/default-amdci4-6/julialang/julia-release-1-dot-8/src/toplevel.c:850
ijl_toplevel_eval_in at /cache/build/default-amdci4-6/julialang/julia-release-1-dot-8/src/toplevel.c:965
eval at ./boot.jl:368 [inlined]
eval_user_input at /cache/build/default-amdci4-6/julialang/julia-release-1-dot-8/usr/share/julia/stdlib/v1.8/REPL/src/REPL.jl:151
repl_backend_loop at /cache/build/default-amdci4-6/julialang/julia-release-1-dot-8/usr/share/julia/stdlib/v1.8/REPL/src/REPL.jl:247
start_repl_backend at /cache/build/default-amdci4-6/julialang/julia-release-1-dot-8/usr/share/julia/stdlib/v1.8/REPL/src/REPL.jl:232
#run_repl#47 at /cache/build/default-amdci4-6/julialang/julia-release-1-dot-8/usr/share/julia/stdlib/v1.8/REPL/src/REPL.jl:369
run_repl at /cache/build/default-amdci4-6/julialang/julia-release-1-dot-8/usr/share/julia/stdlib/v1.8/REPL/src/REPL.jl:355
jfptr_run_repl_64841.clone_1 at /opt/julia/julia-1.8.2/lib/julia/sys.so (unknown line)
_jl_invoke at /cache/build/default-amdci4-6/julialang/julia-release-1-dot-8/src/gf.c:2367 [inlined]
ijl_apply_generic at /cache/build/default-amdci4-6/julialang/julia-release-1-dot-8/src/gf.c:2549
#967 at ./client.jl:419
jfptr_YY.967_30403.clone_1 at /opt/julia/julia-1.8.2/lib/julia/sys.so (unknown line)
_jl_invoke at /cache/build/default-amdci4-6/julialang/julia-release-1-dot-8/src/gf.c:2367 [inlined]
ijl_apply_generic at /cache/build/default-amdci4-6/julialang/julia-release-1-dot-8/src/gf.c:2549
jl_apply at /cache/build/default-amdci4-6/julialang/julia-release-1-dot-8/src/julia.h:1839 [inlined]
jl_f__call_latest at /cache/build/default-amdci4-6/julialang/julia-release-1-dot-8/src/builtins.c:774
#invokelatest#2 at ./essentials.jl:729 [inlined]
invokelatest at ./essentials.jl:726 [inlined]
run_main_repl at ./client.jl:404
exec_options at ./client.jl:318
_start at ./client.jl:522
jfptr__start_56736.clone_1 at /opt/julia/julia-1.8.2/lib/julia/sys.so (unknown line)
_jl_invoke at /cache/build/default-amdci4-6/julialang/julia-release-1-dot-8/src/gf.c:2367 [inlined]
ijl_apply_generic at /cache/build/default-amdci4-6/julialang/julia-release-1-dot-8/src/gf.c:2549
jl_apply at /cache/build/default-amdci4-6/julialang/julia-release-1-dot-8/src/julia.h:1839 [inlined]
true_main at /cache/build/default-amdci4-6/julialang/julia-release-1-dot-8/src/jlapi.c:575
jl_repl_entrypoint at /cache/build/default-amdci4-6/julialang/julia-release-1-dot-8/src/jlapi.c:719
main at julia (unknown line)
unknown function (ip: 0x7f50a8df3d8f)
__libc_start_main at /lib/x86_64-linux-gnu/libc.so.6 (unknown line)
unknown function (ip: 0x401098)
Allocations: 35449184 (Pool: 35436772; Big: 12412); GC: 40
dpinol commented 1 year ago

With julia 1.6 I get this error, which is the same I get in my full project

julia> @allocated run(f, buf)
ERROR: cannot resize array with shared data
Stacktrace:
  [1] Buffer
    @ ./array.jl:888 [inlined]
  [2] Buffer
    @ ./array.jl:1108 [inlined]
  [3] Buffer
    @ /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.6/Random/src/RNGs.jl:354 [inlined]
  [4] (::Buffer)(::typeof(Random.seed!), ::Random.MersenneTwister, ::Vector{UInt32})
    @ Alloc ~/.julia/packages/IRTools/FeBr2/src/reflection/dynamo.jl:0
  [5] Buffer
    @ /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.6/Random/src/RNGs.jl:362 [inlined]
  [6] (::Buffer)(::typeof(Random.seed!), ::Random.MersenneTwister)
    @ Alloc ~/.julia/packages/IRTools/FeBr2/src/reflection/dynamo.jl:0
  [7] Buffer
    @ /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.6/Random/src/Random.jl:426 [inlined]
  [8] (::Buffer)(::typeof(Random.seed!), ::Random.MersenneTwister, ::Nothing)
    @ Alloc ~/.julia/packages/IRTools/FeBr2/src/reflection/dynamo.jl:0
  [9] Buffer
    @ /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.6/Random/src/RNGs.jl:147 [inlined]
 [10] (::Buffer)(::Type{Random.MersenneTwister}, ::Nothing)
    @ Alloc ~/.julia/packages/IRTools/FeBr2/src/reflection/dynamo.jl:0
 [11] Buffer
    @ /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.6/Random/src/RNGs.jl:147 [inlined]
 [12] (::Buffer)(args::Type{Random.MersenneTwister})
    @ Alloc ~/.julia/packages/IRTools/FeBr2/src/reflection/dynamo.jl:0
 [13] Buffer
    @ /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.6/Random/src/RNGs.jl:376 [inlined]
 [14] (::Buffer)(::typeof(Random.default_rng), ::Int64)
    @ Alloc ~/.julia/packages/IRTools/FeBr2/src/reflection/dynamo.jl:0
 [15] Buffer
    @ /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.6/Random/src/RNGs.jl:370 [inlined]
 [16] Buffer
    @ /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.6/Random/src/Random.jl:289 [inlined]
 [17] (::Buffer)(::typeof(rand), ::Type{Float64}, ::Tuple{Int64, Int64})
    @ Alloc ~/.julia/packages/IRTools/FeBr2/src/reflection/dynamo.jl:0
 [18] Buffer
    @ /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.6/Random/src/Random.jl:277 [inlined]
 [19] Buffer
    @ ./REPL[3]:2 [inlined]
 [20] (::Buffer)(args::typeof(f))
    @ Alloc ~/.julia/packages/IRTools/FeBr2/src/reflection/dynamo.jl:0
 [21] run
    @ ~/.julia/packages/Alloc/6Rvr0/src/stack.jl:25 [inlined]
 [22] top-level scope
    @ ./timing.jl:321 [inlined]
 [23] top-level scope
    @ ./REPL[5]:0