Skip to content

Assertion failure when redefining invoke'd method #46503

Closed
@Keno

Description

               _
   _       _ _(_)_     |  Documentation: https://docs.julialang.org
  (_)     | (_) (_)    |
   _ _   _| |_  __ _   |  Type "?" for help, "]?" for Pkg help.
  | | | | | | |/ _` |  |
  | | |_| | | | (_| |  |  Version 1.9.0-DEV.1189 (2022-08-26)
 _/ |\__'_|_|_|\__'_|  |  Commit 293031b4a5* (0 days old master)
|__/                   |

julia> function foo(@nospecialize(a), b::Union{Vector{Any}, Float64, Nothing})
           ccall(:jl_, Cvoid, (Any,), (a, b))
       end
foo (generic function with 1 method)

julia> foo(a::Int, b::Nothing) = @invoke foo(a::Any, b)
foo (generic function with 2 methods)

julia> foo(1, nothing)
(1, nothing)

julia> function foo(@nospecialize(a), b::Union{Nothing, Float64})
           ccall(:jl_, Cvoid, (Any,), (a, b, 2))
       end
julia: /home/keno/julia/src/gf.c:1870: ijl_method_table_insert: Assertion `oldentry' failed.

[1550886] signal (6): Aborted
in expression starting at REPL[4]: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: 0x7fe2c5e34728)
__assert_fail at /lib/x86_64-linux-gnu/libc.so.6 (unknown line)
ijl_method_table_insert at /home/keno/julia/src/gf.c:1870
ijl_method_def at /home/keno/julia/src/method.c:1056
eval_methoddef at /home/keno/julia/src/interpreter.c:111
eval_body at /home/keno/julia/src/interpreter.c:554
jl_interpret_toplevel_thunk at /home/keno/julia/src/interpreter.c:751
jl_toplevel_eval_flex at /home/keno/julia/src/toplevel.c:912
jl_toplevel_eval_flex at /home/keno/julia/src/toplevel.c:856
ijl_toplevel_eval at /home/keno/julia/src/toplevel.c:921
ijl_toplevel_eval_in at /home/keno/julia/src/toplevel.c:971
eval at ./boot.jl:370 [inlined]
eval_user_input at /home/keno/julia/usr/share/julia/stdlib/v1.9/REPL/src/REPL.jl:152
repl_backend_loop at /home/keno/julia/usr/share/julia/stdlib/v1.9/REPL/src/REPL.jl:248
#start_repl_backend#46 at /home/keno/julia/usr/share/julia/stdlib/v1.9/REPL/src/REPL.jl:233
start_repl_backend##kw at /home/keno/julia/usr/share/julia/stdlib/v1.9/REPL/src/REPL.jl:230 [inlined]
#run_repl#59 at /home/keno/julia/usr/share/julia/stdlib/v1.9/REPL/src/REPL.jl:372
run_repl at /home/keno/julia/usr/share/julia/stdlib/v1.9/REPL/src/REPL.jl:357
jfptr_run_repl_56747 at /home/keno/julia/usr/lib/julia/sys-debug.so (unknown line)
_jl_invoke at /home/keno/julia/src/gf.c:2428
ijl_apply_generic at /home/keno/julia/src/gf.c:2629
#1007 at ./client.jl:413
jfptr_YY.1007_35886 at /home/keno/julia/usr/lib/julia/sys-debug.so (unknown line)
_jl_invoke at /home/keno/julia/src/gf.c:2428
ijl_apply_generic at /home/keno/julia/src/gf.c:2629
jl_apply at /home/keno/julia/src/julia.h:1855
jl_f__call_latest at /home/keno/julia/src/builtins.c:774
#invokelatest#2 at ./essentials.jl:804 [inlined]
invokelatest at ./essentials.jl:801 [inlined]
run_main_repl at ./client.jl:397
exec_options at ./client.jl:314
_start at ./client.jl:514
jfptr__start_42685 at /home/keno/julia/usr/lib/julia/sys-debug.so (unknown line)
_jl_invoke at /home/keno/julia/src/gf.c:2428
ijl_apply_generic at /home/keno/julia/src/gf.c:2629
jl_apply at /home/keno/julia/src/julia.h:1855
true_main at /home/keno/julia/src/jlapi.c:567
jl_repl_entrypoint at /home/keno/julia/src/jlapi.c:711
jl_load_repl at /home/keno/julia/cli/loader_lib.c:277
main at /home/keno/julia/cli/loader_exe.c:59
__libc_start_main at /lib/x86_64-linux-gnu/libc.so.6 (unknown line)
_start at ./julia (unknown line)
Allocations: 2955 (Pool: 2941; Big: 14); GC: 0
Aborted

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions