JuliaPolyhedra / Polyhedra.jl

Polyhedral Computation Interface
Other
172 stars 27 forks source link

Issue with VScode debugger #310

Closed AndrewGibbs closed 7 months ago

AndrewGibbs commented 1 year ago

I'm using Julia v1.7, just updated (at time of posting) Polyhedra.jl, on Ubuntu 20.04.5 LTS.

When I run the following code in debug mode in VScode v1.73.1 using Polyhedra f = x-> x I get a segmentation fault error (full output below). Things run fine if I replace the second line with f(x) = x, or if I run normally (not in debug mode). Polyhedra was one of many packages imported into a package I am working on, none of the other imported packages were the cause of this problem.

Luckily my package can work without Polyhedra - it turns out that LazySets will suffice, so fixing this is not urgent for me! But I thought I should raise it here anyway.

Full output:

signal (11): Segmentation fault in expression starting at /home/andrew/.vscode/extensions/julialang.language-julia-1.38.2/scripts/debugger/run_debugger.jl:10 mtcache_hash_lookup at /buildworker/worker/package_linux64/build/src/typemap.c:292 [inlined] jl_typemap_intersection_visitor at /buildworker/worker/package_linux64/build/src/typemap.c:569 jl_typemap_intersection_visitor at /buildworker/worker/package_linux64/build/src/typemap.c:571 ml_matches at /buildworker/worker/package_linux64/build/src/gf.c:2761 _gf_invoke_lookup at /buildworker/worker/package_linux64/build/src/gf.c:2440 [inlined] jl_mt_assoc_by_type at /buildworker/worker/package_linux64/build/src/gf.c:1195 jl_lookupgeneric at /buildworker/worker/package_linux64/build/src/gf.c:2400 [inlined] jl_apply_generic at /buildworker/worker/package_linux64/build/src/gf.c:2425 maybe_evaluate_builtin at /home/andrew/.vscode/extensions/julialang.language-julia-1.38.2/scripts/packages/JuliaInterpreter/src/builtins.jl:102

evaluate_call_recurse!#65 at /home/andrew/.vscode/extensions/julialang.language-julia-1.38.2/scripts/packages/JuliaInterpreter/src/interpret.jl:224

evaluate_call_recurse! at /home/andrew/.vscode/extensions/julialang.language-julia-1.38.2/scripts/packages/JuliaInterpreter/src/interpret.jl:221 eval_rhs at /home/andrew/.vscode/extensions/julialang.language-julia-1.38.2/scripts/packages/JuliaInterpreter/src/interpret.jl:393 step_expr! at /home/andrew/.vscode/extensions/julialang.language-julia-1.38.2/scripts/packages/JuliaInterpreter/src/interpret.jl:541 step_expr! at /home/andrew/.vscode/extensions/julialang.language-julia-1.38.2/scripts/packages/JuliaInterpreter/src/interpret.jl:596 finish! at /home/andrew/.vscode/extensions/julialang.language-julia-1.38.2/scripts/packages/JuliaInterpreter/src/commands.jl:14 step_expr! at /home/andrew/.vscode/extensions/julialang.language-julia-1.38.2/scripts/packages/JuliaInterpreter/src/interpret.jl:515 step_expr! at /home/andrew/.vscode/extensions/julialang.language-julia-1.38.2/scripts/packages/JuliaInterpreter/src/interpret.jl:596 finish! at /home/andrew/.vscode/extensions/julialang.language-julia-1.38.2/scripts/packages/JuliaInterpreter/src/commands.jl:14 finish_and_return! at /home/andrew/.vscode/extensions/julialang.language-julia-1.38.2/scripts/packages/JuliaInterpreter/src/commands.jl:30 unknown function (ip: 0x7f3ee95cee70) _jl_invoke at /buildworker/worker/package_linux64/build/src/gf.c:2247 [inlined] jl_apply_generic at /buildworker/worker/package_linux64/build/src/gf.c:2429 finish_stack! at /home/andrew/.vscode/extensions/julialang.language-julia-1.38.2/scripts/packages/JuliaInterpreter/src/commands.jl:60 unknown function (ip: 0x7f3ee95cea20) _jl_invoke at /buildworker/worker/package_linux64/build/src/gf.c:2247 [inlined] jl_apply_generic at /buildworker/worker/package_linux64/build/src/gf.c:2429

