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

julia 1.8.0 hangs on ubuntu_aarch64 during compilation #46431

Closed
Tom-python0121 opened this issue Aug 22, 2022 · 13 comments
Closed

julia 1.8.0 hangs on ubuntu_aarch64 during compilation #46431

Tom-python0121 opened this issue Aug 22, 2022 · 13 comments
Labels
building Build system, or building Julia or its dependencies system:arm ARMv7 and AArch64

Comments

@Tom-python0121
Copy link

Tom-python0121 commented Aug 22, 2022

hello,I meet a problem:[email protected] is suspended in ubuntu_aarch64 during compilation

Steps to reproduce the issue

root@ubuntu:julia-1.8.0#ls
base          CITATION.cff  contrib          deps  etc         julia            LICENSE.md  Make.inc   NEWS.md    src     sysimage.mk  THIRDPARTY.md  usr-staging
CITATION.bib  cli           CONTRIBUTING.md  doc   HISTORY.md  julia.spdx.json  Makefile    Make.user  README.md  stdlib  test         usr            VERSION
root@ubuntu:julia-1.8.0#make
……
Warning: git information unavailable; versioning information limited
    JULIA usr/lib/julia/corecompiler.ji
Core.Compiler ──── 124.924 seconds
    JULIA usr/lib/julia/sys.ji
coreio.jl
exports.jl
...
Generating REPL precompile statements... 25/40
Generating REPL precompile statements... 26/40
Generating REPL precompile statements... 27/40
Generating REPL precompile statements... 28/40
Generating REPL precompile statements... 29/40
Generating REPL precompile statements... 30/40
Generating REPL precompile statements... 31/40

It's hanging here. It's stuck.Can you tell me why?

Here's the execution information I caught:

Steps to reproduce the issue

root@ubuntu:~# ps -ef|grep julia
root       8652  61069  0 15:19 pts/2    00:00:00 make -s -C /root/julia-1.8.0 -f sysimage.mk sysimg-release
root       8820   8652  0 15:19 pts/2    00:00:00 /bin/sh -c printf '    %b %b\n' "\033[32;1m"JULIA"\033[0m" "\033[37;1m"usr/lib/julia/sys-o.a"\033[0m";  cd /root/julia-1.8.0/base && if ! JULIA_BINDIR=/root/julia-1.8.0/usr/bin WINEPATH="/root/julia-1.8.0/usr/bin;$WINEPATH" JULIA_NUM_THREADS=1  /root/julia-1.8.0/usr/bin/julia -O3 -C "generic" --output-o /root/julia-1.8.0/usr/lib/julia/sys-o.a.tmp  --startup-file=no --warn-overwrite=yes --sysimage /root/julia-1.8.0/usr/lib/julia/sys.ji /root/julia-1.8.0/contrib/generate_precompile.jl 1; then echo '*** This error is usually fixed by running `make clean`. If the error persists, try `make cleanall`. ***'; false; fi
root       8821   8820  2 15:19 pts/2    00:00:23 /root/julia-1.8.0/usr/bin/julia -O3 -C generic --output-o /root/julia-1.8.0/usr/lib/julia/sys-o.a.tmp --startup-file=no --warn-overwrite=yes --sysimage /root/julia-1.8.0/usr/lib/julia/sys.ji /root/julia-1.8.0/contrib/generate_precompile.jl 1
root      11050  11004  0 15:32 pts/1    00:00:00 grep --color=auto julia
@KristofferC
Copy link
Member

KristofferC commented Aug 22, 2022

Can you change

debug_output = devnull # or stdout
to stdout and rebuild and see what output it gets stuck on?

@Tom-python0121
Copy link
Author

Tom-python0121 commented Aug 22, 2022

@KristofferC I've changed, but the error is still reported:

Steps to reproduce the issue

root@ubuntu:julia-1.8.0# make -j126
Warning: git information unavailable; versioning information limited
Warning: git information unavailable; versioning information limited
...
Sysimage built. Summary:
Total ─────── 109.738493 seconds
Base: ───────  44.628636 seconds 40.6682%
Stdlibs: ────  65.107421 seconds 59.3296%
Warning: git information unavailable; versioning information limited
    JULIA usr/lib/julia/sys-o.a
Generating REPL precompile statements... 32/40

