Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Julia 1.10-rc1 assertion in codegen.cpp #52327

Closed
vchuravy opened this issue Nov 28, 2023 · 3 comments
Closed

Julia 1.10-rc1 assertion in codegen.cpp #52327

vchuravy opened this issue Nov 28, 2023 · 3 comments
Labels
kind:bug Indicates an unexpected problem or unintended behavior status:bisect wanted
Milestone

Comments

@vchuravy
Copy link
Sponsor Member

Minimized from Oceananigans (ht for the original reproducer @wsmoses )

f(x) =((x.y))
f(((),))
julia: /home/vchuravy/src/julia/src/codegen.cpp:3845: bool emit_builtin_call(jl_codectx_t&, jl_cgval_t*, jl_value_t*, const jl_cgval_t*, size_t, jl_value_t*, jl_expr_t*, bool): Assertion `jl_svec_len(fn) == 1' failed.

[101642] signal (6.-6): Aborted
in expression starting at REPL[2]:1
unknown function (ip: 0x7fd0850dc83c)
raise at /usr/lib/libc.so.6 (unknown line)
abort at /usr/lib/libc.so.6 (unknown line)
unknown function (ip: 0x7fd0850743db)
__assert_fail at /usr/lib/libc.so.6 (unknown line)
emit_builtin_call at /home/vchuravy/src/julia/src/codegen.cpp:3845
emit_call at /home/vchuravy/src/julia/src/codegen.cpp:4606
emit_expr at /home/vchuravy/src/julia/src/codegen.cpp:5522
emit_ssaval_assign at /home/vchuravy/src/julia/src/codegen.cpp:5111
emit_stmtpos at /home/vchuravy/src/julia/src/codegen.cpp:5346
emit_function at /home/vchuravy/src/julia/src/codegen.cpp:8387
jl_emit_code at /home/vchuravy/src/julia/src/codegen.cpp:8722
jl_emit_codeinst at /home/vchuravy/src/julia/src/codegen.cpp:8796
_jl_compile_codeinst at /home/vchuravy/src/julia/src/jitlayers.cpp:221
jl_generate_fptr_impl at /home/vchuravy/src/julia/src/jitlayers.cpp:518
jl_compile_method_internal at /home/vchuravy/src/julia/src/gf.c:2478
_jl_invoke at /home/vchuravy/src/julia/src/gf.c:2884
ijl_apply_generic at /home/vchuravy/src/julia/src/gf.c:3074
jl_apply at /home/vchuravy/src/julia/src/julia.h:1976
jl_f__call_in_world_total at /home/vchuravy/src/julia/src/builtins.c:850
jl_fptr_args at /home/vchuravy/src/julia/src/gf.c:2534
_jl_invoke at /home/vchuravy/src/julia/src/gf.c:2873
ijl_apply_generic at /home/vchuravy/src/julia/src/gf.c:3074
jl_apply at /home/vchuravy/src/julia/src/julia.h:1976
do_apply at /home/vchuravy/src/julia/src/builtins.c:768
jl_f__apply_iterate at /home/vchuravy/src/julia/src/builtins.c:776
concrete_eval_call at ./compiler/abstractinterpretation.jl:911
abstract_call_method_with_const_args at ./compiler/abstractinterpretation.jl:798
abstract_call_method_with_const_args at ./compiler/abstractinterpretation.jl:788
abstract_call_gf_by_type at ./compiler/abstractinterpretation.jl:103
abstract_call_known at ./compiler/abstractinterpretation.jl:2083
abstract_call at ./compiler/abstractinterpretation.jl:2165
abstract_call at ./compiler/abstractinterpretation.jl:2158
abstract_call at ./compiler/abstractinterpretation.jl:2348
abstract_eval_call at ./compiler/abstractinterpretation.jl:2364
abstract_eval_statement_expr at ./compiler/abstractinterpretation.jl:2374
abstract_eval_statement at ./compiler/abstractinterpretation.jl:2618
abstract_eval_basic_statement at ./compiler/abstractinterpretation.jl:2907
typeinf_local at ./compiler/abstractinterpretation.jl:3092
typeinf_nocycle at ./compiler/abstractinterpretation.jl:3180
_typeinf at ./compiler/typeinfer.jl:247
typeinf at ./compiler/typeinfer.jl:216
typeinf_ext at ./compiler/typeinfer.jl:1051
typeinf_ext_toplevel at ./compiler/typeinfer.jl:1082
typeinf_ext_toplevel at ./compiler/typeinfer.jl:1078
jfptr_typeinf_ext_toplevel_35973 at /home/vchuravy/builds/julia-asserts/usr/lib/julia/sys-debug.so (unknown line)

This looks to be fixed on 1.11-dev (at least non of my recent builds triggers it)

julia> versioninfo(;verbose=true)
Julia Version 1.10.0-rc1
Commit 5aaa948543* (2023-11-03 07:44 UTC)
Build Info:
  DEBUG build

    Note: This is an unofficial build, please report bugs to the project
    responsible for this build and not to the Julia project unless you can
    reproduce the issue using official builds available at https://julialang.org/downloads

Platform Info:
  OS: Linux (x86_64-pc-linux-gnu)
      "Arch Linux"
  uname: Linux 6.5.5-arch1-1 #1 SMP PREEMPT_DYNAMIC Sat, 23 Sep 2023 22:55:13 +0000 x86_64 unknown
  CPU: AMD Ryzen 7 3700X 8-Core Processor: 
                 speed         user         nice          sys         idle          irq
       #1-16  4049 MHz    1143362 s   37887443 s   10873225 s    5209048 s     199205 s
  Memory: 125.69866943359375 GB (63848.83984375 MB free)
  Uptime: 453760.45 sec
  Load Avg:  0.49  10.52  18.79
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-15.0.7 (ORCJIT, znver2)
@vchuravy vchuravy added kind:bug Indicates an unexpected problem or unintended behavior status:bisect wanted labels Nov 28, 2023
@vchuravy vchuravy added this to the 1.10 milestone Nov 28, 2023
@vtjnash
Copy link
Sponsor Member

vtjnash commented Nov 28, 2023

git blame says this was fixed by #51234

@gbaraldi
Copy link
Member

I forgot to add it to backports when I merged it. Done!

@KristofferC
Copy link
Sponsor Member

Backported.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind:bug Indicates an unexpected problem or unintended behavior status:bisect wanted
Projects
None yet
Development

No branches or pull requests

4 participants