Skip to content

GC segfault in julia v1.11.5 #58580

@MasonProtter

Description

@MasonProtter

I encountered a segfault today that appears to happen in the GC but only on julia v1.11, I observe no problem on v1.10.9 or v1.12-beta3.

Here is an rr trace of the crash: https://julialang-dumps.s3.amazonaws.com/reports/2025-05-30T15-04-51-MasonProtter.tar.zst

A MWE to trigger the crash yourself would be to clone https://github.com/Neuroblox/Neuroblox.jl master branch, activate its environment and then run the script Neuroblox/examples/NMDA_gc_mwe.jl

Here is a (non-rr) stacktrace I get when I run the MWE (I was unable to make build julia v1.11.5 to give a gdb backtrace):

julia> include("examples/NMDA_gc_mwe.jl");

[231663] signal 11 (1): Segmentation fault
in expression starting at /home/masonp/Nextcloud/neuroblox/Neuroblox/examples/NMDA_gc_mwe.jl:70
gc_mark_obj8 at /cache/build/tester-amdci5-12/julialang/julia-release-1-dot-11/src/gc.c:2113
gc_mark_outrefs at /cache/build/tester-amdci5-12/julialang/julia-release-1-dot-11/src/gc.c:2882 [inlined]
gc_mark_and_steal at /cache/build/tester-amdci5-12/julialang/julia-release-1-dot-11/src/gc.c:2987
gc_mark_loop_parallel at /cache/build/tester-amdci5-12/julialang/julia-release-1-dot-11/src/gc.c:3127
gc_mark_loop at /cache/build/tester-amdci5-12/julialang/julia-release-1-dot-11/src/gc.c:3146 [inlined]
_jl_gc_collect at /cache/build/tester-amdci5-12/julialang/julia-release-1-dot-11/src/gc.c:3532
ijl_gc_collect at /cache/build/tester-amdci5-12/julialang/julia-release-1-dot-11/src/gc.c:3893
maybe_collect at /cache/build/tester-amdci5-12/julialang/julia-release-1-dot-11/src/gc.c:926 [inlined]
jl_gc_pool_alloc_inner at /cache/build/tester-amdci5-12/julialang/julia-release-1-dot-11/src/gc.c:1319
ijl_gc_pool_alloc_instrumented at /cache/build/tester-amdci5-12/julialang/julia-release-1-dot-11/src/gc.c:1377
ht_keyindex at /home/masonp/.julia/packages/OrderedCollections/EqSuR/src/ordered_dict.jl:250
getindex at /home/masonp/.julia/packages/OrderedCollections/EqSuR/src/ordered_dict.jl:386 [inlined]
has_connection at /home/masonp/.julia/packages/GraphDynamics/IVrFE/src/graph_system.jl:42
unknown function (ip: 0x78ef3c7a3acd)
#56 at /home/masonp/.julia/packages/GraphDynamics/IVrFE/src/graph_system.jl:210
iterate at ./generator.jl:48 [inlined]
collect_to! at ./array.jl:849
collect_to_with_first! at ./array.jl:827
unknown function (ip: 0x78ef3c7ae782)
collect at ./array.jl:801
unknown function (ip: 0x78ef3c7aa442)
map at ./abstractarray.jl:3399
unknown function (ip: 0x78ef3c7a8e36)
call_composed at ./operators.jl:1054 [inlined]
call_composed at ./operators.jl:1053 [inlined]
#_#113 at ./operators.jl:1050
ComposedFunction at ./operators.jl:1050 [inlined]
#55 at /home/masonp/.julia/packages/GraphDynamics/IVrFE/src/graph_system.jl:204 [inlined]
iterate at ./generator.jl:48 [inlined]
collect_to! at ./array.jl:849
collect_to_with_first! at ./array.jl:827
unknown function (ip: 0x78ef3c7ad8e2)
collect at ./array.jl:801
unknown function (ip: 0x78ef3c7a8d22)
map at ./abstractarray.jl:3399 [inlined]
call_composed at ./operators.jl:1054 [inlined]
call_composed at ./operators.jl:1053 [inlined]
call_composed at ./operators.jl:1053
unknown function (ip: 0x78ef3c7a80a3)
#_#113 at ./operators.jl:1050 [inlined]
ComposedFunction at ./operators.jl:1050 [inlined]
#54 at /home/masonp/.julia/packages/GraphDynamics/IVrFE/src/graph_system.jl:203 [inlined]
iterate at ./generator.jl:48 [inlined]
collect at ./array.jl:791
unknown function (ip: 0x78ef3c7a7f62)
map at ./abstractarray.jl:3399 [inlined]
call_composed at ./operators.jl:1054 [inlined]
call_composed at ./operators.jl:1053 [inlined]
call_composed at ./operators.jl:1053
unknown function (ip: 0x78ef3c7a7c13)
#_#113 at ./operators.jl:1050
ComposedFunction at ./operators.jl:1050 [inlined]
#make_connection_matrices#51 at /home/masonp/.julia/packages/GraphDynamics/IVrFE/src/graph_system.jl:202
make_connection_matrices at /home/masonp/.julia/packages/GraphDynamics/IVrFE/src/graph_system.jl:192 [inlined]
PartitionedGraphSystem at /home/masonp/.julia/packages/GraphDynamics/IVrFE/src/graph_system.jl:163
#system_from_graph#520 at /home/masonp/Nextcloud/neuroblox/Neuroblox/src/Neurographs.jl:302 [inlined]
system_from_graph at /home/masonp/Nextcloud/neuroblox/Neuroblox/src/Neurographs.jl:298 [inlined]
system_from_graph at /home/masonp/Nextcloud/neuroblox/Neuroblox/src/Neurographs.jl:298
unknown function (ip: 0x78ef3c7833e6)
top-level scope at /home/masonp/Nextcloud/neuroblox/Neuroblox/examples/NMDA_gc_mwe.jl:71
jl_toplevel_eval_flex at /cache/build/tester-amdci5-12/julialang/julia-release-1-dot-11/src/toplevel.c:934
jl_toplevel_eval_flex at /cache/build/tester-amdci5-12/julialang/julia-release-1-dot-11/src/toplevel.c:886
ijl_toplevel_eval_in at /cache/build/tester-amdci5-12/julialang/julia-release-1-dot-11/src/toplevel.c:994
eval at ./boot.jl:430 [inlined]
include_string at ./loading.jl:2734
_include at ./loading.jl:2794
include at ./sysimg.jl:38
unknown function (ip: 0x78ef3c6ff232)
jl_apply at /cache/build/tester-amdci5-12/julialang/julia-release-1-dot-11/src/julia.h:2157 [inlined]
do_call at /cache/build/tester-amdci5-12/julialang/julia-release-1-dot-11/src/interpreter.c:126
eval_value at /cache/build/tester-amdci5-12/julialang/julia-release-1-dot-11/src/interpreter.c:223
eval_stmt_value at /cache/build/tester-amdci5-12/julialang/julia-release-1-dot-11/src/interpreter.c:174 [inlined]
eval_body at /cache/build/tester-amdci5-12/julialang/julia-release-1-dot-11/src/interpreter.c:666
jl_interpret_toplevel_thunk at /cache/build/tester-amdci5-12/julialang/julia-release-1-dot-11/src/interpreter.c:824
jl_toplevel_eval_flex at /cache/build/tester-amdci5-12/julialang/julia-release-1-dot-11/src/toplevel.c:943
jl_toplevel_eval_flex at /cache/build/tester-amdci5-12/julialang/julia-release-1-dot-11/src/toplevel.c:886
jl_toplevel_eval_flex at /cache/build/tester-amdci5-12/julialang/julia-release-1-dot-11/src/toplevel.c:886
jl_toplevel_eval_flex at /cache/build/tester-amdci5-12/julialang/julia-release-1-dot-11/src/toplevel.c:886
jl_toplevel_eval_flex at /cache/build/tester-amdci5-12/julialang/julia-release-1-dot-11/src/toplevel.c:886
ijl_toplevel_eval_in at /cache/build/tester-amdci5-12/julialang/julia-release-1-dot-11/src/toplevel.c:994
eval at ./boot.jl:430 [inlined]
eval_user_input at /cache/build/tester-amdci5-12/julialang/julia-release-1-dot-11/usr/share/julia/stdlib/v1.11/REPL/src/REPL.jl:261
repl_backend_loop at /cache/build/tester-amdci5-12/julialang/julia-release-1-dot-11/usr/share/julia/stdlib/v1.11/REPL/src/REPL.jl:368
#start_repl_backend#59 at /cache/build/tester-amdci5-12/julialang/julia-release-1-dot-11/usr/share/julia/stdlib/v1.11/REPL/src/REPL.jl:343
start_repl_backend at /cache/build/tester-amdci5-12/julialang/julia-release-1-dot-11/usr/share/julia/stdlib/v1.11/REPL/src/REPL.jl:340
#run_repl#76 at /cache/build/tester-amdci5-12/julialang/julia-release-1-dot-11/usr/share/julia/stdlib/v1.11/REPL/src/REPL.jl:500
run_repl at /cache/build/tester-amdci5-12/julialang/julia-release-1-dot-11/usr/share/julia/stdlib/v1.11/REPL/src/REPL.jl:486
jfptr_run_repl_10123.1 at /home/masonp/.julia/juliaup/julia-1.11.5+0.x64.linux.gnu/share/julia/compiled/v1.11/REPL/u0gqU_4x0TT.so (unknown line)
#1150 at ./client.jl:446
jfptr_YY.1150_14797.1 at /home/masonp/.julia/juliaup/julia-1.11.5+0.x64.linux.gnu/share/julia/compiled/v1.11/REPL/u0gqU_4x0TT.so (unknown line)
jl_apply at /cache/build/tester-amdci5-12/julialang/julia-release-1-dot-11/src/julia.h:2157 [inlined]
jl_f__call_latest at /cache/build/tester-amdci5-12/julialang/julia-release-1-dot-11/src/builtins.c:875
#invokelatest#2 at ./essentials.jl:1055 [inlined]
invokelatest at ./essentials.jl:1052 [inlined]
run_main_repl at ./client.jl:430
repl_main at ./client.jl:567 [inlined]
_start at ./client.jl:541
jfptr__start_73430.1 at /home/masonp/.julia/juliaup/julia-1.11.5+0.x64.linux.gnu/lib/julia/sys.so (unknown line)
jl_apply at /cache/build/tester-amdci5-12/julialang/julia-release-1-dot-11/src/julia.h:2157 [inlined]
true_main at /cache/build/tester-amdci5-12/julialang/julia-release-1-dot-11/src/jlapi.c:900
jl_repl_entrypoint at /cache/build/tester-amdci5-12/julialang/julia-release-1-dot-11/src/jlapi.c:1059
main at /cache/build/tester-amdci5-12/julialang/julia-release-1-dot-11/cli/loader_exe.c:58
unknown function (ip: 0x78ef6d05f6b4)
__libc_start_main at /usr/lib/libc.so.6 (unknown line)
unknown function (ip: 0x4010b8)
Allocations: 153434091 (Pool: 153432645; Big: 1446); GC: 72
zsh: segmentation fault (core dumped)  julia +1.11 --project=.

Metadata

Metadata

Assignees

No one assigned

    Labels

    GCGarbage collectorbugIndicates an unexpected problem or unintended behaviorregression 1.11Regression in the 1.11 releaserr trace included

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions