WhitewaterFoundry / Fedora-Remix-for-WSL

Fedora Remix for Windows Subsystem for Linux.
Other
693 stars 51 forks source link

system provided julia 1.9.0-rc2 segmentation fault on fedoraremix 38 #201

Open nuitlejour opened 1 year ago

nuitlejour commented 1 year ago

I am using the lastest fedoraremix 38, the system provided julia 1.9.0-rc2 produce segmentation fault. I not sure whether is it a fedoraremix bug, or a fedora 38 bug in general.

Ways to produce the bug: (1) dnf install julia (2)julia (3)verisoninfo()

Can you provide any suggestion?

snap

crramirez commented 1 year ago

I'll check. Thanks for reporting

jvo203 commented 1 year ago

The problem is not limited to the system-provided Julia and is not limited to the WSL Fedora either. The problem occurs in a non-WSL "vanilla" Fedora 38.

Even the latest Julia 1.9.1 downloaded directly from the Julia downloads website ends with a segmentation fault in Fedora 38. Doing "]" and then "up" produces a seg. fault. "versioninfo()" crashes too.

crramirez commented 1 year ago

Maybe they fixed it in 1.9.0 version?

image

jvo203 commented 1 year ago

I've tried both 1.9.0 from the Fedora 38 repository as well as the latest 1.9.1 downloaded from the Julia website. Neither works, both crash. The CPU is AMD Ryzen 7 3700X. I suspect the problem probably lies not in Julia but in some internal libraries shipped with Fedora 38. This problem persisted in the previous Fedora 37 as well as 36. It must be some combination of system libraries badly interfering with Julia.

I wonder if running "gdb julia" might throw some light onto this problem...

crramirez commented 1 year ago

I've checked with WSL1 and it works also. maybe you could try with WSL1?

I don't know about julia, but maybe have some relationship with mesa? maybe with

export LIBGL_ALWAYS_SOFTWARE=1 get fixed?

nuitlejour commented 1 year ago

a workaround: You can install julia using conda virtual environment, that installs bunch of binary dependencies julia uses, it does work. but still, it would be much better if Fedora 38 provied julia could work out-of-box.

jvo203 commented 1 year ago

Well it's been bugging me for a few years now. In the bare metal Fedora 38 with the Fedora 38 julia, "gdb julia" results in the following error (seg. fault). Does it ring any bells?

