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

ARM test failures #8402

Closed
ViralBShah opened this issue Sep 18, 2014 · 25 comments
Closed

ARM test failures #8402

ViralBShah opened this issue Sep 18, 2014 · 25 comments
Labels
system:arm ARMv7 and AArch64

Comments

@ViralBShah
Copy link
Member

Ok, I was dreading to do this, but finally got enough courage. Here's where we stand on ARM testing. I am running them one at a time to see which tests run all the way without failure, so that we can focus attention on a smaller set. A few more tests still remain to be run, and I will update with the full list next week.

localhost:~/julia/test $ for i in core keywordargs numbers strings unicode collections hashing remote iobuffer arrayops reduce reducedim simdloop linalg blas fft dsp sparse bitarray random math functional bigint sorting statistics spawn parallel arpack file git pkg resolve suitesparse complex version pollfd mpfr broadcast socket floatapprox priorityqueue readdlm reflection regex float16 combinatorics datessysinfo rounding ranges mod2pi euler show lineedit replcompletions backtrace repl test examples goto llvmcall grisu; do j runtests.jl $i; done
     * core
    SUCCESS
     * keywordargs
    SUCCESS
     * numbers
exception on 1: ERROR: test failed: (0xffffffffffffffff != 1.8446744073709552e19)
 in expression: typemax(Uint64) != 2.0^64
while loading numbers.jl, in expression starting on line 681
ERROR: test failed: (0xffffffffffffffff != 1.8446744073709552e19)
 in expression: typemax(Uint64) != 2.0^64
while loading numbers.jl, in expression starting on line 681
while loading /home/viral/julia/test/runtests.jl, in expression starting on line 36

     * strings
exception on 1: ERROR: test failed: (5:5 == 54:54)
 in expression: rsearch(u8str,"ε") == 54:54
while loading strings.jl, in expression starting on line 383
ERROR: test failed: (5:5 == 54:54)
 in expression: rsearch(u8str,"ε") == 54:54
while loading strings.jl, in expression starting on line 383
while loading /home/viral/julia/test/runtests.jl, in expression starting on line 36

     * unicode
exception on 1: ERROR: test failed: (Char[𝕥,𝟶,f,𠂊,�,�,�,�,�,�,�,�,�] == Char[𝕥,𝟶,f,𠂊])
 in expression: collect(u8) == collect(u16)
while loading unicode.jl, in expression starting on line 8
ERROR: test failed: (Char[𝕥,𝟶,f,𠂊,�,�,�,�,�,�,�,�,�] == Char[𝕥,𝟶,f,𠂊])
 in expression: collect(u8) == collect(u16)
while loading unicode.jl, in expression starting on line 8
while loading /home/viral/julia/test/runtests.jl, in expression starting on line 36

     * collections
    SUCCESS
     * hashing
    SUCCESS
     * remote
    SUCCESS
     * iobuffer
    SUCCESS
     * arrayops
    SUCCESS
     * reduce
    SUCCESS
     * reducedim
    SUCCESS
     * simdloop
    SUCCESS
    From worker 2:       * linalg1
    From worker 3:       * linalg2
    From worker 4:       * linalg3
    From worker 5:       * linalg4

signal (11): Segmentation fault
Worker 3 terminated.
ERROR: ProcessExitedException()
while loading /home/viral/julia/test/runtests.jl, in expression starting on line 36

WARNING: Forcibly interrupting busy workers
error in running finalizer: InterruptException()
error in running finalizer: InterruptException()
exception on WARNING: Unable to terminate all workers
2:      * blas
    SUCCESS
     * fft
exception on 1: ERROR: error compiling fft: error compiling fft: error compiling Plan: could not load module libfftw3f_threads: libfftw3f_threads: cannot open shared object file: No such file or directory
while loading fft.jl, in expression starting on line 103
ERROR: error compiling fft: error compiling fft: error compiling Plan: could not load module libfftw3f_threads: libfftw3f_threads: cannot open shared object file: No such file or directory
while loading fft.jl, in expression starting on line 103
while loading /home/viral/julia/test/runtests.jl, in expression starting on line 36

     * dsp
    SUCCESS
     * sparse
exception on 1: ERROR: test error in expression: maximum(abs($(Expr(:.', :a)) \ b - full($(Expr(:.', :a))) \ b)) < 1000 * eps()
ArgumentError("Invalid matrix")
while loading sparse.jl, in expression starting on line 75
ERROR: test error in expression: maximum(abs($(Expr(:.', :a)) \ b - full($(Expr(:.', :a))) \ b)) < 1000 * eps()
ArgumentError("Invalid matrix")
while loading sparse.jl, in expression starting on line 75
while loading /home/viral/julia/test/runtests.jl, in expression starting on line 36

     * bitarray
LLVM ERROR: Cannot select: 0x99cf380: v2i64 = ctpop 0xa2c53d8 [ORD=14] [ID=48] dbg:linalg/bitarray.jl:8:1
  0xa2c53d8: v2i64 = bitcast 0xa2c4f58 [ORD=12] [ID=46] dbg:linalg/bitarray.jl:8:1
    0xa2c4f58: v4i32 = and 0xa2c4da8, 0xa2c4898 [ORD=12] [ID=44] dbg:linalg/bitarray.jl:8:1
      0xa2c4da8: v4i32 = bitcast 0x99cf9b0 [ORD=12] [ID=40] dbg:linalg/bitarray.jl:8:1
        0x99cf9b0: v2f64,ch = load 0x8f0d750, 0x99cef00, 0x99cee70<LD16[%scevgep30](align=8)(tbaa=!"jtbaa_user")> [ORD=10] [ID=34] dbg:linalg/bitarray.jl:8:1
          0x99cef00: i32 = add 0x99cf5c0, 0xa2c49b8 [ORD=9] [ID=27]
            0x99cf5c0: i32,ch = CopyFromReg 0x8f0d750, 0x99cf4a0 [ORD=2] [ID=20]
              0x99cf4a0: i32 = Register %vreg10 [ID=1]
            0xa2c49b8: i32 = Constant<16> [ID=5]
          0x99cee70: i32 = undef [ID=3]
      0xa2c4898: v4i32 = bitcast 0xa2c52b8 [ORD=12] [ID=42] dbg:linalg/bitarray.jl:8:1
        0xa2c52b8: v2f64,ch = load 0x8f0d750, 0x99cf0b0, 0x99cee70<LD16[%scevgep34](align=8)(tbaa=!"jtbaa_user")> [ORD=7] [ID=37] dbg:linalg/bitarray.jl:8:1
          0x99cf0b0: i32 = add 0x99cf020, 0xa2c49b8 [ORD=6] [ID=30]
            0x99cf020: i32,ch = CopyFromReg 0x8f0d750, 0x99cf800 [ORD=3] [ID=21]
              0x99cf800: i32 = Register %vreg9 [ID=2]
            0xa2c49b8: i32 = Constant<16> [ID=5]
          0x99cee70: i32 = undef [ID=3]
