JuliaLang / julia

The Julia Programming Language
https://julialang.org/
MIT License
45.46k stars 5.46k forks source link

Version 0.5 release test errors on AMD opteron #18701

Closed floswald closed 6 years ago

floswald commented 7 years ago

i found test errors on this machine with the pre-compiled generic 64-bit unix binary from the website. cpuinfo at the bottom.

[uctpfos@jake bin]$ ./julia
               _
   _       _ _(_)_     |  A fresh approach to technical computing
  (_)     | (_) (_)    |  Documentation: http://docs.julialang.org
   _ _   _| |_  __ _   |  Type "?help" for help.
  | | | | | | |/ _` |  |
  | | |_| | | | (_| |  |  Version 0.5.0 (2016-09-19 18:14 UTC)
 _/ |\__'_|_|_|\__'_|  |  Official http://julialang.org/ release
|__/                   |  x86_64-pc-linux-gnu

julia> versioninfo()
Julia Version 0.5.0
Commit 3c9d753 (2016-09-19 18:14 UTC)
Platform Info:
  System: Linux (x86_64-pc-linux-gnu)
  CPU: AMD Opteron (tm) Processor 875
  WORD_SIZE: 64
  BLAS: libopenblas (USE64BITINT DYNAMIC_ARCH NO_AFFINITY Opteron)
  LAPACK: libopenblas64_
  LIBM: libopenlibm
  LLVM: libLLVM-3.7.1 (ORCJIT, k8-sse3)

julia> Base.runtests()
    From worker 4:       * linalg/dense          in 123.16 seconds, maxrss  293.28 MB
    From worker 4:       * linalg/schur          in  13.79 seconds, maxrss  298.88 MB
    From worker 4:       * linalg/special        in   6.70 seconds, maxrss  302.77 MB
    From worker 3:       * linalg/qr             in 186.86 seconds, maxrss  361.80 MB
    From worker 4:       * linalg/eigen          in  89.13 seconds, maxrss  336.70 MB
    From worker 4:       * linalg/svd            in  19.99 seconds, maxrss  341.55 MB
    From worker 5:       * linalg/matmul         in 263.13 seconds, maxrss  297.06 MB
    From worker 3:       * linalg/bunchkaufman   in  85.34 seconds, maxrss  407.07 MB
    From worker 4:       * linalg/lapack         in  48.21 seconds, maxrss  366.49 MB
    From worker 5:       * linalg/tridiag        in  67.13 seconds, maxrss  316.03 MB
    From worker 3:       * linalg/bidiag         in  63.95 seconds, maxrss  425.74 MB
    From worker 3:       * linalg/givens         in   8.21 seconds, maxrss  429.08 MB
    From worker 5:       * linalg/pinv           in  19.11 seconds, maxrss  397.69 MB
    From worker 4:       * linalg/diagonal       in  96.17 seconds, maxrss  406.78 MB
    From worker 3:       * linalg/cholesky       in  60.76 seconds, maxrss  452.38 MB
    From worker 3:       * linalg/generic        in  12.32 seconds, maxrss  455.77 MB
    From worker 4:       * linalg/symmetric      in  22.10 seconds, maxrss  423.08 MB
    From worker 5:       * linalg/lu             in  91.20 seconds, maxrss  406.02 MB
    From worker 5:       * linalg/hessenberg     in   2.02 seconds, maxrss  406.16 MB
    From worker 3:       * linalg/uniformscaling in  55.13 seconds, maxrss  465.04 MB
    From worker 5:       * linalg/arnoldi        in  55.55 seconds, maxrss  420.86 MB
WARNING: Method definition f(Tuple{Vararg{Int64, #N<:Any}}, AbstractArray{#T<:Any, #N<:Any}) in module Main at /share/apps/econ/acapp/julia-binary/julia-0.5.0/share/julia/test/core.jl:706 overwritten at /share/apps/econ/acapp/julia-binary/julia-0.5.0/share/julia/test/core.jl:712.
WARNING: Method definition f() in module JLCall14301 at /share/apps/econ/acapp/julia-binary/julia-0.5.0/share/julia/test/core.jl:3529 overwritten at /share/apps/econ/acapp/julia-binary/julia-0.5.0/share/julia/test/core.jl:3539.
    From worker 4:       * linalg/lq             in 103.04 seconds, maxrss  479.79 MB
    From worker 4:       * inference             in   1.97 seconds, maxrss  480.71 MB
    From worker 4:       * keywordargs           in   2.61 seconds, maxrss  481.15 MB
    From worker 5:       * core                  in  56.72 seconds, maxrss  439.98 MB
    From worker 5:       * printf                in  28.63 seconds, maxrss  449.80 MB
    From worker 5:       * char                  in   1.52 seconds, maxrss  451.86 MB
    From worker 5:       * string                in  20.79 seconds, maxrss  461.29 MB
    From worker 5:       * triplequote           in   0.03 seconds, maxrss  461.29 MB
    From worker 5:       * unicode               in   8.02 seconds, maxrss  471.84 MB
    From worker 2:       * linalg/triangular     in 616.48 seconds, maxrss  643.82 MB
    From worker 2:       * dict                  in  22.60 seconds, maxrss  662.04 MB
    From worker 2:       * hashing               in  12.54 seconds, maxrss  673.96 MB
    From worker 2:       * iobuffer              in   2.07 seconds, maxrss  677.28 MB
    From worker 2:       * staged                in   1.88 seconds, maxrss  677.43 MB
    From worker 5:       * dates                 in  74.69 seconds, maxrss  526.62 MB
    From worker 4:       * numbers               in 176.40 seconds, maxrss  584.61 MB
    From worker 4:       * tuple                 in   3.96 seconds, maxrss  592.83 MB
WARNING: could not attach metadata for @simd loop.
    From worker 4:       * reduce                in   8.02 seconds, maxrss  617.88 MB
    From worker 4:       * reducedim             in  29.81 seconds, maxrss  631.23 MB
    From worker 2:       * offsetarray           in 111.26 seconds, maxrss  772.52 MB
    From worker 4:       * random                in  23.18 seconds, maxrss  647.61 MB
    From worker 4:       * intfuncs              in   1.50 seconds, maxrss  648.48 MB
    From worker 4:       * simdloop              in   2.64 seconds, maxrss  649.71 MB
    From worker 4:       * vecelement            in   4.20 seconds, maxrss  655.36 MB
    From worker 5:       * arrayops              in  92.77 seconds, maxrss  698.94 MB
    From worker 4:       * blas                  in  62.11 seconds, maxrss  689.22 MB
    From worker 2:       * abstractarray         in 162.70 seconds, maxrss  814.13 MB
    From worker 2:       * copy                  in   3.23 seconds, maxrss  814.13 MB
    From worker 2:       * math                  in  93.96 seconds, maxrss  875.20 MB
    From worker 2:       * fastmath              in   7.65 seconds, maxrss  879.32 MB
    From worker 2:       * functional            in  61.64 seconds, maxrss  927.66 MB
    From worker 2:       * operators             in   1.15 seconds, maxrss  930.47 MB
    From worker 2:       * path                  in   9.18 seconds, maxrss  946.10 MB
    From worker 2:       * ccall                 in   9.79 seconds, maxrss  947.01 MB
    From worker 2:       * parse                 in   6.90 seconds, maxrss  948.73 MB
    From worker 2:       * loading               in   0.14 seconds, maxrss  948.76 MB
    From worker 2:       * bigint                in   6.28 seconds, maxrss  954.19 MB
    From worker 2:       * bigfloat              in   0.43 seconds, maxrss  954.19 MB
    From worker 3:       * subarray              in 671.55 seconds, maxrss  864.26 MB
    From worker 3:       * statistics            in  20.75 seconds, maxrss  883.43 MB
    From worker 3:       * spawn                       [stdio passthrough ok]
    From worker 3:   in  31.12 seconds, maxrss  906.12 MB
    From worker 3:       * backtrace             in   1.51 seconds, maxrss  910.08 MB
    From worker 3:       * priorityqueue         in   3.07 seconds, maxrss  927.06 MB
    From worker 2:       * sorting               in  82.53 seconds, maxrss  986.27 MB
    From worker 2:       * read                  in  37.47 seconds, maxrss 1048.63 MB
    From worker 3:       * file                  in  50.45 seconds, maxrss  930.84 MB
    From worker 3:       * version               in   2.22 seconds, maxrss  930.84 MB
    From worker 3:       * resolve               in   8.09 seconds, maxrss  930.84 MB
    From worker 3:       * pollfd                in   4.37 seconds, maxrss  930.84 MB
    From worker 3:       * mpfr                  in   7.58 seconds, maxrss  930.84 MB
    From worker 2:       * mmap                  in  35.81 seconds, maxrss 1048.66 MB
    From worker 2:       * complex               in  12.63 seconds, maxrss 1048.66 MB
    From worker 2:       * socket                   From worker 6:       * floatapprox           in   2.30 seconds, maxrss  201.27 MB
    From worker 5:       * sparse                in 540.57 seconds, maxrss  817.90 MB
    From worker 6:       * datafmt               in  14.22 seconds, maxrss  206.28 MB
    From worker 6:       * regex                 in   0.88 seconds, maxrss  207.53 MB
    From worker 6:       * float16               in   2.56 seconds, maxrss  209.66 MB
    From worker 6:       * combinatorics         in   1.07 seconds, maxrss  210.61 MB
    From worker 6:       * sysinfo               in   1.16 seconds, maxrss  215.94 MB
    From worker 3:       * broadcast             in  58.39 seconds, maxrss  977.64 MB
    From worker 6:       * env                   in   1.01 seconds, maxrss  216.10 MB
    From worker 5:       * reflection            in  11.14 seconds, maxrss  819.56 MB
    From worker 5:       * mod2pi                in   0.32 seconds, maxrss  819.61 MB
    From worker 3:       * rounding              in   1.75 seconds, maxrss  981.58 MB
    From worker 5:       * euler                 in   1.65 seconds, maxrss  821.68 MB
    From worker 5:       * lineedit              in   6.34 seconds, maxrss  822.93 MB
    From worker 5:       * replcompletions       in   7.23 seconds, maxrss  825.34 MB
    From worker 5:       * repl                  in  10.06 seconds, maxrss  825.60 MB
    From worker 3:       * show                  in  34.23 seconds, maxrss 1012.71 MB
    From worker 5:       * replutil              in  10.16 seconds, maxrss  835.75 MB
    From worker 6:       * ranges                in  38.43 seconds, maxrss  244.61 MB
    From worker 6:       * goto                  in   0.08 seconds, maxrss  244.61 MB
    From worker 6:       * llvmcall              in   0.33 seconds, maxrss  244.93 MB
    From worker 3:       * sets                  in   6.43 seconds, maxrss 1012.71 MB
    From worker 6:       * grisu                 in   4.16 seconds, maxrss  248.33 MB
    From worker 6:       * meta                  in   0.93 seconds, maxrss  258.08 MB
    From worker 6:       * stacktraces           in   2.48 seconds, maxrss  261.70 MB
    From worker 6:       * profile               in   5.56 seconds, maxrss  273.95 MB
    From worker 5:       * test                  in  15.91 seconds, maxrss  851.17 MB
    From worker 5:       * docs                  in   7.36 seconds, maxrss  861.64 MB
    From worker 3:       * nullable              in  24.36 seconds, maxrss 1016.71 MB
    From worker 3:       * base64                in   0.65 seconds, maxrss 1019.35 MB
    From worker 5:       * markdown              in   7.85 seconds, maxrss  866.54 MB
    From worker 6:       * libgit2               in  25.81 seconds, maxrss  314.61 MB
Warning: threaded loop executed in order
    From worker 3:       * serialize             in  11.33 seconds, maxrss 1026.69 MB
    From worker 3:       * enums                 in   3.47 seconds, maxrss 1030.72 MB

signal (4): Illegal instruction
while loading /share/apps/econ/acapp/julia-binary/julia-0.5.0/share/julia/test/threads.jl, in expression starting on line 271
setindex! at ./atomics.jl:187
unknown function (ip: 0x7fc709cd8a69)
jl_call_method_internal at /home/centos/buildbot/slave/package_tarball64/build/src/julia_internal.h:189 [inlined]
jl_apply_generic at /home/centos/buildbot/slave/package_tarball64/build/src/gf.c:1942
macro expansion; at /share/apps/econ/acapp/julia-binary/julia-0.5.0/share/julia/test/threads.jl:281 [inlined]
anonymous at ./<missing> (unknown line)
unknown function (ip: 0x7fc709cd808f)
jl_call_method_internal at /home/centos/buildbot/slave/package_tarball64/build/src/julia_internal.h:189 [inlined]
jl_toplevel_eval_flex at /home/centos/buildbot/slave/package_tarball64/build/src/toplevel.c:569
jl_parse_eval_all at /home/centos/buildbot/slave/package_tarball64/build/src/ast.c:717
include_string at ./loading.jl:441
unknown function (ip: 0x7fc927196f5f)
jl_call_method_internal at /home/centos/buildbot/slave/package_tarball64/build/src/julia_internal.h:189 [inlined]
jl_apply_generic at /home/centos/buildbot/slave/package_tarball64/build/src/gf.c:1942
include_from_node1 at ./loading.jl:491
unknown function (ip: 0x7fc9270aed0b)
jl_call_method_internal at /home/centos/buildbot/slave/package_tarball64/build/src/julia_internal.h:189 [inlined]
jl_apply_generic at /home/centos/buildbot/slave/package_tarball64/build/src/gf.c:1942
macro expansion at ./util.jl:226 [inlined]
runtests at /share/apps/econ/acapp/julia-binary/julia-0.5.0/share/julia/test/testdefs.jl:7
#16 at /share/apps/econ/acapp/julia-binary/julia-0.5.0/share/julia/test/runtests.jl:44
unknown function (ip: 0x7fc70cb95292)
jl_call_method_internal at /home/centos/buildbot/slave/package_tarball64/build/src/julia_internal.h:189 [inlined]
jl_apply_generic at /home/centos/buildbot/slave/package_tarball64/build/src/gf.c:1942
jl_apply at /home/centos/buildbot/slave/package_tarball64/build/src/julia.h:1392 [inlined]
jl_f__apply at /home/centos/buildbot/slave/package_tarball64/build/src/builtins.c:547
#625 at ./multi.jl:1421
run_work_thunk at ./multi.jl:1001
macro expansion at ./multi.jl:1421 [inlined]
#624 at ./event.jl:68
jl_call_method_internal at /home/centos/buildbot/slave/package_tarball64/build/src/julia_internal.h:189 [inlined]
jl_apply_generic at /home/centos/buildbot/slave/package_tarball64/build/src/gf.c:1942
jl_apply at /home/centos/buildbot/slave/package_tarball64/build/src/julia.h:1392 [inlined]
start_task at /home/centos/buildbot/slave/package_tarball64/build/src/task.c:253
unknown function (ip: 0xffffffffffffffff)
Allocations: 101591604 (Pool: 101587505; Big: 4099); GC: 309
    From worker 6:       * threads              Worker 6 terminated.
ERROR (unhandled task failure): EOFError: read end of file
    From worker 7:       * i18n                  in   0.42 seconds, maxrss  198.60 MB
    From worker 7:       * workspace             in   1.81 seconds, maxrss  198.60 MB
    From worker 7:       * libdl                 in   1.37 seconds, maxrss  202.15 MB
    From worker 4:       * bitarray              in 589.31 seconds, maxrss  760.18 MB
    From worker 7:       * int                   in   7.70 seconds, maxrss  202.15 MB
    From worker 5:       * misc                  in  33.43 seconds, maxrss  972.38 MB
    From worker 7:       * intset                in   1.12 seconds, maxrss  202.15 MB
    From worker 5:       * floatfuncs            in   5.61 seconds, maxrss  972.38 MB
    From worker 5:       * inline                in   0.30 seconds, maxrss  972.38 MB
    From worker 5:       * boundscheck           in   5.41 seconds, maxrss  972.38 MB
    From worker 5:       * error                 in   1.04 seconds, maxrss  972.38 MB
WARNING: Forcibly interrupting busy workers
WARNING: Method definition ambig(Any, Integer) in module Main at /share/apps/econ/acapp/julia-binary/julia-0.5.0/share/julia/test/ambiguous.jl:7 overwritten at /share/apps/econ/acapp/julia-binary/julia-0.5.0/share/julia/test/ambiguous.jl:79.
WARNING: rmprocs: process 1 not removed
    From worker 5:       * ambiguous            Skipping Base.<|
    From worker 5:  Skipping Base.>:
    From worker 5:  Skipping Base.active_repl
    From worker 5:  Skipping Base.active_repl_backend
    From worker 5:   in   1.88 seconds, maxrss  972.38 MB
    From worker 5:       * cartesian             in   0.03 seconds, maxrss  972.38 MB
    From worker 4:       * checked               in  22.66 seconds, maxrss  776.43 MB
    From worker 4:       * dsp                   in  21.42 seconds, maxrss  777.34 MB
    From worker 5:       * fft                   in  49.30 seconds, maxrss  972.38 MB
    From worker 4:       * examples              in  58.56 seconds, maxrss  777.34 MB
WARNING: Forcibly interrupting busy workers
WARNING: rmprocs: process 1 not removed
    From worker 7:       * parallel              in 157.50 seconds, maxrss  202.15 MB
    From worker 3:       * cmdlineargs           in 185.12 seconds, maxrss 1058.88 MB
Exception running test socket :
On worker 2:
LoadError: bind: address family not supported (EAFNOSUPPORT)
 in #bind#388 at ./socket.jl:418
 in bind at ./socket.jl:404
 in include_string at ./loading.jl:441
 in include_from_node1 at ./loading.jl:491
 in macro expansion at ./util.jl:226 [inlined]
 in runtests at /share/apps/econ/acapp/julia-binary/julia-0.5.0/share/julia/test/testdefs.jl:7
 in #16 at /share/apps/econ/acapp/julia-binary/julia-0.5.0/share/julia/test/runtests.jl:44
 in #625 at ./multi.jl:1421
 in run_work_thunk at ./multi.jl:1001
 in macro expansion at ./multi.jl:1421 [inlined]
 in #624 at ./event.jl:68
while loading /share/apps/econ/acapp/julia-binary/julia-0.5.0/share/julia/test/socket.jl, in expression starting on line 177
Exception running test threads :
ProcessExitedException()
ERROR: LoadError: Some tests exited with errors.
 in (::##11#19)() at /share/apps/econ/acapp/julia-binary/julia-0.5.0/share/julia/test/runtests.jl:72
 in cd(::##11#19, ::String) at ./file.jl:59
 in include_from_node1(::String) at ./loading.jl:488
 in process_options(::Base.JLOptions) at ./client.jl:262
 in _start() at ./client.jl:318
while loading /share/apps/econ/acapp/julia-binary/julia-0.5.0/share/julia/test/runtests.jl, in expression starting on line 26
ERROR: A test has failed. Please submit a bug report (https://github.com/JuliaLang/julia/issues)
including error messages above and the output of versioninfo():
Julia Version 0.5.0
Commit 3c9d753 (2016-09-19 18:14 UTC)
Platform Info:
  System: Linux (x86_64-pc-linux-gnu)
  CPU: AMD Opteron (tm) Processor 875
  WORD_SIZE: 64
  BLAS: libopenblas (USE64BITINT DYNAMIC_ARCH NO_AFFINITY Opteron)
  LAPACK: libopenblas64_
  LIBM: libopenlibm
  LLVM: libLLVM-3.7.1 (ORCJIT, k8-sse3)

 in runtests(::Array{String,1}, ::Int64) at ./interactiveutil.jl:567
 in runtests() at ./interactiveutil.jl:556

here is the cpuinfo

[uctpfos@jake bin]$ cat proc/cpuinfo
cat: proc/cpuinfo: No such file or directory
[uctpfos@jake bin]$ cat /proc/cpuinfo
processor   : 0
vendor_id   : AuthenticAMD
cpu family  : 15
model       : 33
model name  : AMD Opteron (tm) Processor 875
stepping    : 0
cpu MHz     : 1800.000
cache size  : 1024 KB
physical id : 0
siblings    : 2
core id     : 0
cpu cores   : 2
apicid      : 0
initial apicid  : 0
fpu     : yes
fpu_exception   : yes
cpuid level : 1
wp      : yes
flags       : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt lm 3dnowext 3dnow rep_good pni cmp_legacy
bogomips    : 3599.86
TLB size    : 1024 4K pages
clflush size    : 64
cache_alignment : 64
address sizes   : 40 bits physical, 48 bits virtual
power management: ts fid vid ttp

processor   : 1
vendor_id   : AuthenticAMD
cpu family  : 15
model       : 33
model name  : AMD Opteron (tm) Processor 875
stepping    : 0
cpu MHz     : 1800.000
cache size  : 1024 KB
physical id : 1
siblings    : 2
core id     : 0
cpu cores   : 2
apicid      : 2
initial apicid  : 2
fpu     : yes
fpu_exception   : yes
cpuid level : 1
wp      : yes
flags       : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt lm 3dnowext 3dnow rep_good pni cmp_legacy
bogomips    : 3599.86
TLB size    : 1024 4K pages
clflush size    : 64
cache_alignment : 64
address sizes   : 40 bits physical, 48 bits virtual
power management: ts fid vid ttp

processor   : 2
vendor_id   : AuthenticAMD
cpu family  : 15
model       : 33
model name  : AMD Opteron (tm) Processor 875
stepping    : 0
cpu MHz     : 1800.000
cache size  : 1024 KB
physical id : 2
siblings    : 2
core id     : 0
cpu cores   : 2
apicid      : 4
initial apicid  : 4
fpu     : yes
fpu_exception   : yes
cpuid level : 1
wp      : yes
flags       : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt lm 3dnowext 3dnow rep_good pni cmp_legacy
bogomips    : 3599.86
TLB size    : 1024 4K pages
clflush size    : 64
cache_alignment : 64
address sizes   : 40 bits physical, 48 bits virtual
power management: ts fid vid ttp

processor   : 3
vendor_id   : AuthenticAMD
cpu family  : 15
model       : 33
model name  : AMD Opteron (tm) Processor 875
stepping    : 0
cpu MHz     : 1800.000
cache size  : 1024 KB
physical id : 3
siblings    : 2
core id     : 0
cpu cores   : 2
apicid      : 6
initial apicid  : 6
fpu     : yes
fpu_exception   : yes
cpuid level : 1
wp      : yes
flags       : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt lm 3dnowext 3dnow rep_good pni cmp_legacy
bogomips    : 3599.86
TLB size    : 1024 4K pages
clflush size    : 64
cache_alignment : 64
address sizes   : 40 bits physical, 48 bits virtual
power management: ts fid vid ttp

processor   : 4
vendor_id   : AuthenticAMD
cpu family  : 15
model       : 33
model name  : AMD Opteron (tm) Processor 875
stepping    : 0
cpu MHz     : 1800.000
cache size  : 1024 KB
physical id : 0
siblings    : 2
core id     : 1
cpu cores   : 2
apicid      : 1
initial apicid  : 1
fpu     : yes
fpu_exception   : yes
cpuid level : 1
wp      : yes
flags       : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt lm 3dnowext 3dnow rep_good pni cmp_legacy
bogomips    : 3599.86
TLB size    : 1024 4K pages
clflush size    : 64
cache_alignment : 64
address sizes   : 40 bits physical, 48 bits virtual
power management: ts fid vid ttp

processor   : 5
vendor_id   : AuthenticAMD
cpu family  : 15
model       : 33
model name  : AMD Opteron (tm) Processor 875
stepping    : 0
cpu MHz     : 1800.000
cache size  : 1024 KB
physical id : 1
siblings    : 2
core id     : 1
cpu cores   : 2
apicid      : 3
initial apicid  : 3
fpu     : yes
fpu_exception   : yes
cpuid level : 1
wp      : yes
flags       : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt lm 3dnowext 3dnow rep_good pni cmp_legacy
bogomips    : 3599.86
TLB size    : 1024 4K pages
clflush size    : 64
cache_alignment : 64
address sizes   : 40 bits physical, 48 bits virtual
power management: ts fid vid ttp

processor   : 6
vendor_id   : AuthenticAMD
cpu family  : 15
model       : 33
model name  : AMD Opteron (tm) Processor 875
stepping    : 0
cpu MHz     : 1800.000
cache size  : 1024 KB
physical id : 2
siblings    : 2
core id     : 1
cpu cores   : 2
apicid      : 5
initial apicid  : 5
fpu     : yes
fpu_exception   : yes
cpuid level : 1
wp      : yes
flags       : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt lm 3dnowext 3dnow rep_good pni cmp_legacy
bogomips    : 3599.86
TLB size    : 1024 4K pages
clflush size    : 64
cache_alignment : 64
address sizes   : 40 bits physical, 48 bits virtual
power management: ts fid vid ttp

processor   : 7
vendor_id   : AuthenticAMD
cpu family  : 15
model       : 33
model name  : AMD Opteron (tm) Processor 875
stepping    : 0
cpu MHz     : 1800.000
cache size  : 1024 KB
physical id : 3
siblings    : 2
core id     : 1
cpu cores   : 2
apicid      : 7
initial apicid  : 7
fpu     : yes
fpu_exception   : yes
cpuid level : 1
wp      : yes
flags       : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt lm 3dnowext 3dnow rep_good pni cmp_legacy
bogomips    : 3599.86
TLB size    : 1024 4K pages
clflush size    : 64
cache_alignment : 64
address sizes   : 40 bits physical, 48 bits virtual
power management: ts fid vid ttp
yuyichao commented 7 years ago

So apparently x64 CPU without cmpxchg16b exists....

vtjnash commented 7 years ago

Yeah, this apparently is the processor Julia won't support with the generic binaries.

ViralBShah commented 7 years ago

Is this something we can address in how we build our generic binaries or will folks with this cpu have to build from source?

yuyichao commented 7 years ago

It's currently hard coded so not even build from unpatched source can fix this.

floswald commented 7 years ago

was about to ask that. I am having the exact same issue when I build this from source.

yuyichao commented 7 years ago

What's needed is to comment out https://github.com/JuliaLang/julia/blob/ec60445ef6f702f31a387bbca5370dee7b313816/src/codegen.cpp#L5925. Hopefully now we support libatomic the test can still pass (you'll need llvm 3.8/3.9 though). And glibc should be using ifunc to do the operation without a lock.

floswald commented 7 years ago

ok this may be a tall order for me. i could certainly comment out that line, but no idea what glibc and ifunc are/do. In the meantime, can you tell me what characteristic of a machine to avoid? what exactly is it that makes this fail here and how could I test for it? I'm happy to run tests if that's any use.

tkelman commented 7 years ago

how old is this system?

floswald commented 7 years ago

I wouldn't think too old, but what do I know. here is the list of machines:


Machine Group   Total/Online    Cores   Processor (GHz) Mem (GB)    Disk (GB)   Other
Arbuckle    1   32  E7-8837 (2.67)  1006.4  105 
Ball    1   16  Opteron 6212 (1.40) 31.4    874 
Cannon  1   32  E7-8837 (2.67)  252 874 
Cheech*^    20  12  E5-2620 (2.00)  62.9    197 
Chong*  12  12  E5-2620 (2.00)  62.9    883 
Cooper  1   32  Opteron 8356 (2.29) 63  104 
Costello    30/28   4   Xeon 5160 (3.00)    7.8/15.7    110 15 nodes 7.8GB / 14 nodes 15.7 GB
Groucho 40/29   8   Xeon E5462 (2.80)   15.7    195 
Gummo   5   8   Xeon L5520 (2.27)   11.7    417 
Hale    20  12  Xeon X5650 (2.67)   23.5    432 
Hardy (offline) 24/23   8       15.7        
Larry^  56  4   E3-1240 V2 (3.40)   14.9    89  
Laurel  3   8   Xeon E5450 (3.00)   62.2/31.4   98  1 node 62.2GB / 2 nodes 31.4GB
Lemmon  20  8   Xeon E5520 (2.27)   23.5    113 
Lum*^   16  24  E5-2620 0 (2.00)    31.4/62.9/125.9 432 4 nodes 31.4GB / 4 nodes 62.9GB / 8 nodes 125.9GB
Matthau 10  8   Xeon X5570 (2.93)   47.1    113 
Moe*^   16  4   E3-1270 V2 (3.50)   30.7    89  
Normand 1   24  Xeon E7540 (2.00)   62.9    105 
Pace    12  12  Xeon X5660 (2.80)   47.2/62.9/94.4  244 4 nodes 47.2GB / 4 nodes 62.9GB / 4 nodes 94.9GB
Shemp (qrsh)    4   4   Phenom II X4 910e (0.80)    15.7    432 
Spark   1   8   Core i7 CPU 920 (2.67)  11.7    650 2 x Tesla K20 GPUs 2496 cores 5GB RAM
Spark2  1   8   Core i7 CPU 950 (3.07)  11.7    45  2 x Tesla 2050 GPUs 448 cores 3GB RAM; 1 GTX 580 GPU 512 cores 1.5GB RAM
Spark3  1   8   Core i7 CPU 920 (2.67)  23.6    424 2 x Tesla K40 GPUs 2880 cores 12GB RAM
Stat    52/27   8   Opteron 2384 (2.70) 7.9/15.7    125 25 nodes 7.9GB / 2 nodes 15.7GB
Zeppo   20  12  Xeon X5650 (2.67)   23.5/94.4   421 18 nodes 23.5GB / 2 nodes 94.4GB
fry^    240 4   E3-1240 V3 (3.40)   16  96  CentOS 6 (available shortly)
Abner*^ 8   16  E5-2650 V2 (2.60)   128 215 CentOS 6 (available shortly)
*10GB interface                     
^SSD local disk                     
Login Nodes                     
Bchuckle        6   Xeon X5650 (2.67)   4   2.4 
Comic1      6   Xeon X5650 (2.67)   8   13  
Corbert (offline)       6       4       
Elwood      8   Opteron 875 (1.8)   19.4    100 Matlab GUI interactive submission node
Jake        8   Opteron 875 (1.8)   15.5    98  Matlab GUI interactive submission node
Jones       6   Xeon X5650 (2.67)   4   13  
Morecambe1      6   Xeon X5650 (2.67)   4   13  
Pchuckle        8   Xeon E5450 (3.00)   15.7    105 
Smith       6   Xeon X5650 (2.67)   4   13  
Splash      8   Xeon L5609 (1.87)   7.8 206 
Wilder      8   Opteron 2384 (2.69) 7.9 117 
Wise        6   Xeon E5620 (2.40)   4   2.4 
Grand Total (Total/Online)                      Nodes: 628/589; Cores: 4370/4074
yuyichao commented 7 years ago

ok this may be a tall order for me. i could certainly comment out that line, but no idea what glibc and ifunc are/do.

You don't need to worry about ifunc (it's only for performance not for correctness and should be automatic anyway) but you do need to compile llvm 3.9 to get the test pass after commenting out that line

In the meantime, can you tell me what characteristic of a machine to avoid? what exactly is it that makes this fail here and how could I test for it?

Make sure cx16 is in the feature list. According to the wiki page Jameson linked, any intel CPU should do.

tkelman commented 7 years ago

Julia isn't an Intel-processors-only piece of software, how can we work around this for 0.5.1 binaries - preferably without changing llvm version? We have a cpuid check somewhere, don't we? Can we fall back to something?

yuyichao commented 7 years ago

Doing it with CPUID check basically means that we abort early (the julia process won't even start). Working around it is possible but non-trival.

vchuravy commented 7 years ago

We have this problem also on power see #14818 and https://github.com/JuliaLang/julia/pull/16066#issuecomment-247848542 for further discussion.

JeffBezanson commented 6 years ago

Closing in favor of #18706, as 0.5.x is unmaintained. Pleas reopen if this can be reproduced on a more recent version though.