Downloading separate debug info for /home/chris/.cache/debuginfod_client/114d699643c12a6b1b2aaabb64fe22ee6d0024c6/debuginfo                                                                           
               _                                                                                                                                                                                      
   _       _ _(_)_     |  Documentation: https://docs.julialang.org
  (_)     | (_) (_)    |
   _ _   _| |_  __ _   |  Type "?" for help, "]?" for Pkg help.
  | | | | | | |/ _` |  |
  | | |_| | | | (_| |  |  Version 1.9.0 (2023-05-07)
 _/ |\__'_|_|_|\__'_|  |  Fedora 38 build
|__/                   |

julia> versioninfo()

Thread 1 "julia" received signal SIGSEGV, Segmentation fault.
lookup (rel_ip=119, table_size=<optimized out>, table=0x0) at dwarf/Gfind_proc_info-lsb.c:846
Downloading source file /usr/src/debug/libunwind-1.6.2-7.fc38.x86_64/src/dwarf/Gfind_proc_info-lsb.c
846           if (rel_ip < e->start_ip_offset)    

Here is a full backtrace, it's rather long...

(gdb) bt
#0  lookup (rel_ip=119, table_size=<optimized out>, table=0x0) at dwarf/Gfind_proc_info-lsb.c:846
#1  _ULx86_64_dwarf_search_unwind_table (as=<optimized out>, ip=ip@entry=23454964507223, di=0xa410a0, pi=pi@entry=0x7ffffffdd068, need_unwind_info=need_unwind_info@entry=1, arg=<optimized out>)
    at dwarf/Gfind_proc_info-lsb.c:968
#2  0x0000155554f0def4 in _ULx86_64_Iextract_dynamic_proc_info (arg=<optimized out>, need_unwind_info=1, di=<optimized out>, pi=0x7ffffffdd068, ip=23454964507223, as=<optimized out>)
    at mi/Gdyn-extract.c:56
#3  0x0000155554f0e1b9 in fetch_proc_info (c=c@entry=0x7ffffffdcf10, ip=<optimized out>) at dwarf/Gparser.c:456
#4  0x0000155554f0e55a in find_reg_state (sr=0x7ffffffdc7a0, c=0x7ffffffdcf10) at dwarf/Gparser.c:925
#5  _ULx86_64_dwarf_step (c=0x7ffffffdcf10) at dwarf/Gparser.c:972
#6  _ULx86_64_step (cursor=cursor@entry=0x7ffffffdcf10) at x86_64/Gstep.c:75
#7  0x000015555489952c in jl_unw_step (from_signal_handler=<optimized out>, sp=<synthetic pointer>, ip=<synthetic pointer>, cursor=0x7ffffffdcf10)
    at /usr/src/debug/julia-1.9.0-3.fc38.x86_64/src/stackwalk.c:553
#8  jl_unw_stepn (cursor=cursor@entry=0x7ffffffdcf10, bt_data=bt_data@entry=0x155554e68010, bt_size=bt_size@entry=0x7ffffffdcb38, sp=sp@entry=0x0, maxsize=maxsize@entry=80000, skip=0, 
    skip@entry=3, ppgcstack=0x7ffffffdcb30, from_signal_handler=<optimized out>) at /usr/src/debug/julia-1.9.0-3.fc38.x86_64/src/stackwalk.c:99
#9  0x0000155554899a38 in rec_backtrace (bt_data=0x155554e68010, maxsize=maxsize@entry=80000, skip=skip@entry=2) at /usr/src/debug/julia-1.9.0-3.fc38.x86_64/src/stackwalk.c:222
#10 0x000015555486ade0 in record_backtrace (ptls=0x4655c0, skip=skip@entry=1) at /usr/src/debug/julia-1.9.0-3.fc38.x86_64/src/task.c:413
#11 0x000015555486b769 in ijl_throw (e=0x15553e611c30) at /usr/src/debug/julia-1.9.0-3.fc38.x86_64/src/task.c:787
#12 0x00001555336aeeed in julia_checkbounds_32014 () at strings/basic.jl:216
#13 0x00001555336aef03 in jfptr_checkbounds_32015.clone_1 () from /usr/lib64/julia/sys.so
#14 0x0000155554857014 in jl_apply (nargs=3, args=0x7ffffffdd530) at /usr/src/debug/julia-1.9.0-3.fc38.x86_64/src/julia.h:1879
#15 jl_f__call_in_world_total (F=<optimized out>, args=0x7ffffffdd528, nargs=4) at /usr/src/debug/julia-1.9.0-3.fc38.x86_64/src/builtins.c:812
#16 0x0000155554858ed5 in jl_apply (nargs=<optimized out>, args=0x7ffffffdd520) at /usr/src/debug/julia-1.9.0-3.fc38.x86_64/src/julia.h:1879
#17 do_apply (args=<optimized out>, nargs=<optimized out>, iterate=<optimized out>) at /usr/src/debug/julia-1.9.0-3.fc38.x86_64/src/builtins.c:730
#18 0x0000155533faa372 in julia_concrete_eval_call_17503 () at compiler/abstractinterpretation.jl:850
#19 0x0000155533ee2d55 in julia_abstract_call_method_with_const_args_17395 () at compiler/abstractinterpretation.jl:963
#20 0x0000155533f9ff15 in julia_abstract_call_method_with_const_args_17421 () at compiler/abstractinterpretation.jl:954
#21 0x0000155533f35f4e in julia_abstract_call_gf_by_type_17884 () at compiler/abstractinterpretation.jl:160
#22 0x0000155533a675dc in julia_abstract_call_known_17691 () at compiler/abstractinterpretation.jl:1949
#23 0x00001555331776fd in jfptr_abstract_call_known_17692.clone_1 () from /usr/lib64/julia/sys.so
#24 0x0000155533939810 in tojlinvoke21297.clone_1 () from /usr/lib64/julia/sys.so
#25 0x0000155533939789 in j_abstract_call_known_15343.clone_1 () from /usr/lib64/julia/sys.so
#26 0x0000155533f26a7a in julia_abstract_call_15334 () at compiler/abstractinterpretation.jl:2020
#27 0x0000155533fa8ba7 in julia_abstract_call_15361 () at compiler/abstractinterpretation.jl:1999
#28 0x0000155533ef7c18 in julia_abstract_eval_statement_expr_15963 () at compiler/abstractinterpretation.jl:2183
#29 0x00001555337109e7 in julia_abstract_eval_statement_15804 () at compiler/abstractinterpretation.jl:2396
#30 0x00001555337443d7 in julia_abstract_eval_basic_statement_16018 () at compiler/abstractinterpretation.jl:2684
#31 0x0000155533e267e3 in julia_typeinf_local_13033 () at compiler/abstractinterpretation.jl:2869
#32 0x0000155533e38a1e in julia_typeinf_nocycle_20834 () at compiler/abstractinterpretation.jl:2957
#33 0x0000155533df80e9 in julia__typeinf_14077 () at compiler/typeinfer.jl:246
#34 0x0000155533fab51c in julia_typeinf_14509 () at compiler/typeinfer.jl:216
#35 0x0000155533ee3673 in julia_abstract_call_method_with_const_args_17395 () at compiler/abstractinterpretation.jl:1008
--Type <RET> for more, q to quit, c to continue without paging--
#36 0x0000155533f9ff15 in julia_abstract_call_method_with_const_args_17421 () at compiler/abstractinterpretation.jl:954
#37 0x0000155533f35f4e in julia_abstract_call_gf_by_type_17884 () at compiler/abstractinterpretation.jl:160
#38 0x0000155533a675dc in julia_abstract_call_known_17691 () at compiler/abstractinterpretation.jl:1949
#39 0x00001555331776fd in jfptr_abstract_call_known_17692.clone_1 () from /usr/lib64/julia/sys.so
#40 0x0000155533939810 in tojlinvoke21297.clone_1 () from /usr/lib64/julia/sys.so
#41 0x0000155533939789 in j_abstract_call_known_15343.clone_1 () from /usr/lib64/julia/sys.so
#42 0x0000155533f26a7a in julia_abstract_call_15334 () at compiler/abstractinterpretation.jl:2020
#43 0x0000155533fa8ba7 in julia_abstract_call_15361 () at compiler/abstractinterpretation.jl:1999
#44 0x0000155533ef7c18 in julia_abstract_eval_statement_expr_15963 () at compiler/abstractinterpretation.jl:2183
#45 0x00001555337109e7 in julia_abstract_eval_statement_15804 () at compiler/abstractinterpretation.jl:2396
#46 0x00001555337443d7 in julia_abstract_eval_basic_statement_16018 () at compiler/abstractinterpretation.jl:2684
#47 0x0000155533e267e3 in julia_typeinf_local_13033 () at compiler/abstractinterpretation.jl:2869
#48 0x0000155533e38a1e in julia_typeinf_nocycle_20834 () at compiler/abstractinterpretation.jl:2957
#49 0x0000155533df80e9 in julia__typeinf_14077 () at compiler/typeinfer.jl:246
#50 0x0000155533fab51c in julia_typeinf_14509 () at compiler/typeinfer.jl:216
#51 0x0000155533ee3673 in julia_abstract_call_method_with_const_args_17395 () at compiler/abstractinterpretation.jl:1008
#52 0x0000155533f9ff15 in julia_abstract_call_method_with_const_args_17421 () at compiler/abstractinterpretation.jl:954
#53 0x0000155533f35f4e in julia_abstract_call_gf_by_type_17884 () at compiler/abstractinterpretation.jl:160
#54 0x0000155533a675dc in julia_abstract_call_known_17691 () at compiler/abstractinterpretation.jl:1949
#55 0x00001555331776fd in jfptr_abstract_call_known_17692.clone_1 () from /usr/lib64/julia/sys.so
#56 0x0000155533939810 in tojlinvoke21297.clone_1 () from /usr/lib64/julia/sys.so
#57 0x0000155533939789 in j_abstract_call_known_15343.clone_1 () from /usr/lib64/julia/sys.so
#58 0x0000155533f26a7a in julia_abstract_call_15334 () at compiler/abstractinterpretation.jl:2020
#59 0x0000155533fa8ba7 in julia_abstract_call_15361 () at compiler/abstractinterpretation.jl:1999
#60 0x0000155533ef7c18 in julia_abstract_eval_statement_expr_15963 () at compiler/abstractinterpretation.jl:2183
#61 0x00001555337109e7 in julia_abstract_eval_statement_15804 () at compiler/abstractinterpretation.jl:2396
#62 0x00001555337443d7 in julia_abstract_eval_basic_statement_16018 () at compiler/abstractinterpretation.jl:2684
#63 0x0000155533e267e3 in julia_typeinf_local_13033 () at compiler/abstractinterpretation.jl:2869
#64 0x0000155533e38a1e in julia_typeinf_nocycle_20834 () at compiler/abstractinterpretation.jl:2957
#65 0x0000155533df80e9 in julia__typeinf_14077 () at compiler/typeinfer.jl:246
#66 0x0000155533fab51c in julia_typeinf_14509 () at compiler/typeinfer.jl:216
#67 0x0000155533ee3673 in julia_abstract_call_method_with_const_args_17395 () at compiler/abstractinterpretation.jl:1008
#68 0x0000155533f9ff15 in julia_abstract_call_method_with_const_args_17421 () at compiler/abstractinterpretation.jl:954
#69 0x0000155533f35f4e in julia_abstract_call_gf_by_type_17884 () at compiler/abstractinterpretation.jl:160
#70 0x0000155533a675dc in julia_abstract_call_known_17691 () at compiler/abstractinterpretation.jl:1949
#71 0x00001555331776fd in jfptr_abstract_call_known_17692.clone_1 () from /usr/lib64/julia/sys.so
#72 0x0000155533939810 in tojlinvoke21297.clone_1 () from /usr/lib64/julia/sys.so
#73 0x0000155533939789 in j_abstract_call_known_15343.clone_1 () from /usr/lib64/julia/sys.so
#74 0x0000155533f26a7a in julia_abstract_call_15334 () at compiler/abstractinterpretation.jl:2020
#75 0x0000155533fa8ba7 in julia_abstract_call_15361 () at compiler/abstractinterpretation.jl:1999
--Type <RET> for more, q to quit, c to continue without paging--
#76 0x0000155533ef7c18 in julia_abstract_eval_statement_expr_15963 () at compiler/abstractinterpretation.jl:2183
#77 0x00001555337109e7 in julia_abstract_eval_statement_15804 () at compiler/abstractinterpretation.jl:2396
#78 0x00001555337443d7 in julia_abstract_eval_basic_statement_16018 () at compiler/abstractinterpretation.jl:2684
#79 0x0000155533e267e3 in julia_typeinf_local_13033 () at compiler/abstractinterpretation.jl:2869
#80 0x0000155533e38a1e in julia_typeinf_nocycle_20834 () at compiler/abstractinterpretation.jl:2957
#81 0x0000155533df80e9 in julia__typeinf_14077 () at compiler/typeinfer.jl:246
#82 0x0000155533fab51c in julia_typeinf_14509 () at compiler/typeinfer.jl:216
#83 0x0000155533ee3673 in julia_abstract_call_method_with_const_args_17395 () at compiler/abstractinterpretation.jl:1008
#84 0x0000155533f9ff15 in julia_abstract_call_method_with_const_args_17421 () at compiler/abstractinterpretation.jl:954
#85 0x0000155533f35f4e in julia_abstract_call_gf_by_type_17884 () at compiler/abstractinterpretation.jl:160
#86 0x0000155533a675dc in julia_abstract_call_known_17691 () at compiler/abstractinterpretation.jl:1949
#87 0x00001555331776fd in jfptr_abstract_call_known_17692.clone_1 () from /usr/lib64/julia/sys.so
#88 0x0000155533939810 in tojlinvoke21297.clone_1 () from /usr/lib64/julia/sys.so
#89 0x0000155533939789 in j_abstract_call_known_15343.clone_1 () from /usr/lib64/julia/sys.so
#90 0x0000155533f26a7a in julia_abstract_call_15334 () at compiler/abstractinterpretation.jl:2020
#91 0x0000155533fa8ba7 in julia_abstract_call_15361 () at compiler/abstractinterpretation.jl:1999
#92 0x0000155533ef7c18 in julia_abstract_eval_statement_expr_15963 () at compiler/abstractinterpretation.jl:2183
#93 0x00001555337109e7 in julia_abstract_eval_statement_15804 () at compiler/abstractinterpretation.jl:2396
#94 0x00001555337443d7 in julia_abstract_eval_basic_statement_16018 () at compiler/abstractinterpretation.jl:2684
#95 0x0000155533e267e3 in julia_typeinf_local_13033 () at compiler/abstractinterpretation.jl:2869
#96 0x0000155533e38a1e in julia_typeinf_nocycle_20834 () at compiler/abstractinterpretation.jl:2957
#97 0x0000155533df80e9 in julia__typeinf_14077 () at compiler/typeinfer.jl:246
#98 0x0000155533fab51c in julia_typeinf_14509 () at compiler/typeinfer.jl:216
#99 0x0000155533ee3673 in julia_abstract_call_method_with_const_args_17395 () at compiler/abstractinterpretation.jl:1008
#100 0x0000155533f9ff15 in julia_abstract_call_method_with_const_args_17421 () at compiler/abstractinterpretation.jl:954
#101 0x0000155533f35f4e in julia_abstract_call_gf_by_type_17884 () at compiler/abstractinterpretation.jl:160
#102 0x0000155533a675dc in julia_abstract_call_known_17691 () at compiler/abstractinterpretation.jl:1949
#103 0x00001555331776fd in jfptr_abstract_call_known_17692.clone_1 () from /usr/lib64/julia/sys.so
#104 0x0000155533939810 in tojlinvoke21297.clone_1 () from /usr/lib64/julia/sys.so
#105 0x0000155533939789 in j_abstract_call_known_15343.clone_1 () from /usr/lib64/julia/sys.so
#106 0x0000155533f26a7a in julia_abstract_call_15334 () at compiler/abstractinterpretation.jl:2020
#107 0x0000155533fa8ba7 in julia_abstract_call_15361 () at compiler/abstractinterpretation.jl:1999
#108 0x0000155533ef7c18 in julia_abstract_eval_statement_expr_15963 () at compiler/abstractinterpretation.jl:2183
#109 0x00001555337109e7 in julia_abstract_eval_statement_15804 () at compiler/abstractinterpretation.jl:2396
#110 0x00001555337443d7 in julia_abstract_eval_basic_statement_16018 () at compiler/abstractinterpretation.jl:2684
#111 0x0000155533e267e3 in julia_typeinf_local_13033 () at compiler/abstractinterpretation.jl:2869
#112 0x0000155533e38a1e in julia_typeinf_nocycle_20834 () at compiler/abstractinterpretation.jl:2957
#113 0x0000155533df80e9 in julia__typeinf_14077 () at compiler/typeinfer.jl:246
#114 0x0000155533fab51c in julia_typeinf_14509 () at compiler/typeinfer.jl:216
#115 0x0000155533ee3673 in julia_abstract_call_method_with_const_args_17395 () at compiler/abstractinterpretation.jl:1008
--Type <RET> for more, q to quit, c to continue without paging--
#116 0x0000155533f9ff15 in julia_abstract_call_method_with_const_args_17421 () at compiler/abstractinterpretation.jl:954
#117 0x0000155533f35f4e in julia_abstract_call_gf_by_type_17884 () at compiler/abstractinterpretation.jl:160
#118 0x0000155533a675dc in julia_abstract_call_known_17691 () at compiler/abstractinterpretation.jl:1949
#119 0x00001555331776fd in jfptr_abstract_call_known_17692.clone_1 () from /usr/lib64/julia/sys.so
#120 0x0000155533939810 in tojlinvoke21297.clone_1 () from /usr/lib64/julia/sys.so
#121 0x0000155533939789 in j_abstract_call_known_15343.clone_1 () from /usr/lib64/julia/sys.so
#122 0x0000155533f26a7a in julia_abstract_call_15334 () at compiler/abstractinterpretation.jl:2020
#123 0x0000155533fa8ba7 in julia_abstract_call_15361 () at compiler/abstractinterpretation.jl:1999
#124 0x0000155533ef7c18 in julia_abstract_eval_statement_expr_15963 () at compiler/abstractinterpretation.jl:2183
#125 0x00001555337109e7 in julia_abstract_eval_statement_15804 () at compiler/abstractinterpretation.jl:2396
#126 0x00001555337443d7 in julia_abstract_eval_basic_statement_16018 () at compiler/abstractinterpretation.jl:2684
#127 0x0000155533e267e3 in julia_typeinf_local_13033 () at compiler/abstractinterpretation.jl:2869
#128 0x0000155533e38a1e in julia_typeinf_nocycle_20834 () at compiler/abstractinterpretation.jl:2957
#129 0x0000155533df80e9 in julia__typeinf_14077 () at compiler/typeinfer.jl:246
#130 0x0000155533fab51c in julia_typeinf_14509 () at compiler/typeinfer.jl:216
#131 0x0000155533ee3673 in julia_abstract_call_method_with_const_args_17395 () at compiler/abstractinterpretation.jl:1008
#132 0x0000155533f9ff15 in julia_abstract_call_method_with_const_args_17421 () at compiler/abstractinterpretation.jl:954
#133 0x0000155533f35f4e in julia_abstract_call_gf_by_type_17884 () at compiler/abstractinterpretation.jl:160
#134 0x0000155533a675dc in julia_abstract_call_known_17691 () at compiler/abstractinterpretation.jl:1949
#135 0x00001555331776fd in jfptr_abstract_call_known_17692.clone_1 () from /usr/lib64/julia/sys.so
#136 0x0000155533939810 in tojlinvoke21297.clone_1 () from /usr/lib64/julia/sys.so
#137 0x0000155533939789 in j_abstract_call_known_15343.clone_1 () from /usr/lib64/julia/sys.so
#138 0x0000155533f26a7a in julia_abstract_call_15334 () at compiler/abstractinterpretation.jl:2020
#139 0x0000155533fa8ba7 in julia_abstract_call_15361 () at compiler/abstractinterpretation.jl:1999
#140 0x0000155533ef7c18 in julia_abstract_eval_statement_expr_15963 () at compiler/abstractinterpretation.jl:2183
#141 0x00001555337109e7 in julia_abstract_eval_statement_15804 () at compiler/abstractinterpretation.jl:2396
#142 0x00001555337443d7 in julia_abstract_eval_basic_statement_16018 () at compiler/abstractinterpretation.jl:2684
#143 0x0000155533e267e3 in julia_typeinf_local_13033 () at compiler/abstractinterpretation.jl:2869
#144 0x0000155533e38a1e in julia_typeinf_nocycle_20834 () at compiler/abstractinterpretation.jl:2957
#145 0x0000155533df80e9 in julia__typeinf_14077 () at compiler/typeinfer.jl:246
#146 0x0000155533fab51c in julia_typeinf_14509 () at compiler/typeinfer.jl:216
#147 0x0000155533ee3673 in julia_abstract_call_method_with_const_args_17395 () at compiler/abstractinterpretation.jl:1008
#148 0x0000155533f9ff15 in julia_abstract_call_method_with_const_args_17421 () at compiler/abstractinterpretation.jl:954
#149 0x0000155533f35f4e in julia_abstract_call_gf_by_type_17884 () at compiler/abstractinterpretation.jl:160
#150 0x0000155533a675dc in julia_abstract_call_known_17691 () at compiler/abstractinterpretation.jl:1949
#151 0x00001555331776fd in jfptr_abstract_call_known_17692.clone_1 () from /usr/lib64/julia/sys.so
#152 0x0000155533939810 in tojlinvoke21297.clone_1 () from /usr/lib64/julia/sys.so
#153 0x0000155533939789 in j_abstract_call_known_15343.clone_1 () from /usr/lib64/julia/sys.so
#154 0x0000155533f26a7a in julia_abstract_call_15334 () at compiler/abstractinterpretation.jl:2020
#155 0x0000155533fa8ba7 in julia_abstract_call_15361 () at compiler/abstractinterpretation.jl:1999
--Type <RET> for more, q to quit, c to continue without paging--
#156 0x0000155533ef7c18 in julia_abstract_eval_statement_expr_15963 () at compiler/abstractinterpretation.jl:2183
#157 0x00001555337109e7 in julia_abstract_eval_statement_15804 () at compiler/abstractinterpretation.jl:2396
#158 0x00001555337443d7 in julia_abstract_eval_basic_statement_16018 () at compiler/abstractinterpretation.jl:2684
#159 0x0000155533e267e3 in julia_typeinf_local_13033 () at compiler/abstractinterpretation.jl:2869
#160 0x0000155533e38a1e in julia_typeinf_nocycle_20834 () at compiler/abstractinterpretation.jl:2957
#161 0x0000155533df80e9 in julia__typeinf_14077 () at compiler/typeinfer.jl:246
#162 0x0000155533fab51c in julia_typeinf_14509 () at compiler/typeinfer.jl:216
#163 0x0000155533ee3673 in julia_abstract_call_method_with_const_args_17395 () at compiler/abstractinterpretation.jl:1008
#164 0x0000155533f9ff15 in julia_abstract_call_method_with_const_args_17421 () at compiler/abstractinterpretation.jl:954
#165 0x0000155533f35f4e in julia_abstract_call_gf_by_type_17884 () at compiler/abstractinterpretation.jl:160
#166 0x0000155533a675dc in julia_abstract_call_known_17691 () at compiler/abstractinterpretation.jl:1949
#167 0x00001555331776fd in jfptr_abstract_call_known_17692.clone_1 () from /usr/lib64/julia/sys.so
#168 0x0000155533939810 in tojlinvoke21297.clone_1 () from /usr/lib64/julia/sys.so
#169 0x0000155533939789 in j_abstract_call_known_15343.clone_1 () from /usr/lib64/julia/sys.so
#170 0x0000155533f26a7a in julia_abstract_call_15334 () at compiler/abstractinterpretation.jl:2020
#171 0x0000155533fa8ba7 in julia_abstract_call_15361 () at compiler/abstractinterpretation.jl:1999
#172 0x0000155533ef7c18 in julia_abstract_eval_statement_expr_15963 () at compiler/abstractinterpretation.jl:2183
#173 0x00001555337109e7 in julia_abstract_eval_statement_15804 () at compiler/abstractinterpretation.jl:2396
#174 0x00001555337443d7 in julia_abstract_eval_basic_statement_16018 () at compiler/abstractinterpretation.jl:2684
#175 0x0000155533e267e3 in julia_typeinf_local_13033 () at compiler/abstractinterpretation.jl:2869
#176 0x0000155533e38a1e in julia_typeinf_nocycle_20834 () at compiler/abstractinterpretation.jl:2957
#177 0x0000155533df80e9 in julia__typeinf_14077 () at compiler/typeinfer.jl:246
#178 0x0000155533fab51c in julia_typeinf_14509 () at compiler/typeinfer.jl:216
#179 0x0000155533ee3673 in julia_abstract_call_method_with_const_args_17395 () at compiler/abstractinterpretation.jl:1008
#180 0x0000155533f9ff15 in julia_abstract_call_method_with_const_args_17421 () at compiler/abstractinterpretation.jl:954
#181 0x0000155533f35f4e in julia_abstract_call_gf_by_type_17884 () at compiler/abstractinterpretation.jl:160
#182 0x0000155533a675dc in julia_abstract_call_known_17691 () at compiler/abstractinterpretation.jl:1949
#183 0x00001555331776fd in jfptr_abstract_call_known_17692.clone_1 () from /usr/lib64/julia/sys.so
#184 0x0000155533939810 in tojlinvoke21297.clone_1 () from /usr/lib64/julia/sys.so
#185 0x0000155533939789 in j_abstract_call_known_15343.clone_1 () from /usr/lib64/julia/sys.so
#186 0x0000155533f26a7a in julia_abstract_call_15334 () at compiler/abstractinterpretation.jl:2020
#187 0x0000155533fa8ba7 in julia_abstract_call_15361 () at compiler/abstractinterpretation.jl:1999
#188 0x0000155533ef7c18 in julia_abstract_eval_statement_expr_15963 () at compiler/abstractinterpretation.jl:2183
#189 0x00001555337109e7 in julia_abstract_eval_statement_15804 () at compiler/abstractinterpretation.jl:2396
#190 0x00001555337443d7 in julia_abstract_eval_basic_statement_16018 () at compiler/abstractinterpretation.jl:2684
#191 0x0000155533e267e3 in julia_typeinf_local_13033 () at compiler/abstractinterpretation.jl:2869
#192 0x0000155533e38a1e in julia_typeinf_nocycle_20834 () at compiler/abstractinterpretation.jl:2957
#193 0x0000155533df80e9 in julia__typeinf_14077 () at compiler/typeinfer.jl:246
#194 0x0000155533fab51c in julia_typeinf_14509 () at compiler/typeinfer.jl:216
#195 0x0000155533ee3673 in julia_abstract_call_method_with_const_args_17395 () at compiler/abstractinterpretation.jl:1008
--Type <RET> for more, q to quit, c to continue without paging--
#196 0x0000155533f9ff15 in julia_abstract_call_method_with_const_args_17421 () at compiler/abstractinterpretation.jl:954
#197 0x0000155533f35f4e in julia_abstract_call_gf_by_type_17884 () at compiler/abstractinterpretation.jl:160
#198 0x0000155533a675dc in julia_abstract_call_known_17691 () at compiler/abstractinterpretation.jl:1949
#199 0x00001555331776fd in jfptr_abstract_call_known_17692.clone_1 () from /usr/lib64/julia/sys.so
#200 0x0000155533960500 in tojlinvoke21296.clone_1 () from /usr/lib64/julia/sys.so
#201 0x0000155533960479 in j_abstract_call_known_15359.clone_1 () from /usr/lib64/julia/sys.so
#202 0x0000155533f47768 in julia_abstract_call_15352 () at compiler/abstractinterpretation.jl:2020
#203 0x0000155533f4bbad in julia_abstract_apply_13944 () at compiler/abstractinterpretation.jl:1566
#204 0x0000155533a66859 in julia_abstract_call_known_17691 () at compiler/abstractinterpretation.jl:1855
#205 0x00001555331776fd in jfptr_abstract_call_known_17692.clone_1 () from /usr/lib64/julia/sys.so
#206 0x0000155533939810 in tojlinvoke21297.clone_1 () from /usr/lib64/julia/sys.so
#207 0x0000155533939789 in j_abstract_call_known_15343.clone_1 () from /usr/lib64/julia/sys.so
#208 0x0000155533f26a7a in julia_abstract_call_15334 () at compiler/abstractinterpretation.jl:2020
#209 0x0000155533fa8ba7 in julia_abstract_call_15361 () at compiler/abstractinterpretation.jl:1999
#210 0x0000155533ef7c18 in julia_abstract_eval_statement_expr_15963 () at compiler/abstractinterpretation.jl:2183
#211 0x00001555337109e7 in julia_abstract_eval_statement_15804 () at compiler/abstractinterpretation.jl:2396
#212 0x00001555337443d7 in julia_abstract_eval_basic_statement_16018 () at compiler/abstractinterpretation.jl:2684
#213 0x0000155533e267e3 in julia_typeinf_local_13033 () at compiler/abstractinterpretation.jl:2869
#214 0x0000155533e38a1e in julia_typeinf_nocycle_20834 () at compiler/abstractinterpretation.jl:2957
#215 0x0000155533df80e9 in julia__typeinf_14077 () at compiler/typeinfer.jl:246
#216 0x0000155533fab51c in julia_typeinf_14509 () at compiler/typeinfer.jl:216
#217 0x0000155533ee3673 in julia_abstract_call_method_with_const_args_17395 () at compiler/abstractinterpretation.jl:1008
#218 0x0000155533f9ff15 in julia_abstract_call_method_with_const_args_17421 () at compiler/abstractinterpretation.jl:954
#219 0x0000155533f35f4e in julia_abstract_call_gf_by_type_17884 () at compiler/abstractinterpretation.jl:160
#220 0x0000155533a675dc in julia_abstract_call_known_17691 () at compiler/abstractinterpretation.jl:1949
#221 0x00001555331776fd in jfptr_abstract_call_known_17692.clone_1 () from /usr/lib64/julia/sys.so
#222 0x0000155533939810 in tojlinvoke21297.clone_1 () from /usr/lib64/julia/sys.so
#223 0x0000155533939789 in j_abstract_call_known_15343.clone_1 () from /usr/lib64/julia/sys.so
#224 0x0000155533f26a7a in julia_abstract_call_15334 () at compiler/abstractinterpretation.jl:2020
#225 0x0000155533fa8ba7 in julia_abstract_call_15361 () at compiler/abstractinterpretation.jl:1999
#226 0x0000155533ef7c18 in julia_abstract_eval_statement_expr_15963 () at compiler/abstractinterpretation.jl:2183
#227 0x00001555337109e7 in julia_abstract_eval_statement_15804 () at compiler/abstractinterpretation.jl:2396
#228 0x00001555337443d7 in julia_abstract_eval_basic_statement_16018 () at compiler/abstractinterpretation.jl:2684
#229 0x0000155533e267e3 in julia_typeinf_local_13033 () at compiler/abstractinterpretation.jl:2869
#230 0x0000155533e38a1e in julia_typeinf_nocycle_20834 () at compiler/abstractinterpretation.jl:2957
#231 0x0000155533df80e9 in julia__typeinf_14077 () at compiler/typeinfer.jl:246
#232 0x0000155533fab51c in julia_typeinf_14509 () at compiler/typeinfer.jl:216
#233 0x0000155533ee3e77 in julia_typeinf_edge_17513 () at compiler/typeinfer.jl:933
#234 0x0000155533f25686 in julia_abstract_call_method_13138 () at compiler/abstractinterpretation.jl:611
#235 0x0000155533f35c1c in julia_abstract_call_gf_by_type_17884 () at compiler/abstractinterpretation.jl:152
--Type <RET> for more, q to quit, c to continue without paging--c
#236 0x0000155533a675dc in julia_abstract_call_known_17691 () at compiler/abstractinterpretation.jl:1949
#237 0x00001555331776fd in jfptr_abstract_call_known_17692.clone_1 () from /usr/lib64/julia/sys.so
#238 0x0000155533939810 in tojlinvoke21297.clone_1 () from /usr/lib64/julia/sys.so
#239 0x0000155533939789 in j_abstract_call_known_15343.clone_1 () from /usr/lib64/julia/sys.so
#240 0x0000155533f26a7a in julia_abstract_call_15334 () at compiler/abstractinterpretation.jl:2020
#241 0x0000155533fa8ba7 in julia_abstract_call_15361 () at compiler/abstractinterpretation.jl:1999
#242 0x0000155533ef7c18 in julia_abstract_eval_statement_expr_15963 () at compiler/abstractinterpretation.jl:2183
#243 0x00001555337109e7 in julia_abstract_eval_statement_15804 () at compiler/abstractinterpretation.jl:2396
#244 0x00001555337443d7 in julia_abstract_eval_basic_statement_16018 () at compiler/abstractinterpretation.jl:2684
#245 0x0000155533e267e3 in julia_typeinf_local_13033 () at compiler/abstractinterpretation.jl:2869
#246 0x0000155533e38a1e in julia_typeinf_nocycle_20834 () at compiler/abstractinterpretation.jl:2957
#247 0x0000155533df80e9 in julia__typeinf_14077 () at compiler/typeinfer.jl:246
#248 0x0000155533fab51c in julia_typeinf_14509 () at compiler/typeinfer.jl:216
#249 0x0000155533d319e4 in julia_typeinf_ext_18829 () at compiler/typeinfer.jl:1058
#250 0x00001555335912f2 in julia_typeinf_ext_toplevel_15322 () at compiler/typeinfer.jl:1091
#251 0x000015553359161c in julia_typeinf_ext_toplevel_15318 () at compiler/typeinfer.jl:1087
#252 0x0000155533591663 in jfptr_typeinf_ext_toplevel_15319.clone_1 () from /usr/lib64/julia/sys.so
#253 0x0000155554848b19 in jl_apply (nargs=3, args=0x7fffffff90c0) at /usr/src/debug/julia-1.9.0-3.fc38.x86_64/src/julia.h:1879
#254 jl_type_infer (mi=<optimized out>, world=33457, force=<optimized out>) at /usr/src/debug/julia-1.9.0-3.fc38.x86_64/src/gf.c:320
#255 0x00001555547195ba in jl_generate_fptr_impl (mi=0x15553e3f95f0, world=33457) at /usr/src/debug/julia-1.9.0-3.fc38.x86_64/src/jitlayers.cpp:444
#256 0x000015555484760a in jl_compile_method_internal (world=33457, mi=<optimized out>) at /usr/src/debug/julia-1.9.0-3.fc38.x86_64/src/gf.c:2348
#257 jl_compile_method_internal (mi=<optimized out>, world=33457) at /usr/src/debug/julia-1.9.0-3.fc38.x86_64/src/gf.c:2237
#258 0x00001555548484a4 in _jl_invoke (world=33457, mfunc=0x15553e3f95f0, nargs=1, args=0x7fffffff9458, F=0x155537bfccd0 <jl_system_image_data+59223248>)
    at /usr/src/debug/julia-1.9.0-3.fc38.x86_64/src/gf.c:2750
#259 ijl_apply_generic (F=<optimized out>, args=0x7fffffff9458, nargs=<optimized out>) at /usr/src/debug/julia-1.9.0-3.fc38.x86_64/src/gf.c:2940
#260 0x0000155508d3e258 in ?? ()
#261 0x00007fffffff9408 in ?? ()
#262 0x000015553ddfc078 in ?? ()
#263 0x0000000000000004 in ?? ()
#264 0x00007fffffff9480 in ?? ()
#265 0x000015553df70150 in ?? ()
#266 0x000015553df70150 in ?? ()
#267 0x00007fffffff9470 in ?? ()
#268 0x0000155508d3e284 in ?? ()
#269 0x00007fffffff94f0 in ?? ()
#270 0x000015555486506c in jl_apply (nargs=1, args=0x7fffffff9490) at /usr/src/debug/julia-1.9.0-3.fc38.x86_64/src/julia.h:1879
#271 do_call (args=0x15553e0a8ff8, nargs=1, s=0x7fffffff9720) at /usr/src/debug/julia-1.9.0-3.fc38.x86_64/src/interpreter.c:126
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
jvo203 commented 1 year ago

Another hint: trying to update packages with the package manager results in a similar error, again libunwind is involved (or is libunwind related to the gdb process), perhaps "dwarf" is the real culprit.

[New Thread 0x1555293606c0 (LWP 9107)]
               _                                                                                                                                                                                      
   _       _ _(_)_     |  Documentation: https://docs.julialang.org
  (_)     | (_) (_)    |
   _ _   _| |_  __ _   |  Type "?" for help, "]?" for Pkg help.
  | | | | | | |/ _` |  |
  | | |_| | | | (_| |  |  Version 1.9.0 (2023-05-07)
 _/ |\__'_|_|_|\__'_|  |  Fedora 38 build
|__/                   |

(@v1.9) pkg> up
[Detaching after vfork from child process 9108]

Thread 1 "julia" received signal SIGSEGV, Segmentation fault.
_ULx86_64_dwarf_extract_proc_info_from_fde (addrp=addrp@entry=0x15550927caa0, pi=pi@entry=0x15550927d528, base=2, need_unwind_info=1, is_debug_frame=0, arg=<optimized out>, a=<optimized out>, 
    as=<optimized out>) at dwarf/Gfde.c:239
Downloading source file /usr/src/debug/libunwind-1.6.2-7.fc38.x86_64/src/dwarf/Gfde.c
239       if ((ret = dwarf_readu32 (as, a, &addr, &u32val, arg)) < 0)                                                                                                                                 
(gdb) 
jvo203 commented 1 year ago

"libunwind" seems to be needed by "gnome-shell", it's not possible to just un-install it without consequences.

[chris@fedora ~]$ sudo dnf remove libunwind
エラー: 
 問題: 操作は結果的に以下の保護されたパッケージを削除します: gnome-shell
(インストール不可のパッケージをスキップするには、'--skip-broken' を追加してみてください)
[chris@fedora ~]$ sudo dnf remove libunwind --skip-broken
エラー: 
 問題: 操作は結果的に以下の保護されたパッケージを削除します: gnome-shell
jvo203 commented 1 year ago

Perhaps "libunwind" and "dwarf" are red herrings, running the package manager again and seeing the backtrace shows an error to do with some NamedTuple field. Don't know.

(@v1.9) pkg> up
[Detaching after vfork from child process 9450]

Thread 1 "julia" received signal SIGSEGV, Segmentation fault.
lookup (rel_ip=208, table_size=<optimized out>, table=0x880000) at dwarf/Gfind_proc_info-lsb.c:846
846           if (rel_ip < e->start_ip_offset)                                                                                                                                                        
(gdb) bt
#0  lookup (rel_ip=208, table_size=<optimized out>, table=0x880000) at dwarf/Gfind_proc_info-lsb.c:846
#1  _ULx86_64_dwarf_search_unwind_table (as=<optimized out>, ip=ip@entry=23454964508768, di=0x993990, pi=pi@entry=0x15550927d528, need_unwind_info=need_unwind_info@entry=1, arg=<optimized out>)
    at dwarf/Gfind_proc_info-lsb.c:968
#2  0x0000155554f0def4 in _ULx86_64_Iextract_dynamic_proc_info (arg=<optimized out>, need_unwind_info=1, di=<optimized out>, pi=0x15550927d528, ip=23454964508768, as=<optimized out>)
    at mi/Gdyn-extract.c:56
#3  0x0000155554f0e1b9 in fetch_proc_info (c=c@entry=0x15550927d3d0, ip=<optimized out>) at dwarf/Gparser.c:456
#4  0x0000155554f0e55a in find_reg_state (sr=0x15550927cc60, c=0x15550927d3d0) at dwarf/Gparser.c:925
#5  _ULx86_64_dwarf_step (c=0x15550927d3d0) at dwarf/Gparser.c:972
#6  _ULx86_64_step (cursor=cursor@entry=0x15550927d3d0) at x86_64/Gstep.c:75
#7  0x000015555489952c in jl_unw_step (from_signal_handler=<optimized out>, sp=<synthetic pointer>, ip=<synthetic pointer>, cursor=0x15550927d3d0)
    at /usr/src/debug/julia-1.9.0-3.fc38.x86_64/src/stackwalk.c:553
#8  jl_unw_stepn (cursor=cursor@entry=0x15550927d3d0, bt_data=bt_data@entry=0x155554e68010, bt_size=bt_size@entry=0x15550927cff8, sp=sp@entry=0x0, maxsize=maxsize@entry=80000, skip=0, 
    skip@entry=3, ppgcstack=0x15550927cff0, from_signal_handler=<optimized out>) at /usr/src/debug/julia-1.9.0-3.fc38.x86_64/src/stackwalk.c:99