In function: julia_dot118891
     * random
    SUCCESS
     * math
exception on 1: ERROR: test failed: ([1.0,1.0,2.0,6.0,24.0,120.0,720.0,5040.0,40320.0,362880.0,3.6288e6,3.99168e7,4.790016e8,6.2270208e9,8.71782912e10,1.307674368e12,2.0922789888e13,3.55687428096e14,6.402373705728e15,1.21645100408832e17,2.43290200817664e18,5.109094217170944e19,1.1240007277776077e21,2.585201673888498e22,6.204484017332395e23] == [1.0,1.0,2.0,6.0,24.0,120.0,719.9999999999999,5039.999999999999,40319.99999999999,362879.99999999994,3.628799999999999e6,3.991679999999999e7,4.790016e8,6.2270208e9,8.71782912e10,1.307674368e12,2.0922789888000004e13,3.5568742809600006e14,6.402373705728001e15,1.21645100408832e17,2.43290200817664e18,5.109094217170944e19,1.1240007277776077e21,2.585201673888498e22,6.204484017332395e23])
 in expression: gamma(1:25) == gamma(Float64[1:25])
while loading math.jl, in expression starting on line 174
ERROR: test failed: ([1.0,1.0,2.0,6.0,24.0,120.0,720.0,5040.0,40320.0,362880.0,3.6288e6,3.99168e7,4.790016e8,6.2270208e9,8.71782912e10,1.307674368e12,2.0922789888e13,3.55687428096e14,6.402373705728e15,1.21645100408832e17,2.43290200817664e18,5.109094217170944e19,1.1240007277776077e21,2.585201673888498e22,6.204484017332395e23] == [1.0,1.0,2.0,6.0,24.0,120.0,719.9999999999999,5039.999999999999,40319.99999999999,362879.99999999994,3.628799999999999e6,3.991679999999999e7,4.790016e8,6.2270208e9,8.71782912e10,1.307674368e12,2.0922789888000004e13,3.5568742809600006e14,6.402373705728001e15,1.21645100408832e17,2.43290200817664e18,5.109094217170944e19,1.1240007277776077e21,2.585201673888498e22,6.204484017332395e23])
 in expression: gamma(1:25) == gamma(Float64[1:25])
while loading math.jl, in expression starting on line 174
while loading /home/viral/julia/test/runtests.jl, in expression starting on line 36

     * functional
    SUCCESS
     * bigint
    SUCCESS
     * sorting
    SUCCESS
     * statistics
    SUCCESS
     * spawn
       [stdio passthrough ok]
    SUCCESS
     * parallel
WARNING: timedwait tests delayed. et=1.859034418, isready(rr3)=false
    SUCCESS
WARNING: Forcibly interrupting busy workers
KeyError(2)
     * arpack
exception on 1: ERROR: PosDefException(0)
while loading arpack.jl, in expression starting on line 1
ERROR: PosDefException(0)
while loading arpack.jl, in expression starting on line 1
while loading /home/viral/julia/test/runtests.jl, in expression starting on line 36

     * file

signal (11): Segmentation fault
Segmentation fault (core dumped)
     * git
    SUCCESS
     * pkg
INFO: Initializing package repository /home/viral/julia/test/tmp.DYqqjRtP/v0.4
INFO: Cloning METADATA from git://github.com/JuliaLang/METADATA.jl

signal (11): Segmentation fault
Segmentation fault (core dumped)
     * resolve
    SUCCESS
     * suitesparse
exception on 1: ERROR: assertion failed: |(scale(Rs,A))[p,q] - L * U| <= 5.551115123125783e-11
  (scale(Rs,A))[p,q] = 
    [1, 1]  =  0.333333
    [1, 2]  =  -0.5
    [2, 2]  =  1.0
    [4, 2]  =  0.285714
    [5, 2]  =  0.307692
    [3, 3]  =  0.4
    [5, 3]  =  0.230769
    [4, 4]  =  0.142857
    [5, 4]  =  0.461538
    [1, 5]  =  -0.166667
    [3, 5]  =  0.6
    [4, 5]  =  0.571429
  L * U = 
    [1, 1]  =  0.333333
    [1, 2]  =  -0.5
    [4, 2]  =  0.285714
    [5, 2]  =  0.307692
    [5, 2]  =  0.307692
    [3, 3]  =  0.4
    [5, 3]  =  0.230769
    [4, 4]  =  0.142857
    [5, 4]  =  0.461538
    [2, 5]  =  -0.166667
    [3, 5]  =  0.6
    [4, 5]  =  0.571429
    [5, 5]  =  0.0
  difference = 1.0 > 5.551115123125783e-11
