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

Crash on file read, Julia 1.11 #16

Closed
bensetterholm opened this issue Apr 11, 2024 · 10 comments
Closed

Crash on file read, Julia 1.11 #16

bensetterholm opened this issue Apr 11, 2024 · 10 comments

Comments

@bensetterholm
Copy link
Contributor

When I try to read in files with Julia 1.11, I sometimes (most of the time in fact) get a crash. Usually, Julia crashes outright, but sometimes there is a conversion error, and sometimes I get a partial error message but the file read continues fine, and sometimes there is no error at all. I reproduce this error in Windows 11 and Ubuntu Linux. I have never seen this error in Julia <1.10.

MWE:

julia> using OIFITS

julia> read(OIDataSet, joinpath(dirname(pathof(OIFITS)), "../test", "contest-2008-binary.oifits"))
Crash on Windows
PS C:\Users\bense> julia +beta
               _
   _       _ _(_)_     |  Documentation: https://docs.julialang.org
  (_)     | (_) (_)    |
   _ _   _| |_  __ _   |  Type "?" for help, "]?" for Pkg help.
  | | | | | | |/ _` |  |
  | | |_| | | | (_| |  |  Version 1.11.0-beta1 (2024-04-10)
 _/ |\__'_|_|_|\__'_|  |  Official https://julialang.org/ release
|__/                   |

julia> using OIFITS

julia> read(OIDataSet, joinpath(dirname(pathof(OIFITS)), "../test", "contest-2008-binary.oifits"))

Please submit a bug report with steps to reproduce this fault, and any error messages that follow (in their entirety). Thanks.
Exception: EXCEPTION_ACCESS_VIOLATION at 0x7ffd903a6cd0 -- jl_gc_pool_alloc_inner at C:/workdir/src\gc.c:1329
in expression starting at REPL[2]:1
jl_gc_pool_alloc_inner at C:/workdir/src\gc.c:1329
jl_gc_pool_alloc_noinline at C:/workdir/src\gc.c:1386 [inlined]
jl_gc_alloc_ at C:/workdir/src\julia_internal.h:521 [inlined]
jl_gc_alloc at C:/workdir/src\gc.c:3946
_new_genericmemory_ at C:/workdir/src\genericmemory.c:56 [inlined]
jl_alloc_genericmemory at C:/workdir/src\genericmemory.c:99
GenericMemory at .\boot.jl:514 [inlined]
Array at .\boot.jl:576 [inlined]
fits_read_keyword at C:\Users\bense\.julia\packages\CFITSIO\BfhtD\src\CFITSIO.jl:592
read_key at C:\Users\bense\.julia\packages\FITSIO\ggf1s\src\header.jl:241 [inlined]
read_keyword at C:\Users\bense\.julia\packages\OIFITS\xLmZw\src\io.jl:185
read_keyword at C:\Users\bense\.julia\packages\OIFITS\xLmZw\src\io.jl:184 [inlined]
#_read#56 at C:\Users\bense\.julia\packages\OIFITS\xLmZw\src\io.jl:393
_read at C:\Users\bense\.julia\packages\OIFITS\xLmZw\src\io.jl:390 [inlined]
#_read!#54 at C:\Users\bense\.julia\packages\OIFITS\xLmZw\src\io.jl:350
_read! at C:\Users\bense\.julia\packages\OIFITS\xLmZw\src\io.jl:341 [inlined]
#read#30 at C:\Users\bense\.julia\packages\OIFITS\xLmZw\src\io.jl:295
read at C:\Users\bense\.julia\packages\OIFITS\xLmZw\src\io.jl:289 [inlined]
#28 at C:\Users\bense\.julia\packages\OIFITS\xLmZw\src\io.jl:283 [inlined]
#FITS#4 at C:\Users\bense\.julia\packages\FITSIO\ggf1s\src\FITSIO.jl:209
FITS at C:\Users\bense\.julia\packages\FITSIO\ggf1s\src\FITSIO.jl:206 [inlined]
#read#27 at C:\Users\bense\.julia\packages\OIFITS\xLmZw\src\io.jl:281 [inlined]
read at C:\Users\bense\.julia\packages\OIFITS\xLmZw\src\io.jl:281
unknown function (ip: 00000286f63316a9)
jl_apply at C:/workdir/src\julia.h:2154 [inlined]
do_call at C:/workdir/src\interpreter.c:126
eval_value at C:/workdir/src\interpreter.c:223
eval_stmt_value at C:/workdir/src\interpreter.c:174 [inlined]
eval_body at C:/workdir/src\interpreter.c:677
jl_interpret_toplevel_thunk at C:/workdir/src\interpreter.c:817
jl_toplevel_eval_flex at C:/workdir/src\toplevel.c:943
jl_toplevel_eval_flex at C:/workdir/src\toplevel.c:886
ijl_toplevel_eval at C:/workdir/src\toplevel.c:952 [inlined]
ijl_toplevel_eval_in at C:/workdir/src\toplevel.c:994
eval at .\boot.jl:428 [inlined]
eval_user_input at C:\workdir\usr\share\julia\stdlib\v1.11\REPL\src\REPL.jl:222
repl_backend_loop at C:\workdir\usr\share\julia\stdlib\v1.11\REPL\src\REPL.jl:319
#start_repl_backend#59 at C:\workdir\usr\share\julia\stdlib\v1.11\REPL\src\REPL.jl:304
start_repl_backend at C:\workdir\usr\share\julia\stdlib\v1.11\REPL\src\REPL.jl:301
#run_repl#72 at C:\workdir\usr\share\julia\stdlib\v1.11\REPL\src\REPL.jl:460
run_repl at C:\workdir\usr\share\julia\stdlib\v1.11\REPL\src\REPL.jl:446
jfptr_run_repl_12691 at C:\Users\bense\.julia\juliaup\julia-1.11.0-beta1+0.x64.w64.mingw32\share\julia\compiled\v1.11\REPL\u0gqU_e6ieL.dll (unknown line)
#1131 at .\client.jl:441
jfptr_YY.1131_17495 at C:\Users\bense\.julia\juliaup\julia-1.11.0-beta1+0.x64.w64.mingw32\share\julia\compiled\v1.11\REPL\u0gqU_e6ieL.dll (unknown line)
jl_apply at C:/workdir/src\julia.h:2154 [inlined]
jl_f__call_latest at C:/workdir/src\builtins.c:875
#invokelatest#2 at .\essentials.jl:1030 [inlined]
invokelatest at .\essentials.jl:1027 [inlined]
run_main_repl at .\client.jl:425
repl_main at .\client.jl:562 [inlined]
_start at .\client.jl:536
jfptr__start_72187.1 at C:\Users\bense\.julia\juliaup\julia-1.11.0-beta1+0.x64.w64.mingw32\lib\julia\sys.dll (unknown line)
jl_apply at C:/workdir/src\julia.h:2154 [inlined]
true_main at C:/workdir/src\jlapi.c:900
jl_repl_entrypoint at C:/workdir/src\jlapi.c:1059
mainCRTStartup at C:/workdir/cli\loader_exe.c:58
BaseThreadInitThunk at C:\Windows\System32\KERNEL32.DLL (unknown line)
RtlUserThreadStart at C:\Windows\SYSTEM32\ntdll.dll (unknown line)
Allocations: 5579795 (Pool: 5579576; Big: 219); GC: 6

Please submit a bug report with steps to reproduce this fault, and any error messages that follow (in their entirety). Thanks.
Exception: EXCEPTION_ACCESS_VIOLATION at 0x7ffd903a6cd0 -- jl_gc_pool_alloc_inner at C:/workdir/src\gc.c:1329
in expression starting at REPL[2]:1
jl_gc_pool_alloc_inner at C:/workdir/src\gc.c:1329
jl_gc_pool_alloc_noinline at C:/workdir/src\gc.c:1386 [inlined]
jl_gc_alloc_ at C:/workdir/src\julia_internal.h:521 [inlined]
jl_gc_alloc at C:/workdir/src\gc.c:3946
_new_genericmemory_ at C:/workdir/src\genericmemory.c:56 [inlined]
jl_alloc_genericmemory at C:/workdir/src\genericmemory.c:99
new_array at C:/workdir/src\array.c:91 [inlined]
ijl_alloc_array_1d at C:/workdir/src\array.c:156 [inlined]
ijl_alloc_vec_any at C:/workdir/src\array.c:186
jl_exprn at C:/workdir/src\builtins.c:1617
jl_decode_value_expr at C:/workdir/src\ircode.c:584 [inlined]
jl_decode_value at C:/workdir/src\ircode.c:716
jl_decode_value_memory at C:/workdir/src\ircode.c:505
jl_decode_value_array at C:/workdir/src\ircode.c:555
ijl_uncompress_ir at C:/workdir/src\ircode.c:954
jl_generate_fptr_impl at C:/workdir/src\jitlayers.cpp:499
jl_compile_method_internal at C:/workdir/src\gf.c:2534
jl_compile_method_internal at C:/workdir/src\gf.c:2944 [inlined]
_jl_invoke at C:/workdir/src\gf.c:2938 [inlined]
ijl_apply_generic at C:/workdir/src\gf.c:3123
run_finalizer at C:/workdir/src\gc.c:299
jl_gc_run_finalizers_in_list at C:/workdir/src\gc.c:389
run_finalizers at C:/workdir/src\gc.c:435
ijl_atexit_hook at C:/workdir/src\init.c:299
ijl_exit at C:/workdir/src\init.c:207
jl_exception_handler at C:/workdir/src\signals-win.c:337 [inlined]
jl_exception_handler at C:/workdir/src\signals-win.c:229
__julia_personality at C:/workdir/src\win32_ucontext.c:28
_chkstk at C:\Windows\SYSTEM32\ntdll.dll (unknown line)
RtlFindCharInUnicodeString at C:\Windows\SYSTEM32\ntdll.dll (unknown line)
KiUserExceptionDispatcher at C:\Windows\SYSTEM32\ntdll.dll (unknown line)
jl_gc_pool_alloc_inner at C:/workdir/src\gc.c:1328
jl_gc_pool_alloc_noinline at C:/workdir/src\gc.c:1386 [inlined]
jl_gc_alloc_ at C:/workdir/src\julia_internal.h:521 [inlined]
jl_gc_alloc at C:/workdir/src\gc.c:3946
_new_genericmemory_ at C:/workdir/src\genericmemory.c:56 [inlined]
jl_alloc_genericmemory at C:/workdir/src\genericmemory.c:99
GenericMemory at .\boot.jl:514 [inlined]
Array at .\boot.jl:576 [inlined]
fits_read_keyword at C:\Users\bense\.julia\packages\CFITSIO\BfhtD\src\CFITSIO.jl:592
read_key at C:\Users\bense\.julia\packages\FITSIO\ggf1s\src\header.jl:241 [inlined]
read_keyword at C:\Users\bense\.julia\packages\OIFITS\xLmZw\src\io.jl:185
read_keyword at C:\Users\bense\.julia\packages\OIFITS\xLmZw\src\io.jl:184 [inlined]
#_read#56 at C:\Users\bense\.julia\packages\OIFITS\xLmZw\src\io.jl:393
_read at C:\Users\bense\.julia\packages\OIFITS\xLmZw\src\io.jl:390 [inlined]
#_read!#54 at C:\Users\bense\.julia\packages\OIFITS\xLmZw\src\io.jl:350
_read! at C:\Users\bense\.julia\packages\OIFITS\xLmZw\src\io.jl:341 [inlined]
#read#30 at C:\Users\bense\.julia\packages\OIFITS\xLmZw\src\io.jl:295
read at C:\Users\bense\.julia\packages\OIFITS\xLmZw\src\io.jl:289 [inlined]
#28 at C:\Users\bense\.julia\packages\OIFITS\xLmZw\src\io.jl:283 [inlined]
#FITS#4 at C:\Users\bense\.julia\packages\FITSIO\ggf1s\src\FITSIO.jl:209
FITS at C:\Users\bense\.julia\packages\FITSIO\ggf1s\src\FITSIO.jl:206 [inlined]
#read#27 at C:\Users\bense\.julia\packages\OIFITS\xLmZw\src\io.jl:281 [inlined]
read at C:\Users\bense\.julia\packages\OIFITS\xLmZw\src\io.jl:281
unknown function (ip: 00000286f63316a9)
jl_apply at C:/workdir/src\julia.h:2154 [inlined]
do_call at C:/workdir/src\interpreter.c:126
eval_value at C:/workdir/src\interpreter.c:223
eval_stmt_value at C:/workdir/src\interpreter.c:174 [inlined]
eval_body at C:/workdir/src\interpreter.c:677
jl_interpret_toplevel_thunk at C:/workdir/src\interpreter.c:817
jl_toplevel_eval_flex at C:/workdir/src\toplevel.c:943
jl_toplevel_eval_flex at C:/workdir/src\toplevel.c:886
ijl_toplevel_eval at C:/workdir/src\toplevel.c:952 [inlined]
ijl_toplevel_eval_in at C:/workdir/src\toplevel.c:994
eval at .\boot.jl:428 [inlined]
eval_user_input at C:\workdir\usr\share\julia\stdlib\v1.11\REPL\src\REPL.jl:222
repl_backend_loop at C:\workdir\usr\share\julia\stdlib\v1.11\REPL\src\REPL.jl:319
#start_repl_backend#59 at C:\workdir\usr\share\julia\stdlib\v1.11\REPL\src\REPL.jl:304
start_repl_backend at C:\workdir\usr\share\julia\stdlib\v1.11\REPL\src\REPL.jl:301
#run_repl#72 at C:\workdir\usr\share\julia\stdlib\v1.11\REPL\src\REPL.jl:460
run_repl at C:\workdir\usr\share\julia\stdlib\v1.11\REPL\src\REPL.jl:446
jfptr_run_repl_12691 at C:\Users\bense\.julia\juliaup\julia-1.11.0-beta1+0.x64.w64.mingw32\share\julia\compiled\v1.11\REPL\u0gqU_e6ieL.dll (unknown line)
#1131 at .\client.jl:441
jfptr_YY.1131_17495 at C:\Users\bense\.julia\juliaup\julia-1.11.0-beta1+0.x64.w64.mingw32\share\julia\compiled\v1.11\REPL\u0gqU_e6ieL.dll (unknown line)
jl_apply at C:/workdir/src\julia.h:2154 [inlined]
jl_f__call_latest at C:/workdir/src\builtins.c:875
#invokelatest#2 at .\essentials.jl:1030 [inlined]
invokelatest at .\essentials.jl:1027 [inlined]
run_main_repl at .\client.jl:425
repl_main at .\client.jl:562 [inlined]
_start at .\client.jl:536
jfptr__start_72187.1 at C:\Users\bense\.julia\juliaup\julia-1.11.0-beta1+0.x64.w64.mingw32\lib\julia\sys.dll (unknown line)
jl_apply at C:/workdir/src\julia.h:2154 [inlined]
true_main at C:/workdir/src\jlapi.c:900
jl_repl_entrypoint at C:/workdir/src\jlapi.c:1059
mainCRTStartup at C:/workdir/cli\loader_exe.c:58
BaseThreadInitThunk at C:\Windows\System32\KERNEL32.DLL (unknown line)
RtlUserThreadStart at C:\Windows\SYSTEM32\ntdll.dll (unknown line)
Allocations: 5579795 (Pool: 5579576; Big: 219); GC: 6
Segmentation fault in Linux
benjamin@Setterholm:~$ julia +beta
               _
   _       _ _(_)_     |  Documentation: https://docs.julialang.org
  (_)     | (_) (_)    |
   _ _   _| |_  __ _   |  Type "?" for help, "]?" for Pkg help.
  | | | | | | |/ _` |  |
  | | |_| | | | (_| |  |  Version 1.11.0-beta1 (2024-04-10)
 _/ |\__'_|_|_|\__'_|  |  Official https://julialang.org/ release
|__/                   |

julia> using OIFITS

julia> read(OIDataSet, joinpath(dirname(pathof(OIFITS)), "../test", "contest-2008-binary.oifits"))

[19376] signal 11 (128): Segmentation fault
in expression starting at REPL[2]:1
jl_gc_pool_alloc_inner at /cache/build/builder-amdci5-5/julialang/julia-release-1-dot-11/src/gc.c:1336
jl_gc_pool_alloc_noinline at /cache/build/builder-amdci5-5/julialang/julia-release-1-dot-11/src/gc.c:1386 [inlined]
jl_gc_alloc_ at /cache/build/builder-amdci5-5/julialang/julia-release-1-dot-11/src/julia_internal.h:521 [inlined]
jl_gc_alloc at /cache/build/builder-amdci5-5/julialang/julia-release-1-dot-11/src/gc.c:3946
_new_genericmemory_ at /cache/build/builder-amdci5-5/julialang/julia-release-1-dot-11/src/genericmemory.c:56 [inlined]
jl_alloc_genericmemory at /cache/build/builder-amdci5-5/julialang/julia-release-1-dot-11/src/genericmemory.c:99
new_array at /cache/build/builder-amdci5-5/julialang/julia-release-1-dot-11/src/array.c:91 [inlined]
ijl_alloc_array_1d at /cache/build/builder-amdci5-5/julialang/julia-release-1-dot-11/src/array.c:156
ijl_uncompress_argnames at /cache/build/builder-amdci5-5/julialang/julia-release-1-dot-11/src/ircode.c:1102
ijl_uncompress_ir at /cache/build/builder-amdci5-5/julialang/julia-release-1-dot-11/src/ircode.c:962
_uncompressed_ir at ./reflection.jl:1320 [inlined]
retrieve_code_info at ./compiler/utilities.jl:143 [inlined]
InferenceState at ./compiler/inferencestate.jl:494
InferenceState at ./compiler/inferencestate.jl:499 [inlined]
typeinf_ext at ./compiler/typeinfer.jl:1043
typeinf_ext_toplevel at ./compiler/typeinfer.jl:1083
typeinf_ext_toplevel at ./compiler/typeinfer.jl:1079
jfptr_typeinf_ext_toplevel_38885.1 at /home/benjamin/.julia/juliaup/julia-1.11.0-beta1+0.x64.linux.gnu/lib/julia/sys.so (unknown line)
jl_apply at /cache/build/builder-amdci5-5/julialang/julia-release-1-dot-11/src/julia.h:2154 [inlined]
jl_type_infer at /cache/build/builder-amdci5-5/julialang/julia-release-1-dot-11/src/gf.c:390
jl_generate_fptr_impl at /cache/build/builder-amdci5-5/julialang/julia-release-1-dot-11/src/jitlayers.cpp:511
jl_compile_method_internal at /cache/build/builder-amdci5-5/julialang/julia-release-1-dot-11/src/gf.c:2534 [inlined]
jl_compile_method_internal at /cache/build/builder-amdci5-5/julialang/julia-release-1-dot-11/src/gf.c:2421
_jl_invoke at /cache/build/builder-amdci5-5/julialang/julia-release-1-dot-11/src/gf.c:2938 [inlined]
ijl_apply_generic at /cache/build/builder-amdci5-5/julialang/julia-release-1-dot-11/src/gf.c:3123
#_read#55 at /home/benjamin/.julia/packages/OIFITS/xLmZw/src/io.jl:381
_read at /home/benjamin/.julia/packages/OIFITS/xLmZw/src/io.jl:375 [inlined]
#_read!#54 at /home/benjamin/.julia/packages/OIFITS/xLmZw/src/io.jl:365
_read! at /home/benjamin/.julia/packages/OIFITS/xLmZw/src/io.jl:341 [inlined]
#read#30 at /home/benjamin/.julia/packages/OIFITS/xLmZw/src/io.jl:295
read at /home/benjamin/.julia/packages/OIFITS/xLmZw/src/io.jl:289 [inlined]
#28 at /home/benjamin/.julia/packages/OIFITS/xLmZw/src/io.jl:283 [inlined]
#FITS#4 at /home/benjamin/.julia/packages/FITSIO/ggf1s/src/FITSIO.jl:209
FITS at /home/benjamin/.julia/packages/FITSIO/ggf1s/src/FITSIO.jl:206 [inlined]
#read#27 at /home/benjamin/.julia/packages/OIFITS/xLmZw/src/io.jl:281 [inlined]
read at /home/benjamin/.julia/packages/OIFITS/xLmZw/src/io.jl:281
unknown function (ip: 0x7f4300cd07ed)
jl_apply at /cache/build/builder-amdci5-5/julialang/julia-release-1-dot-11/src/julia.h:2154 [inlined]
do_call at /cache/build/builder-amdci5-5/julialang/julia-release-1-dot-11/src/interpreter.c:126
eval_value at /cache/build/builder-amdci5-5/julialang/julia-release-1-dot-11/src/interpreter.c:223
eval_stmt_value at /cache/build/builder-amdci5-5/julialang/julia-release-1-dot-11/src/interpreter.c:174 [inlined]
eval_body at /cache/build/builder-amdci5-5/julialang/julia-release-1-dot-11/src/interpreter.c:659
jl_interpret_toplevel_thunk at /cache/build/builder-amdci5-5/julialang/julia-release-1-dot-11/src/interpreter.c:817
jl_toplevel_eval_flex at /cache/build/builder-amdci5-5/julialang/julia-release-1-dot-11/src/toplevel.c:943
jl_toplevel_eval_flex at /cache/build/builder-amdci5-5/julialang/julia-release-1-dot-11/src/toplevel.c:886
ijl_toplevel_eval_in at /cache/build/builder-amdci5-5/julialang/julia-release-1-dot-11/src/toplevel.c:994
eval at ./boot.jl:428 [inlined]
eval_user_input at /cache/build/builder-amdci5-5/julialang/julia-release-1-dot-11/usr/share/julia/stdlib/v1.11/REPL/src/REPL.jl:222
repl_backend_loop at /cache/build/builder-amdci5-5/julialang/julia-release-1-dot-11/usr/share/julia/stdlib/v1.11/REPL/src/REPL.jl:319
#start_repl_backend#59 at /cache/build/builder-amdci5-5/julialang/julia-release-1-dot-11/usr/share/julia/stdlib/v1.11/REPL/src/REPL.jl:304
start_repl_backend at /cache/build/builder-amdci5-5/julialang/julia-release-1-dot-11/usr/share/julia/stdlib/v1.11/REPL/src/REPL.jl:301
#run_repl#72 at /cache/build/builder-amdci5-5/julialang/julia-release-1-dot-11/usr/share/julia/stdlib/v1.11/REPL/src/REPL.jl:460
run_repl at /cache/build/builder-amdci5-5/julialang/julia-release-1-dot-11/usr/share/julia/stdlib/v1.11/REPL/src/REPL.jl:446
jfptr_run_repl_12489 at /home/benjamin/.julia/juliaup/julia-1.11.0-beta1+0.x64.linux.gnu/share/julia/compiled/v1.11/REPL/u0gqU_4EB71.so (unknown line)
#1131 at ./client.jl:441
jfptr_YY.1131_17228 at /home/benjamin/.julia/juliaup/julia-1.11.0-beta1+0.x64.linux.gnu/share/julia/compiled/v1.11/REPL/u0gqU_4EB71.so (unknown line)
jl_apply at /cache/build/builder-amdci5-5/julialang/julia-release-1-dot-11/src/julia.h:2154 [inlined]
jl_f__call_latest at /cache/build/builder-amdci5-5/julialang/julia-release-1-dot-11/src/builtins.c:875
#invokelatest#2 at ./essentials.jl:1030 [inlined]
invokelatest at ./essentials.jl:1027 [inlined]
run_main_repl at ./client.jl:425
repl_main at ./client.jl:562 [inlined]
_start at ./client.jl:536
jfptr__start_70792.1 at /home/benjamin/.julia/juliaup/julia-1.11.0-beta1+0.x64.linux.gnu/lib/julia/sys.so (unknown line)
jl_apply at /cache/build/builder-amdci5-5/julialang/julia-release-1-dot-11/src/julia.h:2154 [inlined]
true_main at /cache/build/builder-amdci5-5/julialang/julia-release-1-dot-11/src/jlapi.c:900
jl_repl_entrypoint at /cache/build/builder-amdci5-5/julialang/julia-release-1-dot-11/src/jlapi.c:1059
main at /cache/build/builder-amdci5-5/julialang/julia-release-1-dot-11/cli/loader_exe.c:58
unknown function (ip: 0x7f4358e03d8f)
__libc_start_main at /lib/x86_64-linux-gnu/libc.so.6 (unknown line)
unknown function (ip: 0x4010b8)
Allocations: 5729772 (Pool: 5729597; Big: 175); GC: 6
Segmentation fault
Keyword conversion error (occurs in Windows and Linux). Not always "OI_REVN", have also seen other keywords throw the same error
benjamin@Setterholm:~$ julia +beta
               _
   _       _ _(_)_     |  Documentation: https://docs.julialang.org
  (_)     | (_) (_)    |
   _ _   _| |_  __ _   |  Type "?" for help, "]?" for Pkg help.
  | | | | | | |/ _` |  |
  | | |_| | | | (_| |  |  Version 1.11.0-beta1 (2024-04-10)
 _/ |\__'_|_|_|\__'_|  |  Official https://julialang.org/ release
|__/                   |

julia> using OIFITS

julia> read(OIDataSet, joinpath(dirname(pathof(OIFITS)), "../test", "contest-2008-binary.oifits"))
ERROR: FITS keyword "OI_REVN" of type String cannot be converted to type Int64
Stacktrace:
  [1] error(::String, ::String, ::String, ::Type, ::String, ::Type)
    @ Base ./error.jl:44
  [2] _convert_keyword(::Type{Int64}, key::String, val::String)
    @ OIFITS ~/.julia/packages/OIFITS/xLmZw/src/io.jl:204
  [3] read_keyword(T::Type{Int64}, hdu::FITSIO.TableHDU, key::String, def::OIFITS.Unspecified)
    @ OIFITS ~/.julia/packages/OIFITS/xLmZw/src/io.jl:186
  [4] read_keyword
    @ ~/.julia/packages/OIFITS/xLmZw/src/io.jl:184 [inlined]
  [5] _read_revn
    @ ~/.julia/packages/OIFITS/xLmZw/src/io.jl:444 [inlined]
  [6] _read(T::Type{OI_T3}, hdu::FITSIO.TableHDU; hack_revn::UndefInitializer)
    @ OIFITS ~/.julia/packages/OIFITS/xLmZw/src/io.jl:377
  [7] _read
    @ ~/.julia/packages/OIFITS/xLmZw/src/io.jl:375 [inlined]
  [8] _read!(ds::OIDataSet, hdu::FITSIO.TableHDU, pass::Int64; kwds::@Kwargs{})
    @ OIFITS ~/.julia/packages/OIFITS/xLmZw/src/io.jl:365
  [9] _read!
    @ ~/.julia/packages/OIFITS/xLmZw/src/io.jl:341 [inlined]
 [10] read(::Type{OIDataSet}, f::FITSIO.FITS; kwds::@Kwargs{})
    @ OIFITS ~/.julia/packages/OIFITS/xLmZw/src/io.jl:295
 [11] read
    @ ~/.julia/packages/OIFITS/xLmZw/src/io.jl:289 [inlined]
 [12] #28
    @ ~/.julia/packages/OIFITS/xLmZw/src/io.jl:283 [inlined]
 [13] FITSIO.FITS(::OIFITS.var"#28#29"{@Kwargs{}}, ::String, ::Vararg{String}; kwargs::@Kwargs{})
    @ FITSIO ~/.julia/packages/FITSIO/ggf1s/src/FITSIO.jl:209
 [14] FITS
    @ ~/.julia/packages/FITSIO/ggf1s/src/FITSIO.jl:206 [inlined]
 [15] read(::Type{OIDataSet}, filename::String)
    @ OIFITS ~/.julia/packages/OIFITS/xLmZw/src/io.jl:281
 [16] top-level scope
    @ REPL[2]:1

julia>
Partial error but then recovers and reads the file (only seen in Windows a couple times, but perhaps I haven't tried enough times in Linux)
PS C:\Users\bense> julia +beta
               _
   _       _ _(_)_     |  Documentation: https://docs.julialang.org
  (_)     | (_) (_)    |
   _ _   _| |_  __ _   |  Type "?" for help, "]?" for Pkg help.
  | | | | | | |/ _` |  |
  | | |_| | | | (_| |  |  Version 1.11.0-beta1 (2024-04-10)
 _/ |\__'_|_|_|\__'_|  |  Official https://julialang.org/ release
|__/                   |

julia> using OIFITS

julia> read(OIDataSet, joinpath(dirname(pathof(OIFITS)), "../test", "contest-2008-binary.oifits"))
Internal error: during type inference of
_read_keyword!(OIFITS.OI_ARRAY, Base.Val{:arrayy}, FITSIO.TableHDU, OIFITS.Formats.FieldDefinition)
Encountered unexpected error in runtime:
ReadOnlyMemoryError()
jl_gc_pool_alloc_inner at C:/workdir/src\gc.c:1336
jl_gc_pool_alloc_noinline at C:/workdir/src\gc.c:1386 [inlined]
jl_gc_alloc_ at C:/workdir/src\julia_internal.h:521 [inlined]
jl_gc_alloc at C:/workdir/src\gc.c:3946
_new_genericmemory_ at C:/workdir/src\genericmemory.c:56 [inlined]
jl_alloc_genericmemory at C:/workdir/src\genericmemory.c:99
GenericMemory at .\boot.jl:514 [inlined]
array_new_memory at .\array.jl:1052 [inlined]
#132 at .\array.jl:1118
_growend! at .\array.jl:1105 [inlined]
push! at .\array.jl:1250 [inlined]
compute_basic_blocks at .\compiler/ssair\ir.jl:138
InferenceState at .\compiler\inferencestate.jl:288
InferenceState at .\compiler\inferencestate.jl:497
InferenceState at .\compiler\inferencestate.jl:499 [inlined]
typeinf_ext at .\compiler\typeinfer.jl:1043
typeinf_ext_toplevel at .\compiler\typeinfer.jl:1083
typeinf_ext_toplevel at .\compiler\typeinfer.jl:1079
jfptr_typeinf_ext_toplevel_39813.1 at C:\Users\bense\.julia\juliaup\julia-1.11.0-beta1+0.x64.w64.mingw32\lib\julia\sys.dll (unknown line)
_jl_invoke at C:/workdir/src\gf.c:2946 [inlined]
ijl_apply_generic at C:/workdir/src\gf.c:3123 [inlined]
jl_apply at C:/workdir/src\julia.h:2154 [inlined]
jl_type_infer at C:/workdir/src\gf.c:390
jl_generate_fptr_impl at C:/workdir/src\jitlayers.cpp:511
jl_compile_method_internal at C:/workdir/src\gf.c:2534
jl_compile_method_internal at C:/workdir/src\gf.c:2944 [inlined]
_jl_invoke at C:/workdir/src\gf.c:2938 [inlined]
ijl_apply_generic at C:/workdir/src\gf.c:3123
#_read#55 at C:\Users\bense\.julia\packages\OIFITS\xLmZw\src\io.jl:381
_read at C:\Users\bense\.julia\packages\OIFITS\xLmZw\src\io.jl:375 [inlined]
#_read!#54 at C:\Users\bense\.julia\packages\OIFITS\xLmZw\src\io.jl:352
_read! at C:\Users\bense\.julia\packages\OIFITS\xLmZw\src\io.jl:341 [inlined]
#read#30 at C:\Users\bense\.julia\packages\OIFITS\xLmZw\src\io.jl:295
read at C:\Users\bense\.julia\packages\OIFITS\xLmZw\src\io.jl:289 [inlined]
#28 at C:\Users\bense\.julia\packages\OIFITS\xLmZw\src\io.jl:283 [inlined]
#FITS#4 at C:\Users\bense\.julia\packages\FITSIO\ggf1s\src\FITSIO.jl:209
FITS at C:\Users\bense\.julia\packages\FITSIO\ggf1s\src\FITSIO.jl:206 [inlined]
#read#27 at C:\Users\bense\.julia\packages\OIFITS\xLmZw\src\io.jl:281 [inlined]
read at C:\Users\bense\.julia\packages\OIFITS\xLmZw\src\io.jl:281
unknown function (ip: 0000018d7b491459)
jl_apply at C:/workdir/src\julia.h:2154 [inlined]
do_call at C:/workdir/src\interpreter.c:126
eval_value at C:/workdir/src\interpreter.c:223
eval_stmt_value at C:/workdir/src\interpreter.c:174 [inlined]
eval_body at C:/workdir/src\interpreter.c:677
jl_interpret_toplevel_thunk at C:/workdir/src\interpreter.c:817
top-level scope at REPL[2]:1
jl_toplevel_eval_flex at C:/workdir/src\toplevel.c:943
jl_toplevel_eval_flex at C:/workdir/src\toplevel.c:886
ijl_toplevel_eval at C:/workdir/src\toplevel.c:952 [inlined]
ijl_toplevel_eval_in at C:/workdir/src\toplevel.c:994
eval at .\boot.jl:428 [inlined]
eval_user_input at C:\workdir\usr\share\julia\stdlib\v1.11\REPL\src\REPL.jl:222
repl_backend_loop at C:\workdir\usr\share\julia\stdlib\v1.11\REPL\src\REPL.jl:319
#start_repl_backend#59 at C:\workdir\usr\share\julia\stdlib\v1.11\REPL\src\REPL.jl:304
start_repl_backend at C:\workdir\usr\share\julia\stdlib\v1.11\REPL\src\REPL.jl:301
#run_repl#72 at C:\workdir\usr\share\julia\stdlib\v1.11\REPL\src\REPL.jl:460
run_repl at C:\workdir\usr\share\julia\stdlib\v1.11\REPL\src\REPL.jl:446
jfptr_run_repl_12691 at C:\Users\bense\.julia\juliaup\julia-1.11.0-beta1+0.x64.w64.mingw32\share\julia\compiled\v1.11\REPL\u0gqU_e6ieL.dll (unknown line)
#1131 at .\client.jl:441
jfptr_YY.1131_17495 at C:\Users\bense\.julia\juliaup\julia-1.11.0-beta1+0.x64.w64.mingw32\share\julia\compiled\v1.11\REPL\u0gqU_e6ieL.dll (unknown line)
jl_apply at C:/workdir/src\julia.h:2154 [inlined]
jl_f__call_latest at C:/workdir/src\builtins.c:875
#invokelatest#2 at .\essentials.jl:1030 [inlined]
invokelatest at .\essentials.jl:1027 [inlined]
run_main_repl at .\client.jl:425
repl_main at .\client.jl:562 [inlined]
_start at .\client.jl:536
jfptr__start_72187.1 at C:\Users\bense\.julia\juliaup\julia-1.11.0-beta1+0.x64.w64.mingw32\lib\julia\sys.dll (unknown line)
jl_apply at C:/workdir/src\julia.h:2154 [inlined]
true_main at C:/workdir/src\jlapi.c:900
jl_repl_entrypoint at C:/workdir/src\jlapi.c:1059
mainCRTStartup at C:/workdir/cli\loader_exe.c:58
BaseThreadInitThunk at C:\Windows\System32\KERNEL32.DLL (unknown line)
RtlUserThreadStart at C:\Windows\SYSTEM32\ntdll.dll (unknown line)
OIDataSet(OI_TARGET(1, OITargetEntry[OITargetEntry(1, "Gam_Vic", 217.8125, 45.10547222243415, 2000.0, -1.0, -1.0, -1.0, "LSR", "OPTICAL", -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, "Unknown", "")]), Dict("GAM_VIC" => 1), Dict(0 => 1), OI_ARRAY[OI_ARRAY(1, "CHARA", "GEOCENTRIC", 0.0, 0.0, 0.0, ["S1", "S2", "E1", "W1", "W2", "E2"], ["S1", "S2", "E1", "W1", "W2", "E2"], [0, 1, 2, 3, 4, 5], [1.0, 1.0, 1.0, 1.0, 1.0, 1.0], [0.0 3.5604111211706813 … -8.398458783516354 134.58774844342844; 0.0 18.90162711699635 … 131.11332979148256 102.80926738618152; 0.0 28.12858010440001 … 165.08713355612696 221.44410750302728], #undef, #undef)], Dict("CHARA" => 1), OI_WAVELENGTH[OI_WAVELENGTH(1, "MIRC_H", [1.500000053056283e-6, 1.5357143183791777e-6, 1.5714285837020725e-6, 1.6071428490249673e-6, 1.6428572280346998e-6, 1.6785714933575946e-6, 1.7142857586804894e-6, 1.7500000240033842e-6], [3.571426532289479e-8, 3.571426532289479e-8, 3.571426532289479e-8, 3.571426532289479e-8, 3.571426532289479e-8, 3.571426532289479e-8, 3.571426532289479e-8, 3.571426532289479e-8])], Dict("MIRC_H" => 1), OI_CORR[], Dict{String, Int64}(), OI_VIS[], OI_VIS2[OI_VIS2(OI_ARRAY(1, "CHARA", "GEOCENTRIC", 0.0, 0.0, 0.0, ["S1", "S2", "E1", "W1", "W2", "E2"], ["S1", "S2", "E1", "W1", "W2", "E2"], [0, 1, 2, 3, 4, 5], [1.0, 1.0, 1.0, 1.0, 1.0, 1.0], [0.0 3.5604111211706813 … -8.398458783516354 134.58774844342844; 0.0 18.90162711699635 … 131.11332979148256 102.80926738618152; 0.0 28.12858010440001 … 165.08713355612696 221.44410750302728], #undef, #undef), OI_WAVELENGTH(1, "MIRC_H", [1.500000053056283e-6, 1.5357143183791777e-6, 1.5714285837020725e-6, 1.6071428490249673e-6, 1.6428572280346998e-6, 1.6785714933575946e-6, 1.7142857586804894e-6, 1.7500000240033842e-6], [3.571426532289479e-8, 3.571426532289479e-8, 3.571426532289479e-8, 3.571426532289479e-8, 3.571426532289479e-8, 3.571426532289479e-8, 3.571426532289479e-8, 3.571426532289479e-8]), #undef, 1, "2007-05-11", "CHARA", "MIRC_H", #undef, [1, 1, 1, 1, 1, 1, 1, 1, 1, 1  …  1, 1, 1, 1, 1, 1, 1, 1, 1, 1], [18000.0, 20159.999656677246, 22319.999313354492, 24480.000686645508, 26640.000343322754, 18000.0, 20159.999656677246, 22319.999313354492, 24480.000686645508, 26640.000343322754  …  18000.0, 20159.999656677246, 22319.999313354492, 24480.000686645508, 26640.000343322754, 18000.0, 20159.999656677246, 22319.999313354492, 24480.000686645508, 26640.000343322754], [54231.20833333349, 54231.233333329204, 54231.258333325386, 54231.283333341125, 54231.30833333731, 54231.20833333349, 54231.233333329204, 54231.258333325386, 54231.283333341125, 54231.30833333731  …  54231.20833333349, 54231.233333329204, 54231.258333325386, 54231.283333341125, 54231.30833333731, 54231.20833333349, 54231.233333329204, 54231.258333325386, 54231.283333341125, 54231.30833333731], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0  …  0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.580481231212616 0.6430022716522217 … 0.31414487957954407 0.314627468585968; 0.5891797542572021 0.5222818851470947 … 0.4044651389122009 0.5017197132110596; … ; 0.6363487839698792 0.6107855439186096 … 0.3833366632461548 0.6245711445808411; 0.6497811675071716 0.6829720735549927 … 0.44121289253234863 0.5106431245803833], [0.09153756499290466 0.09166057407855988 … 0.061158545315265656 0.05317765846848488; 0.09177263081073761 0.09211093932390213 … 0.06338495761156082 0.059276480227708817; … ; 0.09441637992858887 0.09554733335971832 … 0.06014004349708557 0.0723857432603836; 0.09514439851045609 0.09638620913028717 … 0.058257680386304855 0.07175277173519135], #undef, [4.9372687405907705, 1.9602080692952741, -1.06538358474518, -4.0646007358461995, -6.963183934713585, 200.449085893421, 184.99082841627353, 164.9525586248336, 140.83036491677507, 113.22150341929698  …  220.08645184356797, 234.81137338777222, 243.7228236718972, 246.60017210558712, 243.3721766614481, 140.5249073295382, 144.85830110260895, 145.60528601190316, 142.74736442147264, 136.35529735745936], [33.02223480224647, 33.40784602769317, 33.45787220132252, 33.17107440760253, 32.55455364827101, 234.79049371633866, 256.33894712759195, 275.90292748667315, 292.9980806778767, 307.20113736198914  …  -44.47161174173653, -19.040035431240646, 7.712959421964857, 35.12504191794953, 62.51749956356729, 12.350303616044002, 28.304973962698984, 44.54366891671749, 60.66436223456188, 76.26791182424219], [0 0 … 4 4; 1 1 … 5 5], Bool[0 0 … 0 0; 0 0 … 0 0; … ; 0 0 … 0 0; 0 0 … 0 0])], OI_T3[OI_T3(OI_ARRAY(1, "CHARA", "GEOCENTRIC", 0.0, 0.0, 0.0, ["S1", "S2", "E1", "W1", "W2", "E2"], ["S1", "S2", "E1", "W1", "W2", "E2"], [0, 1, 2, 3, 4, 5], [1.0, 1.0, 1.0, 1.0, 1.0, 1.0], [0.0 3.5604111211706813 … -8.398458783516354 134.58774844342844; 0.0 18.90162711699635 … 131.11332979148256 102.80926738618152; 0.0 28.12858010440001 … 165.08713355612696 221.44410750302728], #undef, #undef), OI_WAVELENGTH(1, "MIRC_H", [1.500000053056283e-6, 1.5357143183791777e-6, 1.5714285837020725e-6, 1.6071428490249673e-6, 1.6428572280346998e-6, 1.6785714933575946e-6, 1.7142857586804894e-6, 1.7500000240033842e-6], [3.571426532289479e-8, 3.571426532289479e-8, 3.571426532289479e-8, 3.571426532289479e-8, 3.571426532289479e-8, 3.571426532289479e-8, 3.571426532289479e-8, 3.571426532289479e-8]), #undef, 1, "2007-05-11", "CHARA", "MIRC_H", #undef, [1, 1, 1, 1, 1, 1, 1, 1, 1, 1  …  1, 1, 1, 1, 1, 1, 1, 1, 1, 1], [18000.0, 20159.999656677246, 22319.999313354492, 24480.000686645508, 26640.000343322754, 18000.0, 20159.999656677246, 22319.999313354492, 24480.000686645508, 26640.000343322754  …  18000.0, 20159.999656677246, 22319.999313354492, 24480.000686645508, 26640.000343322754, 18000.0, 20159.999656677246, 22319.999313354492, 24480.000686645508, 26640.000343322754], [54231.20833333349, 54231.233333329204, 54231.258333325386, 54231.283333341125, 54231.30833333731, 54231.20833333349, 54231.233333329204, 54231.258333325386, 54231.283333341125, 54231.30833333731  …  54231.20833333349, 54231.233333329204, 54231.258333325386, 54231.283333341125, 54231.30833333731, 54231.20833333349, 54231.233333329204, 54231.258333325386, 54231.283333341125, 54231.30833333731], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0  …  0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0032962155528366566 0.0019402354955673218 … 0.06162061169743538 0.06678305566310883; 0.006330485921353102 0.0015058262506499887 … 0.07068482041358948 0.07804796099662781; … ; 0.015620619058609009 0.010495539754629135 … 0.13922810554504395 0.10449503362178802; 0.030634859576821327 0.02169905975461006 … 0.14026804268360138 0.11292415112257004], [0.000527476891875267 0.000327107438351959 … 0.010593833401799202 0.018193857744336128; 0.0010861565824598074 0.0003513169358484447 … 0.013225636444985867 0.019187981262803078; … ; 0.004769473802298307 0.002115425420925021 … 0.029717693105340004 0.021867122501134872; 0.0064000943675637245 0.004012386314570904 … 0.03229439631104469 0.023973645642399788], #undef, [-60.880088806152344 69.42391967773438 … 1.0774458646774292 -13.021782875061035; -74.06024169921875 -14.069182395935059 … 10.493714332580566 -15.199806213378906; … ; 34.96256637573242 13.334046363830566 … 15.582088470458984 9.19375228881836; 31.985761642456055 30.03437614440918 … 11.456774711608887 16.044401168823242], [2.8616552352905273 4.579619884490967 … 0.5137027502059937 0.46610164642333984; 1.5470558404922485 4.254592418670654 … 0.49100813269615173 0.4626697897911072; … ; 0.6537280082702637 0.9781947135925293 … 0.44043442606925964 0.45497748255729675; 0.5886764526367188 0.7020854353904724 … 0.4372042417526245 0.4501386284828186], #undef, [4.9372687405907705, 1.9602080692952741, -1.06538358474518, -4.0646007358461995, -6.963183934713585, 4.9372687405907705, 1.9602080692952741, -1.06538358474518, -4.0646007358461995, -6.963183934713585  …  -199.20765910089546, -204.3723301515476, -204.4771410952905, -199.51949104033227, -189.6221294723055, 79.56154451402978, 89.95307228516327, 98.11753765999403, 103.85280768411447, 107.01687930398873], [33.02223480224647, 33.40784602769317, 33.45787220132252, 33.17107440760253, 32.55455364827101, 33.02223480224647, 33.40784602769317, 33.45787220132252, 33.17107440760253, 32.55455364827101  …  -25.203516596691266, -47.766111370238434, -70.62330290892083, -93.20920873746857, -114.96461061854029, -56.82191535778054, -47.345009393939634, -36.83070949475263, -25.539320316612333, -13.750412260674896], [195.51181715283025, 183.03062034697825, 166.01794220957882, 144.8949656526213, 120.18468735401056, -83.25738646209498, -111.29478208973265, -136.57673654570573, -158.47733307182548, -176.45432142228367  …  140.5249073295382, 144.85830110260895, 145.60528601190316, 142.74736442147264, 136.35529735745936, 140.5249073295382, 144.85830110260895, 145.60528601190316, 142.74736442147264, 136.35529735745936], [201.76825891409217, 222.9311010998988, 242.4450552853506, 259.8270062702742, 274.6465837137181, 233.38665767518148, 222.5099991236, 208.65246187118242, 192.15711784941794, 173.43238535585274  …  12.350303616044002, 28.304973962698984, 44.54366891671749, 60.66436223456188, 76.26791182424219, 12.350303616044002, 28.304973962698984, 44.54366891671749, 60.66436223456188, 76.26791182424219], [0 0 … 3 3; 1 1 … 4 4; 2 2 … 5 5], Bool[0 0 … 0 0; 0 0 … 0 0; … ; 0 0 … 0 0; 0 0 … 0 0])], OI_FLUX[], OI_INSPOL[])

julia>
Sometimes, the file is read just fine with no issues (both in Windows and Linux)
benjamin@Setterholm:~$ julia +beta
               _
   _       _ _(_)_     |  Documentation: https://docs.julialang.org
  (_)     | (_) (_)    |
   _ _   _| |_  __ _   |  Type "?" for help, "]?" for Pkg help.
  | | | | | | |/ _` |  |
  | | |_| | | | (_| |  |  Version 1.11.0-beta1 (2024-04-10)
 _/ |\__'_|_|_|\__'_|  |  Official https://julialang.org/ release
|__/                   |

julia> using OIFITS

julia> read(OIDataSet, joinpath(dirname(pathof(OIFITS)), "../test", "contest-2008-binary.oifits"))
OIDataSet(OI_TARGET(1, OITargetEntry[OITargetEntry(1, "Gam_Vic", 217.8125, 45.10547222243415, 2000.0, -1.0, -1.0, -1.0, "LSR", "OPTICAL", -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, "Unknown", "")]), Dict("GAM_VIC" => 1), Dict(0 => 1), OI_ARRAY[OI_ARRAY(1, "CHARA", "GEOCENTRIC", 0.0, 0.0, 0.0, ["S1", "S2", "E1", "W1", "W2", "E2"], ["S1", "S2", "E1", "W1", "W2", "E2"], [0, 1, 2, 3, 4, 5], [1.0, 1.0, 1.0, 1.0, 1.0, 1.0], [0.0 3.5604111211706813 … -8.398458783516354 134.58774844342844; 0.0 18.90162711699635 … 131.11332979148256 102.80926738618152; 0.0 28.12858010440001 … 165.08713355612696 221.44410750302728], #undef, #undef)], Dict("CHARA" => 1), OI_WAVELENGTH[OI_WAVELENGTH(1, "MIRC_H", [1.500000053056283e-6, 1.5357143183791777e-6, 1.5714285837020725e-6, 1.6071428490249673e-6, 1.6428572280346998e-6, 1.6785714933575946e-6, 1.7142857586804894e-6, 1.7500000240033842e-6], [3.571426532289479e-8, 3.571426532289479e-8, 3.571426532289479e-8, 3.571426532289479e-8, 3.571426532289479e-8, 3.571426532289479e-8, 3.571426532289479e-8, 3.571426532289479e-8])], Dict("MIRC_H" => 1), OI_CORR[], Dict{String, Int64}(), OI_VIS[], OI_VIS2[OI_VIS2(OI_ARRAY(1, "CHARA", "GEOCENTRIC", 0.0, 0.0, 0.0, ["S1", "S2", "E1", "W1", "W2", "E2"], ["S1", "S2", "E1", "W1", "W2", "E2"], [0, 1, 2, 3, 4, 5], [1.0, 1.0, 1.0, 1.0, 1.0, 1.0], [0.0 3.5604111211706813 … -8.398458783516354 134.58774844342844; 0.0 18.90162711699635 … 131.11332979148256 102.80926738618152; 0.0 28.12858010440001 … 165.08713355612696 221.44410750302728], #undef, #undef), OI_WAVELENGTH(1, "MIRC_H", [1.500000053056283e-6, 1.5357143183791777e-6, 1.5714285837020725e-6, 1.6071428490249673e-6, 1.6428572280346998e-6, 1.6785714933575946e-6, 1.7142857586804894e-6, 1.7500000240033842e-6], [3.571426532289479e-8, 3.571426532289479e-8, 3.571426532289479e-8, 3.571426532289479e-8, 3.571426532289479e-8, 3.571426532289479e-8, 3.571426532289479e-8, 3.571426532289479e-8]), #undef, 1, "2007-05-11", "CHARA", "MIRC_H", #undef, [1, 1, 1, 1, 1, 1, 1, 1, 1, 1  …  1, 1, 1, 1, 1, 1, 1, 1, 1, 1], [18000.0, 20159.999656677246, 22319.999313354492, 24480.000686645508, 26640.000343322754, 18000.0, 20159.999656677246, 22319.999313354492, 24480.000686645508, 26640.000343322754  …  18000.0, 20159.999656677246, 22319.999313354492, 24480.000686645508, 26640.000343322754, 18000.0, 20159.999656677246, 22319.999313354492, 24480.000686645508, 26640.000343322754], [54231.20833333349, 54231.233333329204, 54231.258333325386, 54231.283333341125, 54231.30833333731, 54231.20833333349, 54231.233333329204, 54231.258333325386, 54231.283333341125, 54231.30833333731  …  54231.20833333349, 54231.233333329204, 54231.258333325386, 54231.283333341125, 54231.30833333731, 54231.20833333349, 54231.233333329204, 54231.258333325386, 54231.283333341125, 54231.30833333731], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0  …  0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.580481231212616 0.6430022716522217 … 0.31414487957954407 0.314627468585968; 0.5891797542572021 0.5222818851470947 … 0.4044651389122009 0.5017197132110596; … ; 0.6363487839698792 0.6107855439186096 … 0.3833366632461548 0.6245711445808411; 0.6497811675071716 0.6829720735549927 … 0.44121289253234863 0.5106431245803833], [0.09153756499290466 0.09166057407855988 … 0.061158545315265656 0.05317765846848488; 0.09177263081073761 0.09211093932390213 … 0.06338495761156082 0.059276480227708817; … ; 0.09441637992858887 0.09554733335971832 … 0.06014004349708557 0.0723857432603836; 0.09514439851045609 0.09638620913028717 … 0.058257680386304855 0.07175277173519135], #undef, [4.9372687405907705, 1.9602080692952741, -1.06538358474518, -4.0646007358461995, -6.963183934713585, 200.449085893421, 184.99082841627353, 164.9525586248336, 140.83036491677507, 113.22150341929698  …  220.08645184356797, 234.81137338777222, 243.7228236718972, 246.60017210558712, 243.3721766614481, 140.5249073295382, 144.85830110260895, 145.60528601190316, 142.74736442147264, 136.35529735745936], [33.02223480224647, 33.40784602769317, 33.45787220132252, 33.17107440760253, 32.55455364827101, 234.79049371633866, 256.33894712759195, 275.90292748667315, 292.9980806778767, 307.20113736198914  …  -44.47161174173653, -19.040035431240646, 7.712959421964857, 35.12504191794953, 62.51749956356729, 12.350303616044002, 28.304973962698984, 44.54366891671749, 60.66436223456188, 76.26791182424219], [0 0 … 4 4; 1 1 … 5 5], Bool[0 0 … 0 0; 0 0 … 0 0; … ; 0 0 … 0 0; 0 0 … 0 0])], OI_T3[OI_T3(OI_ARRAY(1, "CHARA", "GEOCENTRIC", 0.0, 0.0, 0.0, ["S1", "S2", "E1", "W1", "W2", "E2"], ["S1", "S2", "E1", "W1", "W2", "E2"], [0, 1, 2, 3, 4, 5], [1.0, 1.0, 1.0, 1.0, 1.0, 1.0], [0.0 3.5604111211706813 … -8.398458783516354 134.58774844342844; 0.0 18.90162711699635 … 131.11332979148256 102.80926738618152; 0.0 28.12858010440001 … 165.08713355612696 221.44410750302728], #undef, #undef), OI_WAVELENGTH(1, "MIRC_H", [1.500000053056283e-6, 1.5357143183791777e-6, 1.5714285837020725e-6, 1.6071428490249673e-6, 1.6428572280346998e-6, 1.6785714933575946e-6, 1.7142857586804894e-6, 1.7500000240033842e-6], [3.571426532289479e-8, 3.571426532289479e-8, 3.571426532289479e-8, 3.571426532289479e-8, 3.571426532289479e-8, 3.571426532289479e-8, 3.571426532289479e-8, 3.571426532289479e-8]), #undef, 1, "2007-05-11", "CHARA", "MIRC_H", #undef, [1, 1, 1, 1, 1, 1, 1, 1, 1, 1  …  1, 1, 1, 1, 1, 1, 1, 1, 1, 1], [18000.0, 20159.999656677246, 22319.999313354492, 24480.000686645508, 26640.000343322754, 18000.0, 20159.999656677246, 22319.999313354492, 24480.000686645508, 26640.000343322754  …  18000.0, 20159.999656677246, 22319.999313354492, 24480.000686645508, 26640.000343322754, 18000.0, 20159.999656677246, 22319.999313354492, 24480.000686645508, 26640.000343322754], [54231.20833333349, 54231.233333329204, 54231.258333325386, 54231.283333341125, 54231.30833333731, 54231.20833333349, 54231.233333329204, 54231.258333325386, 54231.283333341125, 54231.30833333731  …  54231.20833333349, 54231.233333329204, 54231.258333325386, 54231.283333341125, 54231.30833333731, 54231.20833333349, 54231.233333329204, 54231.258333325386, 54231.283333341125, 54231.30833333731], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0  …  0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0032962155528366566 0.0019402354955673218 … 0.06162061169743538 0.06678305566310883; 0.006330485921353102 0.0015058262506499887 … 0.07068482041358948 0.07804796099662781; … ; 0.015620619058609009 0.010495539754629135 … 0.13922810554504395 0.10449503362178802; 0.030634859576821327 0.02169905975461006 … 0.14026804268360138 0.11292415112257004], [0.000527476891875267 0.000327107438351959 … 0.010593833401799202 0.018193857744336128; 0.0010861565824598074 0.0003513169358484447 … 0.013225636444985867 0.019187981262803078; … ; 0.004769473802298307 0.002115425420925021 … 0.029717693105340004 0.021867122501134872; 0.0064000943675637245 0.004012386314570904 … 0.03229439631104469 0.023973645642399788], #undef, [-60.880088806152344 69.42391967773438 … 1.0774458646774292 -13.021782875061035; -74.06024169921875 -14.069182395935059 … 10.493714332580566 -15.199806213378906; … ; 34.96256637573242 13.334046363830566 … 15.582088470458984 9.19375228881836; 31.985761642456055 30.03437614440918 … 11.456774711608887 16.044401168823242], [2.8616552352905273 4.579619884490967 … 0.5137027502059937 0.46610164642333984; 1.5470558404922485 4.254592418670654 … 0.49100813269615173 0.4626697897911072; … ; 0.6537280082702637 0.9781947135925293 … 0.44043442606925964 0.45497748255729675; 0.5886764526367188 0.7020854353904724 … 0.4372042417526245 0.4501386284828186], #undef, [4.9372687405907705, 1.9602080692952741, -1.06538358474518, -4.0646007358461995, -6.963183934713585, 4.9372687405907705, 1.9602080692952741, -1.06538358474518, -4.0646007358461995, -6.963183934713585  …  -199.20765910089546, -204.3723301515476, -204.4771410952905, -199.51949104033227, -189.6221294723055, 79.56154451402978, 89.95307228516327, 98.11753765999403, 103.85280768411447, 107.01687930398873], [33.02223480224647, 33.40784602769317, 33.45787220132252, 33.17107440760253, 32.55455364827101, 33.02223480224647, 33.40784602769317, 33.45787220132252, 33.17107440760253, 32.55455364827101  …  -25.203516596691266, -47.766111370238434, -70.62330290892083, -93.20920873746857, -114.96461061854029, -56.82191535778054, -47.345009393939634, -36.83070949475263, -25.539320316612333, -13.750412260674896], [195.51181715283025, 183.03062034697825, 166.01794220957882, 144.8949656526213, 120.18468735401056, -83.25738646209498, -111.29478208973265, -136.57673654570573, -158.47733307182548, -176.45432142228367  …  140.5249073295382, 144.85830110260895, 145.60528601190316, 142.74736442147264, 136.35529735745936, 140.5249073295382, 144.85830110260895, 145.60528601190316, 142.74736442147264, 136.35529735745936], [201.76825891409217, 222.9311010998988, 242.4450552853506, 259.8270062702742, 274.6465837137181, 233.38665767518148, 222.5099991236, 208.65246187118242, 192.15711784941794, 173.43238535585274  …  12.350303616044002, 28.304973962698984, 44.54366891671749, 60.66436223456188, 76.26791182424219, 12.350303616044002, 28.304973962698984, 44.54366891671749, 60.66436223456188, 76.26791182424219], [0 0 … 3 3; 1 1 … 4 4; 2 2 … 5 5], Bool[0 0 … 0 0; 0 0 … 0 0; … ; 0 0 … 0 0; 0 0 … 0 0])], OI_FLUX[], OI_INSPOL[])

julia>

Probably related: JuliaLang/julia#52951

@emmt
Copy link
Owner

emmt commented Apr 11, 2024

Which version of OIFITS.jl are you using ? The master version?

@bensetterholm
Copy link
Contributor Author

I was using the released version in the General Registry, but I just now installed the master branch version directly from GitHub on Windows and I get the same behavior.

I ran the MWE 4 times:

  • the first time I got the String conversion bug
  • the second and third time the file read properly
  • the fourth time I get the full Julia crash

So it seems that even with master, I still have the same issue as before.

@bensetterholm
Copy link
Contributor Author

bensetterholm commented Apr 11, 2024

Maybe this has something to do with the fact that the fundamental underlying structure of Arrays in Julia 1.11 has changed? Does OIFITS (or maybe FITSIO) interface with Arrays at a lower-level than it is "supposed to"?

See: JuliaLang/julia#51319 - listed at the very top of the Julia 1.11 Release News

@emmt
Copy link
Owner

emmt commented Apr 18, 2024

To solve this kind of issues (and others), I plan to use EasyFITS.jl instead of FITSIO.jl. I will start a new branch with these changes as soon as possible..

@emmt
Copy link
Owner

emmt commented Apr 18, 2024

BTW I also had this problem with Julia 1.11.0-beta1 although I can correctly open the file with FITSIO...

@bensetterholm
Copy link
Contributor Author

Great, thanks. I will continue using Julia 1.10 for the time being then.

Yes, I also did not see a crash in FITSIO during regular usage under Julia 1.11, so it is possible that the problem was mis-diagnosed. (However, when running ]test FITSIO, there are some errors on my machine)

@emmt
Copy link
Owner

emmt commented May 1, 2024

I have tried to read a file with OIFITS in Julia 1.11.0-beta1 with Julia debugger but it takes too long and too may memory. I had to quit as it freezed my computer.

Since I do not have my hands in FITSIO I would rather prefer to switch to EasyFITS as said above. I have a preliminary version that can load the 2004 Interferometric Beauty Contest file (and some others) without crashing. I am currently porting the writing of OIFITS file part....

@emmt
Copy link
Owner

emmt commented May 2, 2024

As of 6546ff0, all tests passed with EasyFITS to deal with FITS files up to Julia version 1.11.0-beta1. This will probably be the 1.1.0 version of OIFITS. Beware that this rely on two not yet official packages: EasyFITS and FITSHeaders. You will have to install them by hand (first FITSHeaders, then EasyFITS). FITSHeaders is in the way to be officially registered and, once this is done, I will trigger the registration of EasyFITS. Before finally releasing an official new version of OIFITS. In the mean time, you may give a try to this new version even though you still use Julia 1.10. There are just a few changes for dealing with OI-FITS files:

  1. use/import EasyFITS instead of FITSIO (although the two can co-exist);
  2. call FitsFile(...) or openfits(...) instead of FITS(...) to open a FITS file.

@bensetterholm
Copy link
Contributor Author

Thanks, I'll give it a try!

@bensetterholm
Copy link
Contributor Author

I am not running into any issues with OIFITS after playing around with this for a little bit. Thank you very much for all of your work! I am very impressed that you replaced the entire underlying library without modifications to the OIFITS API. Fantastic! I will mark this issue as closed.

P.S. I know that FITSHeaders will soon be added to the Julia General registry, but could you also add it to your personal registry in the meantime? Thanks!

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