#9  0x0000155554899a38 in rec_backtrace (bt_data=0x155554e68010, maxsize=maxsize@entry=80000, skip=skip@entry=2) at /usr/src/debug/julia-1.9.0-3.fc38.x86_64/src/stackwalk.c:222
#10 0x000015555486ade0 in record_backtrace (ptls=0x4655c0, skip=skip@entry=1) at /usr/src/debug/julia-1.9.0-3.fc38.x86_64/src/task.c:413
#11 0x000015555486b769 in ijl_throw (e=0x15553dffc370) at /usr/src/debug/julia-1.9.0-3.fc38.x86_64/src/task.c:787
#12 0x00001555548c2ece in ijl_error (str=str@entry=0x1555549f51c8 "NamedTuple field type must be a tuple type") at /usr/src/debug/julia-1.9.0-3.fc38.x86_64/src/rtutils.c:41
#13 0x0000155554838c9e in inst_datatype_inner (dt=0x155534944c90 <jl_system_image_data+6040720>, p=<optimized out>, p@entry=0x0, iparams=iparams@entry=0x15550927dac0, ntp=ntp@entry=2, 
    stack=0x15550927d910, stack@entry=0x0, env=0x15550927d9d0) at /usr/src/debug/julia-1.9.0-3.fc38.x86_64/src/jltypes.c:1719