while loading suitesparse.jl, in expression starting on line 14
ERROR: assertion failed: |(scale(Rs,A))[p,q] - L * U| <= 5.551115123125783e-11
  (scale(Rs,A))[p,q] = 
    [1, 1]  =  0.333333
    [1, 2]  =  -0.5
    [2, 2]  =  1.0
    [4, 2]  =  0.285714
    [5, 2]  =  0.307692
    [3, 3]  =  0.4
    [5, 3]  =  0.230769
    [4, 4]  =  0.142857
    [5, 4]  =  0.461538
    [1, 5]  =  -0.166667
    [3, 5]  =  0.6
    [4, 5]  =  0.571429
  L * U = 
    [1, 1]  =  0.333333
    [1, 2]  =  -0.5
    [4, 2]  =  0.285714
    [5, 2]  =  0.307692
    [5, 2]  =  0.307692
    [3, 3]  =  0.4
    [5, 3]  =  0.230769
    [4, 4]  =  0.142857
    [5, 4]  =  0.461538
    [2, 5]  =  -0.166667
    [3, 5]  =  0.6
    [4, 5]  =  0.571429
    [5, 5]  =  0.0
  difference = 1.0 > 5.551115123125783e-11
while loading suitesparse.jl, in expression starting on line 14
while loading /home/viral/julia/test/runtests.jl, in expression starting on line 36

     * complex
    SUCCESS
     * version
    SUCCESS
     * pollfd
    SUCCESS
     * mpfr
    SUCCESS
     * broadcast
    SUCCESS
     * socket
    SUCCESS
     * floatapprox
    SUCCESS
     * priorityqueue
    SUCCESS
     * readdlm
julia: /home/viral/julia/deps/llvm-3.5.0/lib/Target/ARM/MCTargetDesc/ARMMCCodeEmitter.cpp:296: unsigned int {anonymous}::ARMMCCodeEmitter::getSOImmOpValue(const llvm::MCInst&, unsigned int, llvm::SmallVectorImpl<llvm::MCFixup>&, const llvm::MCSubtargetInfo&) const: Assertion `SoImmVal != -1 && "Not a valid so_imm value!"' failed.

signal (6): Aborted
Aborted (core dumped)
     * reflection
(HUNG - TESTS RESTARTED)
     * regex
    SUCCESS
     * float16
    SUCCESS
     * combinatorics
    SUCCESS
     * datessysinfo
exception on 1: ERROR: could not open file datessysinfo.jl
ERROR: could not open file datessysinfo.jl
while loading /home/viral/julia/test/runtests.jl, in expression starting on line 36

     * rounding
exception on 1: ERROR: test failed: (1.0 is 0.9999999999999999)
 in expression: a + b === d
while loading rounding.jl, in expression starting on line 19
ERROR: test failed: (1.0 is 0.9999999999999999)
 in expression: a + b === d
while loading rounding.jl, in expression starting on line 19
while loading /home/viral/julia/test/runtests.jl, in expression starting on line 36

     * ranges

signal (11): Segmentation fault
Segmentation fault (core dumped)
     * mod2pi
    SUCCESS
     * euler
    SUCCESS
     * show
    SUCCESS
     * lineedit
    SUCCESS
     * replcompletions
    SUCCESS
     * backtrace
exception on 1: ERROR: test failed: have_backtrace
 in expression: have_backtrace
while loading backtrace.jl, in expression starting on line 12
ERROR: test failed: have_backtrace
 in expression: have_backtrace
while loading backtrace.jl, in expression starting on line 12
while loading /home/viral/julia/test/runtests.jl, in expression starting on line 36

     * repl
@ViralBShah ViralBShah added the system:arm ARMv7 and AArch64 label Sep 18, 2014
@quinnj
Copy link
Member

quinnj commented Sep 18, 2014

Looks like there was a type in datessysinfo, I'd be interested to know if there are any failures in dates.

@ihnorton
Copy link
Member

Probably some of these are the same memory error causing #8314.

On Thu, Sep 18, 2014 at 9:09 AM, Viral B. Shah notifications@github.com
wrote:

Ok, I was dreading to do this, but finally got enough courage. Here's
where we stand on ARM testing. I am running them one at a time to see which
tests run all the way without failure, so that we can focus attention on a
smaller set. A few more tests still remain to be run, and I will update
with the full list next week.

localhost:~/julia/test $ for i in core keywordargs numbers strings unicode collections hashing remote iobuffer arrayops reduce reducedim simdloop linalg blas fft dsp sparse bitarray random math functional bigint sorting statistics spawn parallel arpack file git pkg resolve suitesparse complex version pollfd mpfr broadcast socket floatapprox priorityqueue readdlm reflection regex float16 combinatorics datessysinfo rounding ranges mod2pi euler show lineedit replcompletions backtrace repl test examples goto llvmcall grisu; do j runtests.jl $i; done
* core
SUCCESS
* keywordargs
SUCCESS
* numbers
exception on 1: ERROR: test failed: (0xffffffffffffffff != 1.8446744073709552e19)
in expression: typemax(Uint64) != 2.0^64
while loading numbers.jl, in expression starting on line 681
ERROR: test failed: (0xffffffffffffffff != 1.8446744073709552e19)
in expression: typemax(Uint64) != 2.0^64
while loading numbers.jl, in expression starting on line 681
while loading /home/viral/julia/test/runtests.jl, in expression starting on line 36

 * strings

exception on 1: ERROR: test failed: (5:5 == 54:54)
in expression: rsearch(u8str,"ε") == 54:54
while loading strings.jl, in expression starting on line 383
ERROR: test failed: (5:5 == 54:54)
in expression: rsearch(u8str,"ε") == 54:54
while loading strings.jl, in expression starting on line 383
while loading /home/viral/julia/test/runtests.jl, in expression starting on line 36

 * unicode

exception on 1: ERROR: test failed: (Char[𝕥,𝟶,f,𠂊,�,�,�,�,�,�,�,�,�] == Char[𝕥,𝟶,f,𠂊])
in expression: collect(u8) == collect(u16)
while loading unicode.jl, in expression starting on line 8
ERROR: test failed: (Char[𝕥,𝟶,f,𠂊,�,�,�,�,�,�,�,�,�] == Char[𝕥,𝟶,f,𠂊])
in expression: collect(u8) == collect(u16)
while loading unicode.jl, in expression starting on line 8
while loading /home/viral/julia/test/runtests.jl, in expression starting on line 36

 * collections
SUCCESS
 * hashing
SUCCESS
 * remote
SUCCESS
 * iobuffer
SUCCESS
 * arrayops
SUCCESS
 * reduce
SUCCESS
 * reducedim
SUCCESS
 * simdloop
SUCCESS
From worker 2:       * linalg1
From worker 3:       * linalg2
From worker 4:       * linalg3
From worker 5:       * linalg4

signal (11): Segmentation fault
Worker 3 terminated.
ERROR: ProcessExitedException()
while loading /home/viral/julia/test/runtests.jl, in expression starting on line 36

WARNING: Forcibly interrupting busy workers
error in running finalizer: InterruptException()
error in running finalizer: InterruptException()
exception on WARNING: Unable to terminate all workers
2: * blas
SUCCESS
* fft
exception on 1: ERROR: error compiling fft: error compiling fft: error compiling Plan: could not load module libfftw3f_threads: libfftw3f_threads: cannot open shared object file: No such file or directory
while loading fft.jl, in expression starting on line 103
ERROR: error compiling fft: error compiling fft: error compiling Plan: could not load module libfftw3f_threads: libfftw3f_threads: cannot open shared object file: No such file or directory
while loading fft.jl, in expression starting on line 103
while loading /home/viral/julia/test/runtests.jl, in expression starting on line 36

 * dsp
SUCCESS
 * sparse

exception on 1: ERROR: test error in expression: maximum(abs($(Expr(:.', :a)) \ b - full($(Expr(:.', :a))) \ b)) < 1000 * eps()
ArgumentError("Invalid matrix")
while loading sparse.jl, in expression starting on line 75
ERROR: test error in expression: maximum(abs($(Expr(:.', :a)) \ b - full($(Expr(:.', :a))) \ b)) < 1000 * eps()
ArgumentError("Invalid matrix")
while loading sparse.jl, in expression starting on line 75
while loading /home/viral/julia/test/runtests.jl, in expression starting on line 36

 * bitarray

LLVM ERROR: Cannot select: 0x99cf380: v2i64 = ctpop 0xa2c53d8 [ORD=14] [ID=48] dbg:linalg/bitarray.jl:8:1
0xa2c53d8: v2i64 = bitcast 0xa2c4f58 [ORD=12] [ID=46] dbg:linalg/bitarray.jl:8:1
0xa2c4f58: v4i32 = and 0xa2c4da8, 0xa2c4898 [ORD=12] [ID=44] dbg:linalg/bitarray.jl:8:1
0xa2c4da8: v4i32 = bitcast 0x99cf9b0 [ORD=12] [ID=40] dbg:linalg/bitarray.jl:8:1
0x99cf9b0: v2f64,ch = load 0x8f0d750, 0x99cef00, 0x99cee70<LD16%scevgep30(tbaa=!"jtbaa_user")> [ORD=10] [ID=34] dbg:linalg/bitarray.jl:8:1
0x99cef00: i32 = add 0x99cf5c0, 0xa2c49b8 [ORD=9] [ID=27]
0x99cf5c0: i32,ch = CopyFromReg 0x8f0d750, 0x99cf4a0 [ORD=2] [ID=20]
0x99cf4a0: i32 = Register %vreg10 [ID=1]
0xa2c49b8: i32 = Constant<16> [ID=5]
0x99cee70: i32 = undef [ID=3]
0xa2c4898: v4i32 = bitcast 0xa2c52b8 [ORD=12] [ID=42] dbg:linalg/bitarray.jl:8:1
0xa2c52b8: v2f64,ch = load 0x8f0d750, 0x99cf0b0, 0x99cee70<LD16%scevgep34(tbaa=!"jtbaa_user")> [ORD=7] [ID=37] dbg:linalg/bitarray.jl:8:1
0x99cf0b0: i32 = add 0x99cf020, 0xa2c49b8 [ORD=6] [ID=30]
0x99cf020: i32,ch = CopyFromReg 0x8f0d750, 0x99cf800 [ORD=3] [ID=21]
0x99cf800: i32 = Register %vreg9 [ID=2]
0xa2c49b8: i32 = Constant<16> [ID=5]
0x99cee70: i32 = undef [ID=3]
In function: julia_dot118891
* random
SUCCESS
* math
exception on 1: ERROR: test failed: ([1.0,1.0,2.0,6.0,24.0,120.0,720.0,5040.0,40320.0,362880.0,3.6288e6,3.99168e7,4.790016e8,6.2270208e9,8.71782912e10,1.307674368e12,2.0922789888e13,3.55687428096e14,6.402373705728e15,1.21645100408832e17,2.43290200817664e18,5.109094217170944e19,1.1240007277776077e21,2.585201673888498e22,6.204484017332395e23] == [1.0,1.0,2.0,6.0,24.0,120.0,719.9999999999999,5039.999999999999,40319.99999999999,362879.99999999994,3.628799999999999e6,3.991679999999999e7,4.790016e8,6.2270208e9,8.71782912e10,1.307674368e12,2.0922789888000004e13,3.5568742809600006e14,6.402373705728001e15,1.21645100408832e17,2.43290200817664e18,5.109094217170944e19,1.1240007277776077e21,2.585201673888498e22,6.204484017332395e23])
in expression: gamma(1:25) == gamma(Float64[1:25])
while loading math.jl, in expression starting on line 174
ERROR: test failed: ([1.0,1.0,2.0,6.0,24.0,120.0,720.0,5040.0,40320.0,362880.0,3.6288e6,3.99168e7,4.790016e8,6.2270208e9,8.71782912e10,1.307674368e12,2.0922789888e13,3.55687428096e14,6.402373705728e15,1.21645100408832e17,2.43290200817664e18,5.109094217170944e19,1.1240007277776077e21,2.585201673888498e22,6.204484017332395e23] == [1.0,1.0,2.0,6.0,24.0,120.0,719.9999999999999,5039.999999999999,40319.99999999999,362879.99999999994,3.628799999999999e6,3.991679999999999e7,4.790016e8,6.2270208e9,8.71782912e10,1.307674368e12,2.0922789888000004e13,3.5568742809600006e14,6.402373705728001e15,1.21645100408832e17,2.43290200817664e18,5.109094217170944e19,1.1240007277776077e21,2.585201673888498e22,6.204484017332395e23])
in expression: gamma(1:25) == gamma(Float64[1:25])
while loading math.jl, in expression starting on line 174
while loading /home/viral/julia/test/runtests.jl, in expression starting on line 36

 * functional
SUCCESS
 * bigint
SUCCESS
 * sorting
SUCCESS
 * statistics
SUCCESS
 * spawn
   [stdio passthrough ok]
SUCCESS
 * parallel

WARNING: timedwait tests delayed. et=1.859034418, isready(rr3)=false
SUCCESS
WARNING: Forcibly interrupting busy workers
KeyError(2)
* arpack
exception on 1: ERROR: PosDefException(0)
while loading arpack.jl, in expression starting on line 1
ERROR: PosDefException(0)
while loading arpack.jl, in expression starting on line 1
while loading /home/viral/julia/test/runtests.jl, in expression starting on line 36

 * file

signal (11): Segmentation fault
Segmentation fault (core dumped)
* git
SUCCESS
* pkg
INFO: Initializing package repository /home/viral/julia/test/tmp.DYqqjRtP/v0.4
INFO: Cloning METADATA from git://github.com/JuliaLang/METADATA.jl

signal (11): Segmentation fault
Segmentation fault (core dumped)
* resolve
SUCCESS
* suitesparse
exception on 1: ERROR: assertion failed: |(scale(Rs,A))[p,q] - L * U| <= 5.551115123125783e-11
(scale(Rs,A))[p,q] =
[1, 1] = 0.333333
[1, 2] = -0.5
[2, 2] = 1.0
[4, 2] = 0.285714
[5, 2] = 0.307692
[3, 3] = 0.4
[5, 3] = 0.230769
[4, 4] = 0.142857
[5, 4] = 0.461538
[1, 5] = -0.166667
[3, 5] = 0.6
[4, 5] = 0.571429
L * U =
[1, 1] = 0.333333
[1, 2] = -0.5
[4, 2] = 0.285714
[5, 2] = 0.307692
[5, 2] = 0.307692
[3, 3] = 0.4
[5, 3] = 0.230769
[4, 4] = 0.142857
[5, 4] = 0.461538
[2, 5] = -0.166667
[3, 5] = 0.6
[4, 5] = 0.571429
[5, 5] = 0.0
difference = 1.0 > 5.551115123125783e-11
while loading suitesparse.jl, in expression starting on line 14
ERROR: assertion failed: |(scale(Rs,A))[p,q] - L * U| <= 5.551115123125783e-11
(scale(Rs,A))[p,q] =
[1, 1] = 0.333333
[1, 2] = -0.5
[2, 2] = 1.0
[4, 2] = 0.285714
[5, 2] = 0.307692
[3, 3] = 0.4
[5, 3] = 0.230769
[4, 4] = 0.142857
[5, 4] = 0.461538
[1, 5] = -0.166667
[3, 5] = 0.6
[4, 5] = 0.571429
L * U =
[1, 1] = 0.333333
[1, 2] = -0.5
[4, 2] = 0.285714
[5, 2] = 0.307692
[5, 2] = 0.307692
[3, 3] = 0.4
[5, 3] = 0.230769
[4, 4] = 0.142857
[5, 4] = 0.461538
[2, 5] = -0.166667
[3, 5] = 0.6
[4, 5] = 0.571429
[5, 5] = 0.0
difference = 1.0 > 5.551115123125783e-11
while loading suitesparse.jl, in expression starting on line 14
while loading /home/viral/julia/test/runtests.jl, in expression starting on line 36

 * complex
SUCCESS
 * version
SUCCESS
 * pollfd
SUCCESS
 * mpfr
SUCCESS
 * broadcast
SUCCESS
 * socket
SUCCESS
 * floatapprox
SUCCESS
 * priorityqueue
SUCCESS
 * readdlm

julia: /home/viral/julia/deps/llvm-3.5.0/lib/Target/ARM/MCTargetDesc/ARMMCCodeEmitter.cpp:296: unsigned int {anonymous}::ARMMCCodeEmitter::getSOImmOpValue(const llvm::MCInst&, unsigned int, llvm::SmallVectorImplllvm::MCFixup&, const llvm::MCSubtargetInfo&) const: Assertion `SoImmVal != -1 && "Not a valid so_imm value!"' failed.