The message it hangs here:
root@ubuntu:~# ps -ef | grep julia
root      88799  87139  0 16:43 pts/1    00:00:00 make -s -C /root/julia-1.8.0 -f sysimage.mk sysimg-release
root      88928  88799  0 16:43 pts/1    00:00:00 /bin/sh -c printf '    %b %b\n' "\033[32;1m"JULIA"\033[0m" "\033[37;1m"usr/lib/julia/sys-o.a"\033[0m";  cd /root/julia-1.8.0/base && if ! JULIA_BINDIR=/root/julia-1.8.0/usr/bin WINEPATH="/root/julia-1.8.0/usr/bin;$WINEPATH" JULIA_NUM_THREADS=1  /root/julia-1.8.0/usr/bin/julia -O3 -C "generic" --output-o /root/julia-1.8.0/usr/lib/julia/sys-o.a.tmp  --startup-file=no --warn-overwrite=yes --sysimage /root/julia-1.8.0/usr/lib/julia/sys.ji /root/julia-1.8.0/contrib/generate_precompile.jl 1; then echo '*** This error is usually fixed by running `make clean`. If the error persists, try `make cleanall`. ***'; false; fi
root      88929  88928  1 16:43 pts/1    00:00:22 /root/julia-1.8.0/usr/bin/julia -O3 -C generic --output-o /root/julia-1.8.0/usr/lib/julia/sys-o.a.tmp --startup-file=no --warn-overwrite=yes --sysimage /root/julia-1.8.0/usr/lib/julia/sys.ji /root/julia-1.8.0/contrib/generate_precompile.jl 1
root      92736  91059  0 16:59 pts/1    00:00:00 make -s -C /root/julia-1.8.0 -f sysimage.mk sysimg-release
root      92863  92736  0 16:59 pts/1    00:00:00 /bin/sh -c printf '    %b %b\n' "\033[32;1m"JULIA"\033[0m" "\033[37;1m"usr/lib/julia/sys-o.a"\033[0m";  cd /root/julia-1.8.0/base && if ! JULIA_BINDIR=/root/julia-1.8.0/usr/bin WINEPATH="/root/julia-1.8.0/usr/bin;$WINEPATH" JULIA_NUM_THREADS=1  /root/julia-1.8.0/usr/bin/julia -O3 -C "generic" --output-o /root/julia-1.8.0/usr/lib/julia/sys-o.a.tmp  --startup-file=no --warn-overwrite=yes --sysimage /root/julia-1.8.0/usr/lib/julia/sys.ji /root/julia-1.8.0/contrib/generate_precompile.jl 1; then echo '*** This error is usually fixed by running `make clean`. If the error persists, try `make cleanall`. ***'; false; fi
root      92864  92863  4 16:59 pts/1    00:00:22 /root/julia-1.8.0/usr/bin/julia -O3 -C generic --output-o /root/julia-1.8.0/usr/lib/julia/sys-o.a.tmp --startup-file=no --warn-overwrite=yes --sysimage /root/julia-1.8.0/usr/lib/julia/sys.ji /root/julia-1.8.0/contrib/generate_precompile.jl 1
root      94754  93351  0 17:07 pts/3    00:00:00 grep --color=auto julia

@KristofferC
Copy link
Member

I wonder if that change took effect. For me, when I do that change I get debug output when that step is running:

Generating REPL precompile statements... 31/40
#### inputting statement: ####
"] add Te\t\t\x03"
####
(jl_g3XAnI) pkg>  add Test
TestPkg.jl/  TestPkg      Test
(jl_g3XAnI) pkg>  add Test^C

julia>

Generating REPL precompile statements... 32/40
#### inputting statement: ####
"] st"
####
(jl_g3XAnI) pkg>  st
Status `/tmp/jl_g3XAnI/Project.toml`
  [697152b3] TestPkg v0.1.0 `TestPkg.jl#master`

Generating REPL precompile statements... 33/40
#### inputting statement: ####
"\x03"
####
(jl_g3XAnI) pkg> ^C

@Tom-python0121
Copy link
Author

It doesn't actually work. It hangs there.

@KristofferC
Copy link
Member

I know... the point of this is only to gather more debug information. And changing debug_output to stdout is the way to do that. My earlier post shows what I get after doing that change (extra debug output).

@vtjnash
Copy link
Member

vtjnash commented Aug 31, 2022

That one often takes awhile for me too. Maybe it is the step that does #43006?

@torehl
Copy link

torehl commented Sep 23, 2022

Same issue here. Julialang 1.8.1. Compiled on Cavium ThunderX2 with gcc-11.2.0.

Hangs here:

Sysimage built. Summary:
Total ─────── 142.174099 seconds
Base: ─────── 57.377369 seconds 40.3571%
Stdlibs: ──── 84.793635 seconds 59.6407%
Warning: git information unavailable; versioning information limited
JULIA usr/lib/julia/sys-o.a
Generating REPL precompile statements... 32/40

