Sparse array problem: is this a known bug?


#1

I accidentally downloaded version 1.1.0-DEV.699 , and I think I discovered a bug with sparse arrays. So (a) is this a bug, (b) is it known by the developers, and © if so, where do I report it. (and (d), and I am the correct page of this forum(

What happens is for simplest of array operations, array addition, I get an “invalid array dimensions” error, even though all array dimensions seem correct; and it depends on the array size.

using Printf
using SparseArrays

function test(ssize)
    M1  = spzeros(ssize, ssize)
    M2  = spzeros(ssize, ssize)
    @printf("size(M1)  = %s\n", size(M1))
    @printf("size(M2)  = %s\n", size(M2))
    V = M1 + M2
    @printf("size(V)  = %s\n", size(V))
end

test(65679) # passes 
test(63999) # fails
#test(110233) # fails

Output:

$ julia stest2.jl
size(M1)  = (65679, 65679)
size(M2)  = (65679, 65679)
size(V)  = (65679, 65679)
size(M1)  = (63999, 63999)
size(M2)  = (63999, 63999)
ERROR: LoadError: invalid Array dimensions

#2

Don’t have 1.1-dev here but on 1.02 this works (as expected).


#3

https://github.com/JuliaLang/julia/issues Search for similar issues first, then file it. Worst case, someone will point out that it’s a duplicate. Bug reports (especially self-contained examples like yours) are always appreciated.


#4

On latest master commit I get

julia> test(63999) # fails
size(M1)  = (63999, 63999)
size(M2)  = (63999, 63999)
size(V)  = (63999, 63999)

julia> test(110233) # fails
size(M1)  = (110233, 110233)
size(M2)  = (110233, 110233)
size(V)  = (110233, 110233)

#5

By “latest master commit” do you mean the latest development version, 1.1.something ? If so, I probably just stumbled on a bad one when I downloaded 1.1.0-DEV.699 (on Nov 20).


#6

1.1.0-DEV.720 here and I can’t reproduce the issue.


#7

OK, it must be fixed, so I won’t report.
p.s. I downloaded stable 1.0.2 and my code (not just the toy example above) is working, which is good!