signal (6): Aborted
Aborted (core dumped)
* reflection

^C
^C^C
localhost:/julia/test $ ^C
localhost:
/julia/test $ ^C
localhost:/julia/test $ ^C
localhost:
/julia/test $ ^C
localhost:/julia/test $ ^C
localhost:
/julia/test $ for i in regex float16 combinatorics datessysinfo rounding ranges mod2pi euler show lineedit replcompletions backtrace repl test examples goto llvmcall grisu; do j runtests.jl $i; done
* regex
SUCCESS
* float16
SUCCESS
* combinatorics
SUCCESS
* datessysinfo
exception on 1: ERROR: could not open file datessysinfo.jl
ERROR: could not open file datessysinfo.jl
while loading /home/viral/julia/test/runtests.jl, in expression starting on line 36

 * rounding

exception on 1: ERROR: test failed: (1.0 is 0.9999999999999999)
in expression: a + b === d
while loading rounding.jl, in expression starting on line 19
ERROR: test failed: (1.0 is 0.9999999999999999)
in expression: a + b === d
while loading rounding.jl, in expression starting on line 19
while loading /home/viral/julia/test/runtests.jl, in expression starting on line 36

 * ranges

signal (11): Segmentation fault
Segmentation fault (core dumped)
* mod2pi
SUCCESS
* euler
SUCCESS
* show
SUCCESS
* lineedit
SUCCESS
* replcompletions
SUCCESS
* backtrace
exception on 1: ERROR: test failed: have_backtrace
in expression: have_backtrace
while loading backtrace.jl, in expression starting on line 12
ERROR: test failed: have_backtrace
in expression: have_backtrace
while loading backtrace.jl, in expression starting on line 12
while loading /home/viral/julia/test/runtests.jl, in expression starting on line 36

 * repl


