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

Segfault when revising package #704

Closed
lassepe opened this issue Aug 12, 2022 · 3 comments
Closed

Segfault when revising package #704

lassepe opened this issue Aug 12, 2022 · 3 comments

Comments

@lassepe
Copy link

lassepe commented Aug 12, 2022

I'm seeing effectively what has been reported in #675 but on x64 and with a custom package (not Oscar.jl) on Julia 1.8.0-rc4.
I have thus far been unable to find a simple reproduce but I did manage to record an rr trace:

https://s3.amazonaws.com/julialang-dumps/reports/2022-08-12T20-33-13-lassepe.tar.zst

I can reliably trigger the issue by

  1. using Revise, MyPackage
  2. Modify my package in a slight way that triggers revise
  3. Call any function from my package

Which results in a segfault like the following


signal (11): Segmentation fault
in expression starting at none:1
mtcache_hash_lookup at /cache/build/default-amdci4-3/julialang/julia-release-1-dot-8/src/typemap.c:292 [inlined]
mtcache_hash_lookup at /cache/build/default-amdci4-3/julialang/julia-release-1-dot-8/src/typemap.c:288 [inlined]
jl_typemap_intersection_visitor at /cache/build/default-amdci4-3/julialang/julia-release-1-dot-8/src/typemap.c:569
jl_typemap_intersection_visitor at /cache/build/default-amdci4-3/julialang/julia-release-1-dot-8/src/typemap.c:571
ml_matches at /cache/build/default-amdci4-3/julialang/julia-release-1-dot-8/src/gf.c:2888
_gf_invoke_lookup at /cache/build/default-amdci4-3/julialang/julia-release-1-dot-8/src/gf.c:2561 [inlined]
jl_mt_assoc_by_type at /cache/build/default-amdci4-3/julialang/julia-release-1-dot-8/src/gf.c:1249
jl_lookup_generic_ at /cache/build/default-amdci4-3/julialang/julia-release-1-dot-8/src/gf.c:2520 [inlined]
ijl_apply_generic at /cache/build/default-amdci4-3/julialang/julia-release-1-dot-8/src/gf.c:2545
maybe_evaluate_builtin at /home/lassepe/.julia/packages/JuliaInterpreter/ScElF/src/builtins.jl:102
#evaluate_call_recurse!#65 at /home/lassepe/.julia/packages/JuliaInterpreter/ScElF/src/interpret.jl:224
evaluate_call_recurse! at /home/lassepe/.julia/packages/JuliaInterpreter/ScElF/src/interpret.jl:220
eval_rhs at /home/lassepe/.julia/packages/JuliaInterpreter/ScElF/src/interpret.jl:393
step_expr! at /home/lassepe/.julia/packages/JuliaInterpreter/ScElF/src/interpret.jl:541
step_expr! at /home/lassepe/.julia/packages/JuliaInterpreter/ScElF/src/interpret.jl:596
finish! at /home/lassepe/.julia/packages/JuliaInterpreter/ScElF/src/commands.jl:14
step_expr! at /home/lassepe/.julia/packages/JuliaInterpreter/ScElF/src/interpret.jl:515
#methods_by_execution!#25 at /home/lassepe/.julia/packages/Revise/do2nH/src/lowered.jl:451
unknown function (ip: 0x7ffa453d0bbe)
unknown function (ip: 0x7ffa4535eb29)
unknown function (ip: 0x7ffa4535eaed)
methods_by_execution!##kw at /home/lassepe/.julia/packages/Revise/do2nH/src/lowered.jl:238 [inlined]
#methods_by_execution!#21 at /home/lassepe/.julia/packages/Revise/do2nH/src/lowered.jl:217
methods_by_execution!##kw at /home/lassepe/.julia/packages/Revise/do2nH/src/lowered.jl:173 [inlined]
#eval_with_signatures#91 at /home/lassepe/.julia/packages/Revise/do2nH/src/packagedef.jl:467 [inlined]
eval_with_signatures##kw at /home/lassepe/.julia/packages/Revise/do2nH/src/packagedef.jl:464 [inlined]
#instantiate_sigs!#92 at /home/lassepe/.julia/packages/Revise/do2nH/src/packagedef.jl:475
instantiate_sigs! at /home/lassepe/.julia/packages/Revise/do2nH/src/packagedef.jl:471 [inlined]
maybe_extract_sigs! at /home/lassepe/.julia/packages/Revise/do2nH/src/pkgs.jl:141 [inlined]
handle_deletions at /home/lassepe/.julia/packages/Revise/do2nH/src/packagedef.jl:645
#revise#97 at /home/lassepe/.julia/packages/Revise/do2nH/src/packagedef.jl:754
revise at /home/lassepe/.julia/packages/Revise/do2nH/src/packagedef.jl:741
unknown function (ip: 0x7ffa45376dbf)
_jl_invoke at /cache/build/default-amdci4-3/julialang/julia-release-1-dot-8/src/gf.c:2367 [inlined]
ijl_apply_generic at /cache/build/default-amdci4-3/julialang/julia-release-1-dot-8/src/gf.c:2549
jl_apply at /cache/build/default-amdci4-3/julialang/julia-release-1-dot-8/src/julia.h:1838 [inlined]
jl_f__call_latest at /cache/build/default-amdci4-3/julialang/julia-release-1-dot-8/src/builtins.c:774
#invokelatest#2 at ./essentials.jl:729 [inlined]
invokelatest at ./essentials.jl:726
unknown function (ip: 0x7ffb480a47c2)
_jl_invoke at /cache/build/default-amdci4-3/julialang/julia-release-1-dot-8/src/gf.c:2367 [inlined]
ijl_apply_generic at /cache/build/default-amdci4-3/julialang/julia-release-1-dot-8/src/gf.c:2549
jl_apply at /cache/build/default-amdci4-3/julialang/julia-release-1-dot-8/src/julia.h:1838 [inlined]
do_call at /cache/build/default-amdci4-3/julialang/julia-release-1-dot-8/src/interpreter.c:126
eval_value at /cache/build/default-amdci4-3/julialang/julia-release-1-dot-8/src/interpreter.c:215
eval_stmt_value at /cache/build/default-amdci4-3/julialang/julia-release-1-dot-8/src/interpreter.c:166 [inlined]
eval_body at /cache/build/default-amdci4-3/julialang/julia-release-1-dot-8/src/interpreter.c:612
jl_interpret_toplevel_thunk at /cache/build/default-amdci4-3/julialang/julia-release-1-dot-8/src/interpreter.c:750
jl_toplevel_eval_flex at /cache/build/default-amdci4-3/julialang/julia-release-1-dot-8/src/toplevel.c:906
jl_toplevel_eval_flex at /cache/build/default-amdci4-3/julialang/julia-release-1-dot-8/src/toplevel.c:850
eval_body at /cache/build/default-amdci4-3/julialang/julia-release-1-dot-8/src/interpreter.c:556
eval_body at /cache/build/default-amdci4-3/julialang/julia-release-1-dot-8/src/interpreter.c:522
jl_interpret_toplevel_thunk at /cache/build/default-amdci4-3/julialang/julia-release-1-dot-8/src/interpreter.c:750
jl_toplevel_eval_flex at /cache/build/default-amdci4-3/julialang/julia-release-1-dot-8/src/toplevel.c:906
ijl_toplevel_eval_in at /cache/build/default-amdci4-3/julialang/julia-release-1-dot-8/src/toplevel.c:965
eval at ./boot.jl:368 [inlined]
eval_user_input at /cache/build/default-amdci4-3/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-3/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-3/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-3/julialang/julia-release-1-dot-8/usr/share/julia/stdlib/v1.8/REPL/src/REPL.jl:369
run_repl at /cache/build/default-amdci4-3/julialang/julia-release-1-dot-8/usr/share/julia/stdlib/v1.8/REPL/src/REPL.jl:355
jfptr_run_repl_66708.clone_1 at /home/lassepe/.julia/juliaup/julia-1.8.0-rc4+0.x64/lib/julia/sys.so (unknown line)
_jl_invoke at /cache/build/default-amdci4-3/julialang/julia-release-1-dot-8/src/gf.c:2367 [inlined]
ijl_apply_generic at /cache/build/default-amdci4-3/julialang/julia-release-1-dot-8/src/gf.c:2549
#966 at ./client.jl:419
jfptr_YY.966_54707.clone_1 at /home/lassepe/.julia/juliaup/julia-1.8.0-rc4+0.x64/lib/julia/sys.so (unknown line)
_jl_invoke at /cache/build/default-amdci4-3/julialang/julia-release-1-dot-8/src/gf.c:2367 [inlined]
ijl_apply_generic at /cache/build/default-amdci4-3/julialang/julia-release-1-dot-8/src/gf.c:2549
jl_apply at /cache/build/default-amdci4-3/julialang/julia-release-1-dot-8/src/julia.h:1838 [inlined]
jl_f__call_latest at /cache/build/default-amdci4-3/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_45153.clone_1 at /home/lassepe/.julia/juliaup/julia-1.8.0-rc4+0.x64/lib/julia/sys.so (unknown line)
_jl_invoke at /cache/build/default-amdci4-3/julialang/julia-release-1-dot-8/src/gf.c:2367 [inlined]
ijl_apply_generic at /cache/build/default-amdci4-3/julialang/julia-release-1-dot-8/src/gf.c:2549
jl_apply at /cache/build/default-amdci4-3/julialang/julia-release-1-dot-8/src/julia.h:1838 [inlined]
true_main at /cache/build/default-amdci4-3/julialang/julia-release-1-dot-8/src/jlapi.c:575
jl_repl_entrypoint at /cache/build/default-amdci4-3/julialang/julia-release-1-dot-8/src/jlapi.c:719
main at /cache/build/default-amdci4-3/julialang/julia-release-1-dot-8/cli/loader_exe.c:59
__libc_start_main at /lib/x86_64-linux-gnu/libc.so.6 (unknown line)
unknown function (ip: 0x401098)
Allocations: 360630626 (Pool: 360582127; Big: 48499); GC: 100
@lassepe
Copy link
Author

lassepe commented Aug 12, 2022

I have no idea how these two things are related but it looks like when I don't load Query.jl in my package, the segfault disappears. What is surprising, however, is that I have had Query in my package for a long time and I belief it (and the related packages) haven't changed in a long time.

@timholy
Copy link
Owner

timholy commented Jan 7, 2024

Is this still an issue?

@lassepe
Copy link
Author

lassepe commented Jan 7, 2024

I didn't run into this again in a different context and for now recent Julia versions the instance above is fixed. I'll reopen if I run into it again

@lassepe lassepe closed this as completed Jan 7, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants