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 during OIFITS test suite #52951

Closed
nsajko opened this issue Jan 18, 2024 · 1 comment
Closed

Segfault during OIFITS test suite #52951

nsajko opened this issue Jan 18, 2024 · 1 comment

Comments

@nsajko
Copy link
Contributor

nsajko commented Jan 18, 2024

I get a segfault each time I run test OIFITS. I don't actually use that package, I just stumbled upon this while investigating the Nanosoldier report for #35293.

Version info:

Julia Version 1.11.0-DEV.1284
Commit 3ed49fdb3a9 (2024-01-17 06:57 UTC)
Build Info:
  Official https://julialang.org/ release
Platform Info:
  OS: Linux (x86_64-linux-gnu)
  CPU: 8 × AMD Ryzen 3 5300U with Radeon Graphics
  WORD_SIZE: 64
  LLVM: libLLVM-16.0.6 (ORCJIT, znver2)
Threads: 1 default, 0 interactive, 1 GC (on 8 virtual cores)
Environment:
  JULIA_NUM_PRECOMPILE_TASKS = 3
  JULIA_PKG_PRECOMPILE_AUTO = 0
julia> include("/home/nsajko/.julia/packages/OIFITS/xLmZw/test/runtests.jl");
tempfile = "/tmp/jl_nnuhjG"
Test Summary: | Pass  Total  Time
Strings       |   16     16  0.2s
Test Summary:                        | Pass  Total  Time
OI-FITS type definitions and formats |  597    597  0.2s