debug_command#90 at /home/andrew/.vscode/extensions/julialang.language-julia-1.38.2/scripts/packages/JuliaInterpreter/src/commands.jl:502

debug_command at /home/andrew/.vscode/extensions/julialang.language-julia-1.38.2/scripts/packages/JuliaInterpreter/src/commands.jl:439 unknown function (ip: 0x7f3ee95cc255) _jl_invoke at /buildworker/worker/package_linux64/build/src/gf.c:2247 [inlined] jl_apply_generic at /buildworker/worker/package_linux64/build/src/gf.c:2429 jl_apply at /buildworker/worker/package_linux64/build/src/julia.h:1788 [inlined] jl_f__call_latest at /buildworker/worker/package_linux64/build/src/builtins.c:757

invokelatest#2 at ./essentials.jl:716 [inlined]

invokelatest at ./essentials.jl:714 [inlined] our_debug_command at /home/andrew/.vscode/extensions/julialang.language-julia-1.38.2/scripts/packages/DebugAdapter/src/debugger_core.jl:67 startdebug at /home/andrew/.vscode/extensions/julialang.language-julia-1.38.2/scripts/packages/DebugAdapter/src/packagedef.jl:106 startdebugger at /home/andrew/.vscode/extensions/julialang.language-julia-1.38.2/scripts/packages/VSCodeDebugger/src/VSCodeDebugger.jl:43 unknown function (ip: 0x7f3ee9562aaf) _jl_invoke at /buildworker/worker/package_linux64/build/src/gf.c:2247 [inlined] jl_apply_generic at /buildworker/worker/package_linux64/build/src/gf.c:2429 jl_apply at /buildworker/worker/package_linux64/build/src/julia.h:1788 [inlined] do_call at /buildworker/worker/package_linux64/build/src/interpreter.c:126 eval_value at /buildworker/worker/package_linux64/build/src/interpreter.c:215 eval_stmt_value at /buildworker/worker/package_linux64/build/src/interpreter.c:166 [inlined] eval_body at /buildworker/worker/package_linux64/build/src/interpreter.c:587 jl_interpret_toplevel_thunk at /buildworker/worker/package_linux64/build/src/interpreter.c:731 jl_toplevel_eval_flex at /buildworker/worker/package_linux64/build/src/toplevel.c:885 jl_toplevel_eval_flex at /buildworker/worker/package_linux64/build/src/toplevel.c:830 jl_toplevel_eval_in at /buildworker/worker/package_linux64/build/src/toplevel.c:944 eval at ./boot.jl:373 [inlined] include_string at ./loading.jl:1196 _jl_invoke at /buildworker/worker/package_linux64/build/src/gf.c:2247 [inlined] jl_apply_generic at /buildworker/worker/package_linux64/build/src/gf.c:2429 _include at ./loading.jl:1253 include at ./Base.jl:418 _jl_invoke at /buildworker/worker/package_linux64/build/src/gf.c:2247 [inlined] jl_apply_generic at /buildworker/worker/package_linux64/build/src/gf.c:2429 exec_options at ./client.jl:292 _start at ./client.jl:495 jfptr__start_38732.clone_1 at /home/andrew/julia-1.7.2/lib/julia/sys.so (unknown line) _jl_invoke at /buildworker/worker/package_linux64/build/src/gf.c:2247 [inlined] jl_apply_generic at /buildworker/worker/package_linux64/build/src/gf.c:2429 jl_apply at /buildworker/worker/package_linux64/build/src/julia.h:1788 [inlined] true_main at /buildworker/worker/package_linux64/build/src/jlapi.c:559 jl_repl_entrypoint at /buildworker/worker/package_linux64/build/src/jlapi.c:701 main at /buildworker/worker/package_linux64/build/cli/loader_exe.c:42 __libc_start_main at /lib/x86_64-linux-gnu/libc.so.6 (unknown line) _start at /home/andrew/julia-1.7.2/bin/julia (unknown line) Allocations: 25389613 (Pool: 25370126; Big: 19487); GC: 23

blegat commented 1 year ago

Looks like a compiler bug, not sure what I can do from the Polyhedra package. Could you report it to https://github.com/JuliaLang/julia with a reproducing example ?

blegat commented 7 months ago

Closing as it's unclear what's actionable here