Reply to this email directly or view it on GitHub
#8402.

@ihnorton
Copy link
Member

It looks slightly better now but still get a failure in numbers, strings, unicode, bitarray, random, math, parallel, and readdlm.

The readdlm failure might be due to an old LLVM bug: http://llvm.org/bugs/show_bug.cgi?id=7048

@ViralBShah
Copy link
Member Author

The equality test seems broken, which is making the numbers test fail. This should be false:

         _
   _       _ _(_)_     |  A fresh approach to technical computing
  (_)     | (_) (_)    |  Documentation: http://docs.julialang.org
   _ _   _| |_  __ _   |  Type "help()" for help.
  | | | | | | |/ _` |  |
  | | |_| | | | (_| |  |  Version 0.4.0-dev+1349 (2014-10-30 05:12 UTC)
 _/ |\__'_|_|_|\__'_|  |  Commit da6087e* (0 days old master)
|__/                   |  arm-linux-gnueabihf

julia> typemax(Uint64) == 2.0^64
true

@ihnorton
Copy link
Member

Hmm, the first operand seems to be getting trucated in the lowering:
(with x() = typemax(Uint64) == 2.0^64)

julia> @code_typed x()
1-element Array{Any,1}:
 :($(Expr(:lambda, Any[], Any[Any[],Any[],Any[]], :(begin  # none, line 1:
        return (top(eqfui64))((GetfieldNode(Base.Math,:box,Any))(Float64,(GetfieldNode(Base.Math,:powi_llvm,Any))(2.0,64))::Float64,0xffffffffffffffff)::Bool
    end::Bool))))
(gdb) f
#2  0x76219c04 in emit_call (expr=0x39c0bc0, ctx=0x7effe1c0, arglen=3, args=0x39e4d5c) at codegen.cpp:2358
2358                result = emit_known_call((jl_value_t*)f, args, nargs, ctx, &theFptr, &f, expr);
(gdb) p jl_(expr)
Expr(:call, top(:eqfui64), Expr(:call, Base.Math.box::Any, :Float64, Expr(:call, Base.Math.powi_llvm::Any, 2, 64)::Any)::Float64, 0x00000000ffffffff)::Bool
$11 = void

Maybe missing some flag to flisp? (works as expected on win32)

@ViralBShah
Copy link
Member Author

Cc: @vtjnash

@vtjnash
Copy link
Sponsor Member

vtjnash commented Oct 31, 2014

can you try a bit pattern e.g. 0x123456789ABCDEF0. would be good to see if it is getting the high or low bits

@ViralBShah
Copy link
Member Author

Could you say a bit more about trying the bit pattern? What should I do?

@vtjnash
Copy link
Sponsor Member

vtjnash commented Nov 1, 2014

replicate ihnorton's results but with x() = 0x123456789ABCDEF0 == 2.0^64 (code_native from that might be enough)

@ihnorton
Copy link
Member

ihnorton commented Nov 2, 2014

(gdb) p jl_(expr)
Expr(:call, top(:eqfui64), Expr(:call, Base.Math.box::Any, :Float64, Expr(:call,
Base.Math.powi_llvm::Any, 2, 64)::Any)::Float64, 0x000000009abcdef0)::Bool
$23 = void

@ihnorton
Copy link
Member

ihnorton commented Nov 2, 2014

(@ViralBShah fyi: I set a breakpoint in emit_eqfui and then look at the expression a couple frames up)

@dmbates
Copy link
Member

dmbates commented Nov 2, 2014

Never having been one to leave well-enough alone, I switched the crouton version of Ubuntu to utopic on my Chromebook. Partly I wanted to see if it would be possible to use more of the system libraries from Ubuntu 14.10, such as llvm-3.5, to make installation faster.

I started with a compilation in the recommended way (i.e. my Make.user only includes ARM.inc) and it did compile. However, but the program dies on a segfault immediately after the splash screen.

(gdb) run
Starting program: /home/bates/git/julia/julia 
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/arm-linux-gnueabihf/libthread_db.so.1".
               _
   _       _ _(_)_     |  A fresh approach to technical computing
  (_)     | (_) (_)    |  Documentation: http://docs.julialang.org
   _ _   _| |_  __ _   |  Type "help()" for help.
  | | | | | | |/ _` |  |
  | | |_| | | | (_| |  |  Version 0.4.0-dev+1374 (2014-11-01 17:48 UTC)
 _/ |\__'_|_|_|\__'_|  |  Commit 53254c2 (0 days old master)
|__/                   |  arm-linux-gnueabihf


Program received signal SIGSEGV, Segmentation fault.
0xb6219a3c in ctx_switch (t=0xbeffe980, where=0xb6f52efc <done_sym>) at task.c:271
271 }
(gdb) where
#0  0xb6219a3c in ctx_switch (t=0xbeffe980, where=0xb6f52efc <done_sym>) at task.c:271
#1  0xb621a3c2 in switchto (t=<optimized out>) at task.c:285
#2  jl_f_yieldto (F=<optimized out>, args=<optimized out>, nargs=2) at task.c:844
#3  0xb50dd7b4 in julia_wait37185 () at task.jl:284
#4  0xb50f2674 in julia_stream_wait37721 () at stream.jl:263
#5  0xb50f21d0 in julia_write37712 () at stream.jl:788
#6  0xb50f31cc in julia_print37733 () at ascii.jl:93
#7  0xb50f3240 in jlcall_print37733 () from /home/bates/git/julia/usr/bin/../lib/julia/sys.so
#8  0xb61dd098 in jl_apply (nargs=2, args=<optimized out>, f=<optimized out>) at julia.h:982
#9  jl_apply_generic (F=0xdb38f0, args=<optimized out>, nargs=2) at gf.c:1624
#10 0xb50e49f4 in julia_banner37373 () at version.jl:243
#11 0xb50cf8a0 in julia__start36958 () at client.jl:387
#12 0xb50d0528 in jlcall.start36958 () from /home/bates/git/julia/usr/bin/../lib/julia/sys.so
#13 0xb61dd098 in jl_apply (nargs=0, args=<optimized out>, f=<optimized out>) at julia.h:982
#14 jl_apply_generic (F=0xc3fdf0, args=<optimized out>, nargs=0) at gf.c:1624
#15 0x0001130a in jl_apply (nargs=0, args=0x0, f=<optimized out>) at ../src/julia.h:982
#16 true_main (argc=<optimized out>, argv=<optimized out>) at repl.c:332
#17 0xb6218c44 in julia_trampoline (argc=-1090522120, argv=0xdc, pmain=0xb60f2000) at init.c:1016
#18 0x00010f8e in main (argc=0, argv=0x0) at repl.c:383