[274948] signal 11 (1): Segmentation fault
in expression starting at /home/nsajko/.julia/packages/OIFITS/xLmZw/test/runtests.jl:121
jl_gc_pool_alloc_inner at /cache/build/builder-amdci4-6/julialang/julia-master/src/gc.c:1329
jl_gc_pool_alloc_noinline at /cache/build/builder-amdci4-6/julialang/julia-master/src/gc.c:1386 [inlined]
jl_gc_alloc_ at /cache/build/builder-amdci4-6/julialang/julia-master/src/julia_internal.h:504 [inlined]
jl_gc_alloc at /cache/build/builder-amdci4-6/julialang/julia-master/src/gc.c:3867
_new_genericmemory_ at /cache/build/builder-amdci4-6/julialang/julia-master/src/genericmemory.c:80 [inlined]
jl_alloc_genericmemory at /cache/build/builder-amdci4-6/julialang/julia-master/src/genericmemory.c:123
new_array at /cache/build/builder-amdci4-6/julialang/julia-master/src/array.c:89 [inlined]
ijl_alloc_array_1d at /cache/build/builder-amdci4-6/julialang/julia-master/src/array.c:167
ijl_uncompress_argnames at /cache/build/builder-amdci4-6/julialang/julia-master/src/ircode.c:1091
ijl_uncompress_ir at /cache/build/builder-amdci4-6/julialang/julia-master/src/ircode.c:952
_uncompressed_ir at ./reflection.jl:1311 [inlined]
retrieve_code_info at ./compiler/utilities.jl:143 [inlined]
InferenceState at ./compiler/inferencestate.jl:480
InferenceState at ./compiler/inferencestate.jl:485 [inlined]
typeinf_ext at ./compiler/typeinfer.jl:1040
typeinf_ext_toplevel at ./compiler/typeinfer.jl:1080
typeinf_ext_toplevel at ./compiler/typeinfer.jl:1076
jfptr_typeinf_ext_toplevel_35663.1 at /home/nsajko/tmp/jl/jl/julia-3ed49fdb3a/lib/julia/sys.so (unknown line)
jl_apply at /cache/build/builder-amdci4-6/julialang/julia-master/src/julia.h:2153 [inlined]
jl_type_infer at /cache/build/builder-amdci4-6/julialang/julia-master/src/gf.c:387
jl_generate_fptr_impl at /cache/build/builder-amdci4-6/julialang/julia-master/src/jitlayers.cpp:508
jl_compile_method_internal at /cache/build/builder-amdci4-6/julialang/julia-master/src/gf.c:2494 [inlined]
jl_compile_method_internal at /cache/build/builder-amdci4-6/julialang/julia-master/src/gf.c:2382
_jl_invoke at /cache/build/builder-amdci4-6/julialang/julia-master/src/gf.c:2897 [inlined]
ijl_apply_generic at /cache/build/builder-amdci4-6/julialang/julia-master/src/gf.c:3082
#_read#55 at /home/nsajko/.julia/packages/OIFITS/xLmZw/src/io.jl:381
_read at /home/nsajko/.julia/packages/OIFITS/xLmZw/src/io.jl:375 [inlined]
#_read!#54 at /home/nsajko/.julia/packages/OIFITS/xLmZw/src/io.jl:352
_read! at /home/nsajko/.julia/packages/OIFITS/xLmZw/src/io.jl:341 [inlined]
#read#30 at /home/nsajko/.julia/packages/OIFITS/xLmZw/src/io.jl:295
read at /home/nsajko/.julia/packages/OIFITS/xLmZw/src/io.jl:289 [inlined]
#28 at /home/nsajko/.julia/packages/OIFITS/xLmZw/src/io.jl:283 [inlined]
#FITS#4 at /home/nsajko/.julia/packages/FITSIO/ggf1s/src/FITSIO.jl:209
FITS at /home/nsajko/.julia/packages/FITSIO/ggf1s/src/FITSIO.jl:206 [inlined]
#read#27 at /home/nsajko/.julia/packages/OIFITS/xLmZw/src/io.jl:281 [inlined]
read at /home/nsajko/.julia/packages/OIFITS/xLmZw/src/io.jl:281 [inlined]
#OIDataSet#25 at /home/nsajko/.julia/packages/OIFITS/xLmZw/src/io.jl:273 [inlined]
OIDataSet at /home/nsajko/.julia/packages/OIFITS/xLmZw/src/io.jl:273
unknown function (ip: 0x7f9c721314bc)
jl_apply at /cache/build/builder-amdci4-6/julialang/julia-master/src/julia.h:2153 [inlined]
do_call at /cache/build/builder-amdci4-6/julialang/julia-master/src/interpreter.c:126
eval_value at /cache/build/builder-amdci4-6/julialang/julia-master/src/interpreter.c:223
eval_body at /cache/build/builder-amdci4-6/julialang/julia-master/src/interpreter.c:560
eval_body at /cache/build/builder-amdci4-6/julialang/julia-master/src/interpreter.c:539
eval_body at /cache/build/builder-amdci4-6/julialang/julia-master/src/interpreter.c:539
jl_interpret_toplevel_thunk at /cache/build/builder-amdci4-6/julialang/julia-master/src/interpreter.c:815
jl_toplevel_eval_flex at /cache/build/builder-amdci4-6/julialang/julia-master/src/toplevel.c:941
jl_eval_module_expr at /cache/build/builder-amdci4-6/julialang/julia-master/src/toplevel.c:215 [inlined]
jl_toplevel_eval_flex at /cache/build/builder-amdci4-6/julialang/julia-master/src/toplevel.c:741
jl_toplevel_eval_flex at /cache/build/builder-amdci4-6/julialang/julia-master/src/toplevel.c:884
ijl_toplevel_eval_in at /cache/build/builder-amdci4-6/julialang/julia-master/src/toplevel.c:992
eval at ./boot.jl:428 [inlined]
include_string at ./loading.jl:2241
_include at ./loading.jl:2301
include at ./sysimg.jl:38
unknown function (ip: 0x7f9c721001e2)
jl_apply at /cache/build/builder-amdci4-6/julialang/julia-master/src/julia.h:2153 [inlined]
do_call at /cache/build/builder-amdci4-6/julialang/julia-master/src/interpreter.c:126
eval_value at /cache/build/builder-amdci4-6/julialang/julia-master/src/interpreter.c:223
eval_stmt_value at /cache/build/builder-amdci4-6/julialang/julia-master/src/interpreter.c:174 [inlined]
eval_body at /cache/build/builder-amdci4-6/julialang/julia-master/src/interpreter.c:675
jl_interpret_toplevel_thunk at /cache/build/builder-amdci4-6/julialang/julia-master/src/interpreter.c:815
jl_toplevel_eval_flex at /cache/build/builder-amdci4-6/julialang/julia-master/src/toplevel.c:941
jl_toplevel_eval_flex at /cache/build/builder-amdci4-6/julialang/julia-master/src/toplevel.c:884
jl_toplevel_eval_flex at /cache/build/builder-amdci4-6/julialang/julia-master/src/toplevel.c:884
ijl_toplevel_eval_in at /cache/build/builder-amdci4-6/julialang/julia-master/src/toplevel.c:992
eval at ./boot.jl:428 [inlined]
eval_user_input at /home/nsajko/tmp/jl/jl/julia-3ed49fdb3a/share/julia/stdlib/v1.11/REPL/src/REPL.jl:154
repl_backend_loop at /home/nsajko/tmp/jl/jl/julia-3ed49fdb3a/share/julia/stdlib/v1.11/REPL/src/REPL.jl:250
#start_repl_backend#48 at /home/nsajko/tmp/jl/jl/julia-3ed49fdb3a/share/julia/stdlib/v1.11/REPL/src/REPL.jl:235
start_repl_backend at /home/nsajko/tmp/jl/jl/julia-3ed49fdb3a/share/julia/stdlib/v1.11/REPL/src/REPL.jl:232
#run_repl#61 at /home/nsajko/tmp/jl/jl/julia-3ed49fdb3a/share/julia/stdlib/v1.11/REPL/src/REPL.jl:391
run_repl at /home/nsajko/tmp/jl/jl/julia-3ed49fdb3a/share/julia/stdlib/v1.11/REPL/src/REPL.jl:377
jfptr_run_repl_12734 at /home/nsajko/.julia/compiled/v1.11/REPL/u0gqU_f14Yn.so (unknown line)
#1096 at ./client.jl:440
jfptr_YY.1096_16827 at /home/nsajko/.julia/compiled/v1.11/REPL/u0gqU_f14Yn.so (unknown line)
jl_apply at /cache/build/builder-amdci4-6/julialang/julia-master/src/julia.h:2153 [inlined]
jl_f__call_latest at /cache/build/builder-amdci4-6/julialang/julia-master/src/builtins.c:875
#invokelatest#2 at ./essentials.jl:955 [inlined]
invokelatest at ./essentials.jl:952 [inlined]
run_main_repl at ./client.jl:424
repl_main at ./client.jl:561 [inlined]
_start at ./client.jl:535
jfptr__start_65274.1 at /home/nsajko/tmp/jl/jl/julia-3ed49fdb3a/lib/julia/sys.so (unknown line)
jl_apply at /cache/build/builder-amdci4-6/julialang/julia-master/src/julia.h:2153 [inlined]
true_main at /cache/build/builder-amdci4-6/julialang/julia-master/src/jlapi.c:947
jl_repl_entrypoint at /cache/build/builder-amdci4-6/julialang/julia-master/src/jlapi.c:1106
main at /cache/build/builder-amdci4-6/julialang/julia-master/cli/loader_exe.c:58
unknown function (ip: 0x7f9c79406ccf)
__libc_start_main at /usr/lib/libc.so.6 (unknown line)
unknown function (ip: 0x4010b8)
Allocations: 6265461 (Pool: 6265269; Big: 192); GC: 7
Segmentation fault (core dumped)

cc package author @emmt

@maleadt
Copy link
Member

maleadt commented Jan 18, 2024

This is GC corruption that's very likely caused by OIFITS/FITSIO.jl itself doing something bad: There's lots of calls to pointer in FITSIO.jl's parsing routines, and none to GC.@preserve, which is asking for trouble.

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