and the thread was probably killed cause,

torel@n005:/work/torel/workspace/Julia/julia-1.8.1-aarch64$ ps -aef | grep 44336
torel     44336  44335  1 22:36 pts/0    00:00:28 /work/torel/workspace/Julia/julia-1.8.1-aarch64/usr/bin/julia -O3 -C native --output-o /work/torel/workspace/Julia/julia-1.8.1-aarch64/usr/lib/julia/sys-o.a.tmp --startup-file=no --warn-overwrite=yes --sysimage /work/torel/workspace/Julia/julia-1.8.1-aarch64/usr/lib/julia/sys.ji /work/torel/workspace/Julia/julia-1.8.1-aarch64/contrib/generate_precompile.jl 1
torel     49090  48321  0 23:10 pts/1    00:00:00 grep --color=auto 44336

torel@n005:/work/torel/workspace/Julia/julia-1.8.1-aarch64$ strace -p 44336
strace: Process 44336 attached
epoll_pwait(3, [], 1024, 25, NULL, 8)   = 0
epoll_pwait(3, [], 1024, 101, NULL, 8)  = 0
epoll_pwait(3, [], 1024, 0, NULL, 8)    = 0
epoll_pwait(3, [], 1024, 101, NULL, 8)  = 0
epoll_pwait(3, [], 1024, 0, NULL, 8)    = 0
epoll_pwait(3, [], 1024, 101, NULL, 8)  = 0
epoll_pwait(3, [], 1024, 0, NULL, 8)    = 0
epoll_pwait(3, [], 1024, 101, NULL, 8)  = 0
epoll_pwait(3, [], 1024, 0, NULL, 8)    = 0
epoll_pwait(3, ^Cstrace: Process 44336 detached
 <detached ...>

@torehl
Copy link

torehl commented Sep 23, 2022

julia/contrib/generate_precompile.jl

Changed it to stdout. Output

Generating REPL precompile statements... 31/40
#### inputting statement: ####
"] add Te\t\t\x03"
####
(jl_C10YXm) pkg>  add Test
TestPkg.jl/  TestPkg      Test
(jl_C10YXm) pkg>  add Test^C

julia> 

Generating REPL precompile statements... 32/40
#### inputting statement: ####
"] st"
####
(jl_C10YXm) pkg>  st

signal (11): Segmentation fault
in expression starting at none:0
== at ./float.jl:410 [inlined]
<= at ./float.jl:458
unknown function (ip: 0x400127eba9ef)
Allocations: 130029921 (Pool: 129963927; Big: 65994); GC: 121

@ViralBShah ViralBShah changed the title [email protected] is suspended in ubuntu_aarch64 during compilation julia 1.8.0 hangs on ubuntu_aarch64 during compilation Oct 31, 2022
@ViralBShah ViralBShah added the building Build system, or building Julia or its dependencies label Oct 31, 2022
@ViralBShah
Copy link
Member

Does this still happen on 1.8.2 or master? Please reopen if still an issue.

@giordano
Copy link
Contributor

giordano commented Jan 20, 2023

For the record, I just tried to compile julia master (57101cf) on ThunderX2 and it worked for me without any problems:

$ make -j40
[...]
Precompilation complete. Summary:
Total ─────── 176.628186 seconds
Outputting sysimage file...
Output ────── 373.058774 seconds
    LINK usr/lib/julia/sys.so
$ ./julia -q
julia> versioninfo()
Julia Version 1.10.0-DEV.407
Commit 57101cfddb (2023-01-20 09:04 UTC)
Platform Info:
  OS: Linux (aarch64-redhat-linux)
  CPU: 256 × unknown
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-14.0.6 (ORCJIT, thunderx2t99)
  Threads: 1 on 256 virtual cores
$ lscpu 
Architecture:        aarch64
Byte Order:          Little Endian
CPU(s):              256
On-line CPU(s) list: 0-255
Thread(s) per core:  4
Core(s) per socket:  32
Socket(s):           2
NUMA node(s):        2
Vendor ID:           Cavium
Model:               1
Model name:          ThunderX2 99xx
Stepping:            0x1
BogoMIPS:            400.00
L1d cache:           32K
L1i cache:           32K
L2 cache:            256K
L3 cache:            32768K
NUMA node0 CPU(s):   0-127
NUMA node1 CPU(s):   128-255
Flags:               fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics cpuid asimdrdm

Edit: it worked fine also on v1.8.2.

@ViralBShah ViralBShah added the system:arm ARMv7 and AArch64 label Jan 20, 2023
@giordano
Copy link
Contributor

But I do get a segfault on master during precompilation on the same machine as #46431 (comment)

Details
[37171] signal (11.1): Segmentation fault                                                                                                                                                                         
in expression starting at none:0                                                                                                                                                                                  
uv_write_async at ./stream.jl:1080                                                                                                                                                                                
uv_write at ./stream.jl:1037                                                                                                                                                                                      
unsafe_write at ./stream.jl:1120                                                                                                                                                                                  
unknown function (ip: 0x400125c0ffdf)                                                                                                                                                                             
_jl_invoke at /home/mose/repo/julia/src/gf.c:2692 [inlined]                                                                                                                                                       
ijl_apply_generic at /home/mose/repo/julia/src/gf.c:2874                                                                                                                                                          
unsafe_write at ./io.jl:430                                                                                                                                                                                       
write at ./strings/io.jl:244 [inlined]                                                                                                                                                                            
print at ./strings/io.jl:246 [inlined]                                                                                                                                                                            
banner at ./version.jl:301                                                                                                                                                                                        
unknown function (ip: 0x400125c0ad63)                                                                                                                                                                             
_jl_invoke at /home/mose/repo/julia/src/gf.c:2692 [inlined]                                                                                                                                                       
ijl_apply_generic at /home/mose/repo/julia/src/gf.c:2874                                                                                                                                                          
#1017 at ./client.jl:408                                                                                                                                                                                          
unknown function (ip: 0x400125c07693)                                                                                                                                                                             
_jl_invoke at /home/mose/repo/julia/src/gf.c:2692 [inlined]                                                                                                                                                       
ijl_apply_generic at /home/mose/repo/julia/src/gf.c:2874                                                                                                                                                          
jl_apply at /home/mose/repo/julia/src/julia.h:1880 [inlined]                                                                                                                                                      
jl_f__call_latest at /home/mose/repo/julia/src/builtins.c:778                                                                                                                                                     
#invokelatest#2 at ./essentials.jl:823 [inlined]                                                                                                                                                                  
invokelatest at ./essentials.jl:820 [inlined]                                                                                                                                                                     
run_main_repl at ./client.jl:405                                                                                                                                                                                  
exec_options at ./client.jl:322                                                                                                                                                                                   
_start at ./client.jl:522
unknown function (ip: 0x400013a5fc7f)
_jl_invoke at /home/mose/repo/julia/src/gf.c:2692 [inlined]
ijl_apply_generic at /home/mose/repo/julia/src/gf.c:2874
jl_apply at /home/mose/repo/julia/src/julia.h:1880 [inlined]
true_main at /home/mose/repo/julia/src/jlapi.c:573
jl_repl_entrypoint at /home/mose/repo/julia/src/jlapi.c:717
main at /home/mose/repo/julia/cli/loader_exe.c:58
└ Collect (Basic: ◑ , REPL 0/0: ◑ 264) => Execute ◑ 68__libc_start_main at /lib/aarch64-linux-gnu/libc.so.6 (unknown line)
_start at /home/mose/repo/julia/usr/bin/julia (unknown line)
_start at /home/mose/repo/julia/usr/bin/julia (unknown line)
Allocations: 1026717 (Pool: 1025797; Big: 920); GC: 1
└ Collect (Basic: ◒ , REPL 0/0: ◒ 264) => Execute ◒ 68
[37169] signal (11.1): Segmentation fault
in expression starting at none:3
cconvert at ./essentials.jl:499
unknown function (ip: 0x400125c18f13)
_jl_invoke at /home/mose/repo/julia/src/gf.c:2692 [inlined]
ijl_apply_generic at /home/mose/repo/julia/src/gf.c:2874
jl_apply at /home/mose/repo/julia/src/julia.h:1880 [inlined]
jl_f__call_in_world_total at /home/mose/repo/julia/src/builtins.c:816
_jl_invoke at /home/mose/repo/julia/src/gf.c:2692 [inlined]
ijl_apply_generic at /home/mose/repo/julia/src/gf.c:2874
jl_apply at /home/mose/repo/julia/src/julia.h:1880 [inlined]
do_apply at /home/mose/repo/julia/src/builtins.c:734
concrete_eval_call at ./compiler/abstractinterpretation.jl:895
abstract_call_method_with_const_args at ./compiler/abstractinterpretation.jl:1010
abstract_call_method_with_const_args at ./compiler/abstractinterpretation.jl:1001
abstract_call_gf_by_type at ./compiler/abstractinterpretation.jl:162
abstract_call_known at ./compiler/abstractinterpretation.jl:2060
unknown function (ip: 0x400013a377f3)
unknown function (ip: 0x4000139d668b)
unknown function (ip: 0x4000139d65f7)
abstract_call at ./compiler/abstractinterpretation.jl:2136
abstract_call at ./compiler/abstractinterpretation.jl:2110
abstract_eval_statement_expr at ./compiler/abstractinterpretation.jl:2282
abstract_eval_statement at ./compiler/abstractinterpretation.jl:2534
abstract_eval_basic_statement at ./compiler/abstractinterpretation.jl:2825
typeinf_local at ./compiler/abstractinterpretation.jl:3001
typeinf_nocycle at ./compiler/abstractinterpretation.jl:3089
_typeinf at ./compiler/typeinfer.jl:244
typeinf at ./compiler/typeinfer.jl:215
abstract_call_method_with_const_args at ./compiler/abstractinterpretation.jl:1059
abstract_call_method_with_const_args at ./compiler/abstractinterpretation.jl:1001
abstract_call_gf_by_type at ./compiler/abstractinterpretation.jl:162
abstract_call_known at ./compiler/abstractinterpretation.jl:2060
unknown function (ip: 0x400013a377f3)
unknown function (ip: 0x4000139d668b)
unknown function (ip: 0x4000139d65f7)
abstract_call at ./compiler/abstractinterpretation.jl:2136
abstract_call at ./compiler/abstractinterpretation.jl:2110
abstract_eval_statement_expr at ./compiler/abstractinterpretation.jl:2282
abstract_eval_statement at ./compiler/abstractinterpretation.jl:2534
abstract_eval_basic_statement at ./compiler/abstractinterpretation.jl:2825
typeinf_local at ./compiler/abstractinterpretation.jl:3001
typeinf_nocycle at ./compiler/abstractinterpretation.jl:3089
_typeinf at ./compiler/typeinfer.jl:244
typeinf at ./compiler/typeinfer.jl:215
abstract_call_method_with_const_args at ./compiler/abstractinterpretation.jl:1059
abstract_call_method_with_const_args at ./compiler/abstractinterpretation.jl:1001
abstract_call_gf_by_type at ./compiler/abstractinterpretation.jl:162
abstract_call_known at ./compiler/abstractinterpretation.jl:2060
unknown function (ip: 0x400013a377f3)
unknown function (ip: 0x4000139d668b)
unknown function (ip: 0x4000139d65f7)
abstract_call at ./compiler/abstractinterpretation.jl:2136
abstract_call at ./compiler/abstractinterpretation.jl:2110
abstract_eval_statement_expr at ./compiler/abstractinterpretation.jl:2282
abstract_eval_statement at ./compiler/abstractinterpretation.jl:2534
abstract_eval_basic_statement at ./compiler/abstractinterpretation.jl:2825
typeinf_local at ./compiler/abstractinterpretation.jl:3001
typeinf_nocycle at ./compiler/abstractinterpretation.jl:3089
_typeinf at ./compiler/typeinfer.jl:244
typeinf at ./compiler/typeinfer.jl:215
abstract_call_method_with_const_args at ./compiler/abstractinterpretation.jl:1059
abstract_call_method_with_const_args at ./compiler/abstractinterpretation.jl:1001
abstract_call_gf_by_type at ./compiler/abstractinterpretation.jl:162
abstract_call_known at ./compiler/abstractinterpretation.jl:2060
unknown function (ip: 0x400013a377f3)
unknown function (ip: 0x4000139d668b)
unknown function (ip: 0x4000139d65f7)
abstract_call at ./compiler/abstractinterpretation.jl:2136
abstract_call at ./compiler/abstractinterpretation.jl:2110
abstract_eval_statement_expr at ./compiler/abstractinterpretation.jl:2282
abstract_eval_statement at ./compiler/abstractinterpretation.jl:2534
abstract_eval_basic_statement at ./compiler/abstractinterpretation.jl:2801
typeinf_local at ./compiler/abstractinterpretation.jl:3001
typeinf_nocycle at ./compiler/abstractinterpretation.jl:3089
_typeinf at ./compiler/typeinfer.jl:244
typeinf at ./compiler/typeinfer.jl:215
typeinf_edge at ./compiler/typeinfer.jl:925
abstract_call_method at ./compiler/abstractinterpretation.jl:657
abstract_call_gf_by_type at ./compiler/abstractinterpretation.jl:154
abstract_call_known at ./compiler/abstractinterpretation.jl:2060
unknown function (ip: 0x400013a377f3)
unknown function (ip: 0x400013a240eb)
unknown function (ip: 0x400013a24057)
abstract_call at ./compiler/abstractinterpretation.jl:2136
abstract_apply at ./compiler/abstractinterpretation.jl:1606
abstract_call_known at ./compiler/abstractinterpretation.jl:1971
unknown function (ip: 0x400013a377f3)
unknown function (ip: 0x4000139d668b)
unknown function (ip: 0x4000139d65f7)
abstract_call at ./compiler/abstractinterpretation.jl:2136
abstract_call at ./compiler/abstractinterpretation.jl:2110
abstract_eval_statement_expr at ./compiler/abstractinterpretation.jl:2282
abstract_eval_statement at ./compiler/abstractinterpretation.jl:2534
abstract_eval_basic_statement at ./compiler/abstractinterpretation.jl:2825
typeinf_local at ./compiler/abstractinterpretation.jl:3001
typeinf_nocycle at ./compiler/abstractinterpretation.jl:3089
_typeinf at ./compiler/typeinfer.jl:244
typeinf at ./compiler/typeinfer.jl:215                                                                                                                                                                            
typeinf_edge at ./compiler/typeinfer.jl:925                                                                                                                                                                       
abstract_call_method at ./compiler/abstractinterpretation.jl:657                                                                                                                                                  
abstract_call_gf_by_type at ./compiler/abstractinterpretation.jl:154
abstract_call_known at ./compiler/abstractinterpretation.jl:2060
unknown function (ip: 0x400013a377f3)
unknown function (ip: 0x400013a240eb)
unknown function (ip: 0x400013a24057)
abstract_call at ./compiler/abstractinterpretation.jl:2136
abstract_apply at ./compiler/abstractinterpretation.jl:1606
abstract_call_known at ./compiler/abstractinterpretation.jl:1971
unknown function (ip: 0x400013a377f3)
unknown function (ip: 0x4000139d668b)
unknown function (ip: 0x4000139d65f7)
abstract_call at ./compiler/abstractinterpretation.jl:2136
abstract_call at ./compiler/abstractinterpretation.jl:2110
abstract_eval_statement_expr at ./compiler/abstractinterpretation.jl:2282
abstract_eval_statement at ./compiler/abstractinterpretation.jl:2534
abstract_eval_basic_statement at ./compiler/abstractinterpretation.jl:2825
typeinf_local at ./compiler/abstractinterpretation.jl:3001
typeinf_nocycle at ./compiler/abstractinterpretation.jl:3089
_typeinf at ./compiler/typeinfer.jl:244
typeinf at ./compiler/typeinfer.jl:215
typeinf_edge at ./compiler/typeinfer.jl:925
abstract_call_method at ./compiler/abstractinterpretation.jl:657
abstract_call_gf_by_type at ./compiler/abstractinterpretation.jl:154
abstract_call_known at ./compiler/abstractinterpretation.jl:2060
unknown function (ip: 0x400013a377f3)
unknown function (ip: 0x4000139d668b)
unknown function (ip: 0x4000139d65f7)
abstract_call at ./compiler/abstractinterpretation.jl:2136
abstract_call at ./compiler/abstractinterpretation.jl:2110
abstract_eval_statement_expr at ./compiler/abstractinterpretation.jl:2282
abstract_eval_statement at ./compiler/abstractinterpretation.jl:2534
abstract_eval_basic_statement at ./compiler/abstractinterpretation.jl:2825
typeinf_local at ./compiler/abstractinterpretation.jl:3001
typeinf_nocycle at ./compiler/abstractinterpretation.jl:3089
_typeinf at ./compiler/typeinfer.jl:244
typeinf at ./compiler/typeinfer.jl:215
typeinf_edge at ./compiler/typeinfer.jl:925
abstract_call_method at ./compiler/abstractinterpretation.jl:657
abstract_call_gf_by_type at ./compiler/abstractinterpretation.jl:154
abstract_call_known at ./compiler/abstractinterpretation.jl:2060
unknown function (ip: 0x400013a377f3)
unknown function (ip: 0x400013a240eb)
unknown function (ip: 0x4000139d65f7)
abstract_call at ./compiler/abstractinterpretation.jl:2136
abstract_call at ./compiler/abstractinterpretation.jl:2110
abstract_eval_statement_expr at ./compiler/abstractinterpretation.jl:2282
abstract_eval_statement at ./compiler/abstractinterpretation.jl:2534
abstract_eval_basic_statement at ./compiler/abstractinterpretation.jl:2825
typeinf_local at ./compiler/abstractinterpretation.jl:3001
typeinf_nocycle at ./compiler/abstractinterpretation.jl:3089
_typeinf at ./compiler/typeinfer.jl:244
typeinf at ./compiler/typeinfer.jl:215
typeinf_edge at ./compiler/typeinfer.jl:925
abstract_call_method at ./compiler/abstractinterpretation.jl:657
abstract_call_gf_by_type at ./compiler/abstractinterpretation.jl:154
abstract_call_known at ./compiler/abstractinterpretation.jl:2060
unknown function (ip: 0x400013a377f3)
unknown function (ip: 0x4000139d668b)
unknown function (ip: 0x4000139d65f7)
abstract_call at ./compiler/abstractinterpretation.jl:2136
abstract_call at ./compiler/abstractinterpretation.jl:2110
abstract_eval_statement_expr at ./compiler/abstractinterpretation.jl:2282
abstract_eval_statement at ./compiler/abstractinterpretation.jl:2534
abstract_eval_basic_statement at ./compiler/abstractinterpretation.jl:2825
typeinf_local at ./compiler/abstractinterpretation.jl:3001
typeinf_nocycle at ./compiler/abstractinterpretation.jl:3089
_typeinf at ./compiler/typeinfer.jl:244
typeinf at ./compiler/typeinfer.jl:215
typeinf_edge at ./compiler/typeinfer.jl:925                                                                                                                                                               [30/980]
abstract_call_method at ./compiler/abstractinterpretation.jl:657
abstract_call_gf_by_type at ./compiler/abstractinterpretation.jl:154
abstract_call_known at ./compiler/abstractinterpretation.jl:2060
unknown function (ip: 0x400013a377f3)
unknown function (ip: 0x4000139d668b)
unknown function (ip: 0x4000139d65f7)
abstract_call at ./compiler/abstractinterpretation.jl:2136
abstract_call at ./compiler/abstractinterpretation.jl:2110
abstract_eval_statement_expr at ./compiler/abstractinterpretation.jl:2282
abstract_eval_statement at ./compiler/abstractinterpretation.jl:2534
abstract_eval_basic_statement at ./compiler/abstractinterpretation.jl:2825
typeinf_local at ./compiler/abstractinterpretation.jl:3001
typeinf_nocycle at ./compiler/abstractinterpretation.jl:3089
_typeinf at ./compiler/typeinfer.jl:244
typeinf at ./compiler/typeinfer.jl:215
typeinf_edge at ./compiler/typeinfer.jl:925
abstract_call_method at ./compiler/abstractinterpretation.jl:657
abstract_call_gf_by_type at ./compiler/abstractinterpretation.jl:154
abstract_call_known at ./compiler/abstractinterpretation.jl:2060
unknown function (ip: 0x400013a377f3)
unknown function (ip: 0x4000139d668b)
unknown function (ip: 0x4000139d65f7)
abstract_call at ./compiler/abstractinterpretation.jl:2136
abstract_call at ./compiler/abstractinterpretation.jl:2110
abstract_eval_statement_expr at ./compiler/abstractinterpretation.jl:2282
abstract_eval_statement at ./compiler/abstractinterpretation.jl:2534
abstract_eval_basic_statement at ./compiler/abstractinterpretation.jl:2825
typeinf_local at ./compiler/abstractinterpretation.jl:3001
typeinf_nocycle at ./compiler/abstractinterpretation.jl:3089
_typeinf at ./compiler/typeinfer.jl:244
typeinf at ./compiler/typeinfer.jl:215
typeinf_ext at ./compiler/typeinfer.jl:1050
typeinf_ext_toplevel at ./compiler/typeinfer.jl:1083
typeinf_ext_toplevel at ./compiler/typeinfer.jl:1079
unknown function (ip: 0x4000139eefe3)
_jl_invoke at /home/mose/repo/julia/src/gf.c:2692 [inlined]
ijl_apply_generic at /home/mose/repo/julia/src/gf.c:2874
jl_apply at /home/mose/repo/julia/src/julia.h:1880 [inlined]
jl_type_infer at /home/mose/repo/julia/src/gf.c:317
jl_generate_fptr_impl at /home/mose/repo/julia/src/jitlayers.cpp:431
jl_compile_method_internal at /home/mose/repo/julia/src/gf.c:2287
_jl_invoke at /home/mose/repo/julia/src/gf.c:2684 [inlined]
ijl_apply_generic at /home/mose/repo/julia/src/gf.c:2874
create_expr_cache at ./loading.jl:2002
compilecache at ./loading.jl:2105
compilecache at ./loading.jl:2071
unknown function (ip: 0x400013a6083f)
ijl_apply_generic at /home/mose/repo/julia/src/gf.c:2874
jl_apply at /home/mose/repo/julia/src/julia.h:1880 [inlined]
do_call at /home/mose/repo/julia/src/interpreter.c:125
eval_value at /home/mose/repo/julia/src/interpreter.c:222
eval_stmt_value at /home/mose/repo/julia/src/interpreter.c:173 [inlined]
eval_body at /home/mose/repo/julia/src/interpreter.c:620
jl_interpret_toplevel_thunk at /home/mose/repo/julia/src/interpreter.c:758
jl_toplevel_eval_flex at /home/mose/repo/julia/src/toplevel.c:909
└ Collect (Basic: ◐ , REPL 0/0: ◐ 264) => Execute ◐ 68jl_toplevel_eval_flex at /home/mose/repo/julia/src/toplevel.c:853
ijl_toplevel_eval_in at /home/mose/repo/julia/src/toplevel.c:968
eval at ./boot.jl:370 [inlined]
exec_options at ./client.jl:280
_start at ./client.jl:522
unknown function (ip: 0x400013a5fc7f)
_jl_invoke at /home/mose/repo/julia/src/gf.c:2692 [inlined]
ijl_apply_generic at /home/mose/repo/julia/src/gf.c:2874
jl_apply at /home/mose/repo/julia/src/julia.h:1880 [inlined]
true_main at /home/mose/repo/julia/src/jlapi.c:573
jl_repl_entrypoint at /home/mose/repo/julia/src/jlapi.c:717
main at /home/mose/repo/julia/cli/loader_exe.c:58
__libc_start_main at /lib/aarch64-linux-gnu/libc.so.6 (unknown line)
_start at /home/mose/repo/julia/usr/bin/julia (unknown line)
_start at /home/mose/repo/julia/usr/bin/julia (unknown line)
Allocations: 1026717 (Pool: 1025797; Big: 920); GC: 1
$ lscpu 
Architecture:        aarch64
Byte Order:          Little Endian
CPU(s):              256
On-line CPU(s) list: 0-255
Thread(s) per core:  4
Core(s) per socket:  32
Socket(s):           2
NUMA node(s):        2
Vendor ID:           Cavium
Model:               1
Model name:          ThunderX2 99xx
Stepping:            0x1
CPU max MHz:         2500.0000
CPU min MHz:         1000.0000
BogoMIPS:            400.00
L1d cache:           32K
L1i cache:           32K
L2 cache:            256K
L3 cache:            32768K
NUMA node0 CPU(s):   0-127
NUMA node1 CPU(s):   128-255
Flags:               fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics cpuid asimdrdm

@giordano giordano reopened this Jan 20, 2023
@giordano
Copy link
Contributor

#45859 fixes the segfault during compilation on ThunderX2 as reported by #46431 (comment) (CC: @torehl):

$ make -j60
[...]
Sysimage built. Summary:
Base ────────  58.397284 seconds 42.3684%
Stdlibs ─────  79.430577 seconds 57.6285%
Total ─────── 137.832032 seconds
    JULIA usr/lib/julia/sys-o.a
Collecting and executing precompile statements
└ Collect (Basic: ✓ 794, REPL 41/41: ✓ 1910) => Execute ✓ 2004
Precompilation complete. Summary:
Total ─────── 308.129108 seconds
Outputting sysimage file...
Output ────── 372.185223 seconds
    LINK usr/lib/julia/sys.so
$ ./julia -q
julia> versioninfo()
Julia Version 1.10.0-DEV.635
Commit 1d17838698 (2023-02-17 20:22 UTC)
Platform Info:
  OS: Linux (aarch64-linux-gnu)
  CPU: 256 × unknown
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-15.0.7 (ORCJIT, thunderx2t99)
  Threads: 1 on 256 virtual cores

@Tom-python0121 can you please verify if also your problems are solved by #45859?

@ViralBShah
Copy link
Member

ViralBShah commented Jun 9, 2023

Given that we are now on 1.9, we are unlikely to look at 1.8 compilation hangs. But if this is still an issue, let's update the title and reopen.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
building Build system, or building Julia or its dependencies system:arm ARMv7 and AArch64
Projects
None yet
Development

No branches or pull requests

6 participants