#14 0x000015555483ae5c in inst_datatype_env (p=<optimized out>, stack=<optimized out>, c=<optimized out>, env=<optimized out>, ntp=<optimized out>, iparams=<optimized out>, dt=<optimized out>)
    at /usr/src/debug/julia-1.9.0-3.fc38.x86_64/src/jltypes.c:1088
#15 inst_datatype_env (p=<optimized out>, stack=<optimized out>, c=<optimized out>, env=<optimized out>, ntp=<optimized out>, iparams=<optimized out>, dt=<optimized out>)
    at /usr/src/debug/julia-1.9.0-3.fc38.x86_64/src/jltypes.c:1092
#16 inst_datatype_env (p=<optimized out>, stack=<optimized out>, c=<optimized out>, env=<optimized out>, ntp=<optimized out>, iparams=<optimized out>, dt=<optimized out>)
    at /usr/src/debug/julia-1.9.0-3.fc38.x86_64/src/jltypes.c:1092
#17 inst_datatype_env (p=0x0, stack=0x0, c=1, env=0x15550927d9b0, ntp=2, iparams=0x15550927dac0, dt=<optimized out>) at /usr/src/debug/julia-1.9.0-3.fc38.x86_64/src/jltypes.c:1092
#18 inst_datatype_env (p=0x0, stack=0x0, env=0x0, c=0, ntp=2, iparams=0x15550927dac0, dt=<optimized out>) at /usr/src/debug/julia-1.9.0-3.fc38.x86_64/src/jltypes.c:1092
#19 ijl_apply_type (tc=<optimized out>, params=params@entry=0x15550927dac0, n=n@entry=2) at /usr/src/debug/julia-1.9.0-3.fc38.x86_64/src/jltypes.c:1108
#20 0x00001555548bb68a in intersect (x=0x155535ac5530 <jl_system_image_data+24393008>, y=y@entry=0x155538a4bcb0 <jl_system_image_data+74226864>, e=e@entry=0x155509282990, param=param@entry=2)
    at /usr/src/debug/julia-1.9.0-3.fc38.x86_64/src/subtype.c:3259