@vtjnash
Copy link
Sponsor Member

vtjnash commented Nov 4, 2014

alright, cool: so someone is definitely truncating that number. any idea who? for example, if you look at the jl_uncompress_ast(linfo, linfo->ast)?

@ihnorton
Copy link
Member

ihnorton commented Nov 6, 2014

False start - I think the half-output is just a jl_static_show issue. jl_uncompress_ast shows the truncation, but code_typed calls that too and does not show truncation (while using higher--end display code instead of static_show)

I grab the LLVM Values then we see they are lowered correctly.

# emitting "0x123456789ABCDEF0 == 2.0^64" (also == 1311768467463790320)

Breakpoint 1, emit_eqfui (x=0x1efef9c, y=0x1eff034) at intrinsics.cpp:527
527     {
(gdb) p jl_dump_llvm_val(x)
  %7 = call double @llvm.powi.f64(double 2.000000e+00, i32 64), !dbg !14
$1 = void
(gdb) p jl_dump_llvm_val(y)
  %8 = select i1 true, i64 1311768467463790320, i64 1311768467463790320, !dbg !14, !julia_type !16

On the other hand, with the original typemax(Uint64):

Breakpoint 1, emit_eqfui (x=0x1f28454, y=0x1a3cb9c) at intrinsics.cpp:527
527     {
(gdb) p jl_dump_llvm_val(x)
  %7 = call double @llvm.powi.f64(double 2.000000e+00, i32 64), !dbg !14
$8 = void
(gdb) p jl_dump_llvm_val(y)
  %8 = select i1 true, i64 -1, i64 -1, !dbg !14, !julia_type !16

@vtjnash
Copy link
Sponsor Member

vtjnash commented Nov 6, 2014

ok, i see the bug in jl_static_show. what is code_llvm and ccall(:pow, Float64, (Float64, Cint), 2, 64)?

@ViralBShah
Copy link
Member Author

Should that commit have fixed the numbers test? I still get the same error.

    JULIA test/numbers
     * numbers
exception on 1: ERROR: test failed: (0xffffffffffffffff != 1.8446744073709552e19)
 in expression: typemax(UInt64) != 2.0^64
while loading numbers.jl, in expression starting on line 681
ERROR: test failed: (0xffffffffffffffff != 1.8446744073709552e19)
 in expression: typemax(UInt64) != 2.0^64
while loading numbers.jl, in expression starting on line 681
while loading /home/viral/julia/test/runtests.jl, in expression starting on line 41
julia> ccall(:pow, Float64, (Float64, Cint), 2, 64)
0.0

What would you want code_llvm of?

@vtjnash
Copy link
Sponsor Member

vtjnash commented Nov 6, 2014

Oops, second argument should have been Cdouble

and code_native of our test function

Apparently I wasn't awake this morning

@ViralBShah
Copy link
Member Author

No change with Cdouble.

julia> typemax(UInt64) != 2.0^64
false
julia> @code_native typemax(UInt64) != 2.0^64
    .text
Filename: operators.jl
<MCInst 407 <MCOperand Reg:12> <MCOperand Reg:12> <MCOperand Imm:14> <MCOperand Reg:0> <MCOperand Reg:70> <MCOperand Reg:71> <MCOperand Reg:77> <MCOperand Reg:10>>
<MCInst 28 <MCOperand Reg:77> <MCOperand Reg:12> <MCOperand Imm:8> <MCOperand Imm:14> <MCOperand Reg:0> <MCOperand Reg:0>>
<MCInst 2171 <MCOperand Reg:12> <MCOperand Reg:12> <MCOperand Imm:14> <MCOperand Reg:0> <MCOperand Reg:22> <MCOperand Reg:23>>
<MCInst 223 <MCOperand Reg:70> <MCOperand Reg:67> <MCOperand Imm:14> <MCOperand Reg:0> <MCOperand Reg:0>>
<MCInst 223 <MCOperand Reg:71> <MCOperand Reg:66> <MCOperand Imm:14> <MCOperand Reg:0> <MCOperand Reg:0>>
<MCInst 1342 <MCOperand Reg:22> <MCOperand Reg:14> <MCOperand Imm:14> <MCOperand Reg:0>>
<MCInst 55 <MCOperand Imm:48> <MCOperand Imm:14> <MCOperand Reg:0>>
<MCInst 1344 <MCOperand Reg:23> <MCOperand Reg:66> <MCOperand Reg:67> <MCOperand Imm:14> <MCOperand Reg:0>>
<MCInst 55 <MCOperand Imm:48> <MCOperand Imm:14> <MCOperand Reg:0>>
<MCInst 698 <MCOperand Reg:23> <MCOperand Reg:22> <MCOperand Imm:14> <MCOperand Reg:0>>
<MCInst 98 <MCOperand Reg:67> <MCOperand Reg:67> <MCOperand Reg:70> <MCOperand Imm:14> <MCOperand Reg:0> <MCOperand Reg:0>>
<MCInst 98 <MCOperand Reg:66> <MCOperand Reg:66> <MCOperand Reg:71> <MCOperand Imm:14> <MCOperand Reg:0> <MCOperand Reg:0>>
<MCInst 245 <MCOperand Reg:66> <MCOperand Reg:66> <MCOperand Reg:67> <MCOperand Imm:14> <MCOperand Reg:0> <MCOperand Reg:3>>
<MCInst 219 <MCOperand Reg:67> <MCOperand Imm:0> <MCOperand Imm:14> <MCOperand Reg:0> <MCOperand Reg:0>>
<MCInst 220 <MCOperand Reg:66> <MCOperand Imm:1> <MCOperand Imm:1> <MCOperand Reg:3>>
<MCInst 106 <MCOperand Imm:14> <MCOperand Reg:0>>
<MCInst 220 <MCOperand Reg:67> <MCOperand Imm:1> <MCOperand Imm:1> <MCOperand Reg:3>>
<MCInst 245 <MCOperand Reg:66> <MCOperand Reg:66> <MCOperand Reg:67> <MCOperand Imm:14> <MCOperand Reg:0> <MCOperand Reg:0>>
<MCInst 1247 <MCOperand Reg:12> <MCOperand Reg:12> <MCOperand Imm:14> <MCOperand Reg:0> <MCOperand Reg:22> <MCOperand Reg:23>>
<MCInst 147 <MCOperand Reg:12> <MCOperand Reg:12> <MCOperand Imm:14> <MCOperand Reg:0> <MCOperand Reg:70> <MCOperand Reg:71> <MCOperand Reg:77> <MCOperand Reg:11>>
julia> @code_llvm typemax(UInt64) != 2.0^64

define i1 @"julia_!=40091"(i64, double) {
top:
  %2 = uitofp i64 %0 to double, !dbg !8
  %3 = fptoui double %2 to i64, !dbg !8
  %notlhs = fcmp une double %2, %1, !dbg !8
  %notrhs = icmp ne i64 %3, %0, !dbg !8
  %4 = or i1 %notrhs, %notlhs, !dbg !8
  ret i1 %4, !dbg !8
}

@ihnorton
Copy link
Member

Here is something a little bit odd: putting this test inside a function on Win64 gives the wrong answer; doing the same on ARM gives the correct answer.

Windows 64:

julia> typemax(UInt64) == 2.0^64
false
julia> f() = typemax(UInt64) == 2.0^64
f (generic function with 1 method)
julia> f()
true
julia> @code_llvm f()
define i1 @"julia_f;1120"() {
top:
  ret i1 true, !dbg !3415
}
julia> @code_typed f()
1-element Array{Any,1}:
 :($(Expr(:lambda, Any[], Any[Any[],Any[],Any[]], :(begin  # none, line 1:
        return (top(eqfui64))((GetfieldNode(Base.Math,:box,Any))(Float64,(Getfie
ldNode(Base.Math,:powi_llvm,Any))(2.0,(GetfieldNode(Base.Math,:box,Any))(Int32,(
top(checked_trunc_sint))(Int32,64))::Int32))::Float64,0xffffffffffffffff)::Bool
    end::Bool))))

Arm v7 (master):

julia> typemax(UInt64) == 2.0^64
true
julia> f() = typemax(UInt64) == 2.0^64
f (generic function with 1 method)
julia> f()
false
julia> @code_llvm f()

define i1 @julia_f40625() {
top:
  ret i1 false, !dbg !8
}
julia> @code_typed f()
1-element Array{Any,1}:
 :($(Expr(:lambda, Any[], Any[Any[],Any[],Any[]], :(begin  # none, line 1:
        return (top(eqfui64))((GetfieldNode(Base.Math,:box,Any))(Float64,(GetfieldNode(Base.Math,:powi_llvm,Any))(2.0,64))::Float64,0xffffffffffffffff)::Bool
    end::Bool))))

@PallHaraldsson
Copy link
Contributor

"Win64 gives the wrong answer", maybe not helping much, just confirming (after fixing UInt32->Uint32, is it a typo or do both work in never versions?) also incorrect on Linux in my 64-bit 0.3.2 (non-ARM):

julia> f() = typemax(Uint64) == 2.0^64
f (generic function with 1 methods)

julia> f()
true

@tkelman
Copy link
Contributor

tkelman commented Nov 19, 2014

after fixing UInt32->Uint32, is it a typo or do both work in never versions?

UintXX were renamed recently to UIntXX on 0.4-dev. Slightly annoying change that has caused a few conflicts when trying to backport things, but it does look better and I think there are deprecations in place.

@ViralBShah
Copy link
Member Author

I am now using OpenBLAS here and weirdly enough I get this, which does not happen if I multiply 100x100 matrices.

julia> rand(1000,1000)*rand(1000,1000)
ERROR: InexactError()

@ViralBShah
Copy link
Member Author

Also stuff like arrayops and reduce that used to pass before is no longer passing. I don't know if this is because of the switch to using openblas or some other commit in the last month.

@nalimilan
Copy link
Member

@ViralBShah This sounds awfully like #9107.

@ViralBShah
Copy link
Member Author

I am filing individual issues for each failure.

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

No branches or pull requests

8 participants