JuliaSIMD / JuliaSIMD/Polyester.jl
at-batch: Problems with NamedTuples containing structs with non-isbits fields
- Dominant language
- Julia
- Stars
- 285
- Forks
- 20
- PR merge metrics
- No merged PRs in 30d
Description
```julia
julia> using Pkg; Pkg.status("CheapThreads")
Status `/tmp/jl_E3288w/Project.toml`
[b630d9fa] CheapThreads v0.2.1
julia> Threads.nthreads()
2
julia> using CheapThreads
julia> struct Issue20
values::Vector{Float64}
end
julia> function issue20!(dest, cache)
@batch for i in eachindex(dest)
factor = -cache.a.values[i]
dest[i] *= factor
end
end
issue20! (generic function with 1 method)
julia> dest = ones(20); cache = (; a = Issue20(ones(length(dest))));
julia> issue20!(dest, cache)
julia: /buildworker/worker/package_linux64/build/src/cgutils.cpp:1520: llvm::Value* data_pointer(jl_codectx_t&, const jl_cgval_t&): Assertion `x.ispointer()' failed.
signal (6): Aborted
in expression starting at REPL[10]:1
gsignal 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: 0x7fbe13108728)
__assert_fail at /lib/x86_64-linux-gnu/libc.so.6 (unknown line)
data_pointer at /buildworker/worker/package_linux64/build/src/cgutils.cpp:1520
emit_memcpy at /buildworker/worker/package_linux64/build/src/cgutils.cpp:1612 [inlined]
emit_pointerset at /buildworker/worker/package_linux64/build/src/intrinsics.cpp:675 [inlined]
emit_intrinsic at /buildworker/worker/package_linux64/build/src/intrinsics.cpp:915
emit_call at /buildworker/worker/package_linux64/build/src/codegen.cpp:3512
emit_expr at /buildworker/worker/package_linux64/build/src/codegen.cpp:4378
emit_ssaval_assign at /buildworker/worker/package_linux64/build/src/codegen.cpp:4029
emit_stmtpos at /buildworker/worker/package_linux64/build/src/codegen.cpp:4271 [inlined]
emit_function at /buildworker/worker/package_linux64/build/src/codegen.cpp:6841
jl_emit_code at /buildworker/worker/package_linux64/build/src/codegen.cpp:7203
jl_emit_codeinst at /buildworker/worker/package_linux64/build/src/codegen.cpp:7248
_jl_compile_codeinst at /buildworker/worker/package_linux64/build/src/jitlayers.cpp:124
jl_generate_fptr at /buildworker/worker/package_linux64/build/src/jitlayers.cpp:352
jl_compile_method_internal at /buildworker/worker/package_linux64/build/src/gf.c:1970
jl_compile_method_internal at /buildworker/worker/package_linux64/build/src/gf.c:2236 [inlined]
_jl_invoke at /buildworker/worker/package_linux64/build/src/gf.c:2229 [inlined]
jl_apply_generic at /buildworker/worker/package_linux64/build/src/gf.c:2419
jl_apply at /buildworker/worker/package_linux64/build/src/julia.h:1703 [inlined]
do_call at /buildworker/worker/package_linux64/build/src/interpreter.c:115
eval_value at /buildworker/worker/package_linux64/build/src/interpreter.c:204
eval_stmt_value at /buildworker/worker/package_linux64/build/src/interpreter.c:155 [inlined]
eval_body at /buildworker/worker/package_linux64/build/src/interpreter.c:561
jl_interpret_toplevel_thunk at /buildworker/worker/package_linux64/build/src/interpreter.c:669
jl_toplevel_eval_flex at /buildworker/worker/package_linux64/build/src/toplevel.c:877
jl_toplevel_eval_flex at /buildworker/worker/package_linux64/build/src/toplevel.c:825
jl_toplevel_eval_in at /buildworker/worker/package_linux64/build/src/toplevel.c:929
eval at ./boot.jl:360 [inlined]
eval_user_input at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.6/REPL/src/REPL.jl:139
repl_backend_loop at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.6/REPL/src/REPL.jl:200
start_repl_backend at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.6/REPL/src/REPL.jl:185
#run_repl#42 at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.6/REPL/src/REPL.jl:317
run_repl at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.6/REPL/src/REPL.jl:305
_jl_invoke at /buildworker/worker/package_linux64/build/src/gf.c:2237 [inlined]
jl_apply_generic at /buildworker/worker/package_linux64/build/src/gf.c:2419
#874 at ./client.jl:387
jfptr_YY.874_46600.clone_1 at .../julia-1.6.0/lib/julia/sys.so (unknown line)
_jl_invoke at /buildworker/worker/package_linux64/build/src/gf.c:2237 [inlined]
jl_apply_generic at /buildworker/worker/package_linux64/build/src/gf.c:2419
jl_apply at /buildworker/worker/package_linux64/build/src/julia.h:1703 [inlined]
jl_f__call_latest at /buildworker/worker/package_linux64/build/src/builtins.c:714
#invokelatest#2 at ./essentials.jl:708 [inlined]
invokelatest at ./essentials.jl:706 [inlined]
run_main_repl at ./client.jl:372
exec_options at ./client.jl:302
_start at ./client.jl:485
jfptr__start_41020.clone_1 at .../julia-1.6.0/lib/julia/sys.so (unknown line)
_jl_invoke at /buildworker/worker/package_linux64/build/src/gf.c:2237 [inlined]
jl_apply_generic at /buildworker/worker/package_linux64/build/src/gf.c:2419
jl_apply at /buildworker/worker/package_linux64/build/src/julia.h:1703 [inlined]
true_main at /buildworker/worker/package_linux64/build/src/jlapi.c:560
repl_entrypoint at /buildworker/worker/package_linux64/build/src/jlapi.c:702
main at julia (unknown line)
__libc_start_main at /lib/x86_64-linux-gnu/libc.so.6 (unknown line)
unknown function (ip: 0x4007d8)
Allocations: 9786308 (Pool: 9783499; Big: 2809); GC: 11
Aborted (core dumped)
```
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.