#21 0x00001555548bdbd2 in intersect_unionall_ (t=t@entry=0x155538a4bcb0 <jl_system_image_data+74226864>, u=<optimized out>, u@entry=0x155535ac5510 <jl_system_image_data+24392976>, 
    e=e@entry=0x155509282990, R=R@entry=0 '\000', param=param@entry=2, vb=vb@entry=0x15550927e980) at /usr/src/debug/julia-1.9.0-3.fc38.x86_64/src/subtype.c:2719
#22 0x00001555548bdfc1 in intersect_unionall (t=t@entry=0x155538a4bcb0 <jl_system_image_data+74226864>, u=u@entry=0x155535ac5510 <jl_system_image_data+24392976>, e=0x155509282990, 
    R=R@entry=0 '\000', param=param@entry=2) at /usr/src/debug/julia-1.9.0-3.fc38.x86_64/src/subtype.c:2764
#23 0x00001555548ba7dc in intersect (x=x@entry=0x155535ac5510 <jl_system_image_data+24392976>, y=y@entry=0x155538a4bcb0 <jl_system_image_data+74226864>, e=e@entry=0x155509282990, 
    param=param@entry=2) at /usr/src/debug/julia-1.9.0-3.fc38.x86_64/src/subtype.c:3228
#24 0x00001555548bc164 in intersect_invariant (x=0x155535ac5510 <jl_system_image_data+24392976>, y=0x155538a4bcb0 <jl_system_image_data+74226864>, e=e@entry=0x155509282990)
    at /usr/src/debug/julia-1.9.0-3.fc38.x86_64/src/subtype.c:2973
#25 0x00001555548bb609 in intersect (x=x@entry=0x155535ac54b0 <jl_system_image_data+24392880>, y=y@entry=0x155538a4bc50 <jl_system_image_data+74226768>, e=e@entry=0x155509282990, 
    param=param@entry=1) at /usr/src/debug/julia-1.9.0-3.fc38.x86_64/src/subtype.c:3251
guicho271828 commented 5 months ago

Repro'd in Julia 1.9.2 from Fedora 38. Segfaults when julia --project=. -e "using Pkg;Pkg.instantiate()"