ITADN

`shortest_path_dijkstra` crashes julia when given wrong input

#5929OpenYueRen 创建于 2026-04-09
bugtopic: combinatoricspackage: Polymake
Y
YueRencommented
Found together with @julioquacdur. To reproduce the crash: ``` G = graph_from_edges([[1,2]]) shortest_path_dijkstra(G, 1, 3) # works shortest_path_dijkstra(G, 3, 1) # crashes ``` Here is the crash: ``` julia> p = shortest_path_dijkstra(G, 3, 1) # crashes [80174] signal 11 (128): Segmentation fault in expression starting at REPL[3]:1 operator() at /opt/x86_64-linux-gnu/x86_64-linux-gnu/sys-root/usr/local/include/polymake/internal/sparse2d.h:438 [inlined] to_node at /opt/x86_64-linux-gnu/x86_64-linux-gnu/sys-root/usr/local/include/polymake/next/Graph.h:1102 [inlined] do_search<polymake::graph::DijkstraShortestPath<TopLayer>::solve(polymake::Int, polymake::Int, bool) [with TopLayer = polymake::graph::DijkstraShortestPathWithScalarWeights<pm::graph::Undirected, long int>]::<lambda(const label_t&)> > at /opt/x86_64-linux-gnu/x86_64-linux-gnu/sys-root/usr/local/include/polymake/graph/DijkstraShortestPathBase.h:204 [inlined] solve<polymake::graph::DijkstraShortestPath<TopLayer>::solve(polymake::Int, polymake::Int, bool) [with TopLayer = polymake::graph::DijkstraShortestPathWithScalarWeights<pm::graph::Undirected, long int>]::<lambda(const label_t&)> > at /opt/x86_64-linux-gnu/x86_64-linux-gnu/sys-root/usr/local/include/polymake/graph/DijkstraShortestPathBase.h:166 [inlined] solve<polymake::graph::DijkstraShortestPath<TopLayer>::solve(polymake::Int, polymake::Int, bool) [with TopLayer = polymake::graph::DijkstraShortestPathWithScalarWeights<pm::graph::Undirected, long int>]::<lambda(const label_t&)> > at /opt/x86_64-linux-gnu/x86_64-linux-gnu/sys-root/usr/local/include/polymake/graph/DijkstraShortestPath.h:78 [inlined] solve at /opt/x86_64-linux-gnu/x86_64-linux-gnu/sys-root/usr/local/include/polymake/graph/DijkstraShortestPath.h:84 [inlined] operator() at /workspace/srcdir/libpolymake-julia/include/jlpolymake/containers.h:532 [inlined] _M_invoke at /opt/x86_64-linux-gnu/x86_64-linux-gnu/include/c++/8.1.0/bits/std_function.h:283 operator() at /opt/x86_64-linux-gnu/x86_64-linux-gnu/include/c++/8.1.0/bits/std_function.h:687 [inlined] operator() at /opt/x86_64-linux-gnu/x86_64-linux-gnu/sys-root/usr/local/include/jlcxx/module.hpp:48 [inlined] apply at /opt/x86_64-linux-gnu/x86_64-linux-gnu/sys-root/usr/local/include/jlcxx/module.hpp:73 macro expansion at /home/ren/.julia/packages/CxxWrap/0hc89/src/CxxWrap.jl:724 [inlined] _shortest_path_dijkstra at ./none:0 unknown function (ip: 0x788059f57553) at (unknown file) #shortest_path_dijkstra#4310 at /home/ren/.julia/packages/Oscar/5rrcQ/src/Combinatorics/Graphs/functions.jl:1117 shortest_path_dijkstra at /home/ren/.julia/packages/Oscar/5rrcQ/src/Combinatorics/Graphs/functions.jl:1111 unknown function (ip: 0x788059f567e0) at (unknown file) jl_apply at /cache/build/builder-amdci5-3/julialang/julia-release-1-dot-12/src/julia.h:2391 [inlined] do_call at /cache/build/builder-amdci5-3/julialang/julia-release-1-dot-12/src/interpreter.c:123 eval_value at /cache/build/builder-amdci5-3/julialang/julia-release-1-dot-12/src/interpreter.c:243 eval_stmt_value at /cache/build/builder-amdci5-3/julialang/julia-release-1-dot-12/src/interpreter.c:194 [inlined] eval_body at /cache/build/builder-amdci5-3/julialang/julia-release-1-dot-12/src/interpreter.c:707 jl_interpret_toplevel_thunk at /cache/build/builder-amdci5-3/julialang/julia-release-1-dot-12/src/interpreter.c:898 jl_toplevel_eval_flex at /cache/build/builder-amdci5-3/julialang/julia-release-1-dot-12/src/toplevel.c:1035 __repl_entry_eval_expanded_with_loc at /cache/build/builder-amdci5-3/julialang/julia-release-1-dot-12/usr/share/julia/stdlib/v1.12/REPL/src/REPL.jl:301 jl_apply at /cache/build/builder-amdci5-3/julialang/julia-release-1-dot-12/src/julia.h:2391 [inlined] jl_f_invokelatest at /cache/build/builder-amdci5-3/julialang/julia-release-1-dot-12/src/builtins.c:881 toplevel_eval_with_hooks at /cache/build/builder-amdci5-3/julialang/julia-release-1-dot-12/usr/share/julia/stdlib/v1.12/REPL/src/REPL.jl:308 toplevel_eval_with_hooks at /cache/build/builder-amdci5-3/julialang/julia-release-1-dot-12/usr/share/julia/stdlib/v1.12/REPL/src/REPL.jl:312 toplevel_eval_with_hooks at /cache/build/builder-amdci5-3/julialang/julia-release-1-dot-12/usr/share/julia/stdlib/v1.12/REPL/src/REPL.jl:305 [inlined] eval_user_input at /cache/build/builder-amdci5-3/julialang/julia-release-1-dot-12/usr/share/julia/stdlib/v1.12/REPL/src/REPL.jl:330 repl_backend_loop at /cache/build/builder-amdci5-3/julialang/julia-release-1-dot-12/usr/share/julia/stdlib/v1.12/REPL/src/REPL.jl:452 #start_repl_backend#41 at /cache/build/builder-amdci5-3/julialang/julia-release-1-dot-12/usr/share/julia/stdlib/v1.12/REPL/src/REPL.jl:427 start_repl_backend at /cache/build/builder-amdci5-3/julialang/julia-release-1-dot-12/usr/share/julia/stdlib/v1.12/REPL/src/REPL.jl:424 [inlined] #run_repl#50 at /cache/build/builder-amdci5-3/julialang/julia-release-1-dot-12/usr/share/julia/stdlib/v1.12/REPL/src/REPL.jl:653 run_repl at /cache/build/builder-amdci5-3/julialang/julia-release-1-dot-12/usr/share/julia/stdlib/v1.12/REPL/src/REPL.jl:639 jfptr_run_repl_19202.1 at /home/ren/.julia/juliaup/julia-1.12.5+0.x64.linux.gnu/share/julia/compiled/v1.12/REPL/u0gqU_ZarBC.so (unknown line) run_std_repl at ./client.jl:478 jfptr_run_std_repl_43716.1 at /home/ren/.julia/juliaup/julia-1.12.5+0.x64.linux.gnu/lib/julia/sys.so (unknown line) jl_apply at /cache/build/builder-amdci5-3/julialang/julia-release-1-dot-12/src/julia.h:2391 [inlined] jl_f_invokelatest at /cache/build/builder-amdci5-3/julialang/julia-release-1-dot-12/src/builtins.c:881 run_main_repl at ./client.jl:499 repl_main at ./client.jl:586 [inlined] _start at ./client.jl:561 jfptr__start_74358.1 at /home/ren/.julia/juliaup/julia-1.12.5+0.x64.linux.gnu/lib/julia/sys.so (unknown line) jl_apply at /cache/build/builder-amdci5-3/julialang/julia-release-1-dot-12/src/julia.h:2391 [inlined] true_main at /cache/build/builder-amdci5-3/julialang/julia-release-1-dot-12/src/jlapi.c:971 jl_repl_entrypoint at /cache/build/builder-amdci5-3/julialang/julia-release-1-dot-12/src/jlapi.c:1139 main at /cache/build/builder-amdci5-3/julialang/julia-release-1-dot-12/cli/loader_exe.c:58 unknown function (ip: 0x78807782a574) at /lib/x86_64-linux-gnu/libc.so.6 __libc_start_main at /lib/x86_64-linux-gnu/libc.so.6 (unknown line) unknown function (ip: 0x4010b8) at /workspace/srcdir/glibc-2.17/csu/../sysdeps/x86_64/start.S Allocations: 23381832 (Pool: 23348446; Big: 33386); GC: 16 Segmentation fault (core dumped) ```
0 条评论