JuliaParallel / DistributedArrays.jl

Distributed Arrays in Julia
Other
197 stars 35 forks source link

Can't print errors during tests #168

Open vchuravy opened 6 years ago

vchuravy commented 6 years ago

This makes debugging quite infuriating ;)

test DArray reduce: Error During Test at /home/vchuravy/.julia/dev/DistributedArrays/test/darray.jl:217
  Got exception outside of a @test
  scalar indexing disabled
  Stacktrace:
   [1] _scalarindexingallowed at /home/vchuravy/.julia/dev/DistributedArrays/src/darray.jl:582 [inlined]
   [2] getindex at /home/vchuravy/.julia/dev/DistributedArrays/src/darray.jl:598 [inlined]
   [3] _show_nonempty(::IOContext{Base.GenericIOBuffer{Array{UInt8,1}}}, ::DArray{Int64,2,Array{Int64,2}}, ::String) at ./arrayshow.jl:386
   [4] show(::IOContext{Base.GenericIOBuffer{Array{UInt8,1}}}, ::DArray{Int64,2,Array{Int64,2}}) at ./arrayshow.jl:421
   [5] show_delim_array(::IOContext{Base.GenericIOBuffer{Array{UInt8,1}}}, ::Tuple{DArray{Int64,2,Array{Int64,2}}}, ::Char, ::Char, ::Char, ::Bool, ::Int64, ::Int64) at ./show.jl:695
   [6] show_delim_array at ./show.jl:680 [inlined]
   [7] show(::IOContext{Base.GenericIOBuffer{Array{UInt8,1}}}, ::Tuple{DArray{Int64,2,Array{Int64,2}}}) at ./show.jl:714
   [8] show_default(::IOContext{Base.GenericIOBuffer{Array{UInt8,1}}}, ::Any) at ./show.jl:332
   [9] show(::IOContext{Base.GenericIOBuffer{Array{UInt8,1}}}, ::Any) at ./show.jl:315
   [10] #sprint#325(::Pair{Symbol,Bool}, ::Int64, ::Function, ::Function, ::MethodError) at ./strings/io.jl:99
   [11] #sprint at ./none:0 [inlined]
   [12] Test.Error(::Symbol, ::Expr, ::MethodError, ::Array{Union{Ptr{Nothing}, InterpreterIP},1}, ::LineNumberNode) at /build/julia/src/julia/usr/share/julia/stdlib/v1.0/Test/src/Test.jl:144
   [13] top-level scope at /build/julia/src/julia/usr/share/julia/stdlib/v1.0/Test/src/Test.jl:1090
   [14] include(::String) at ./client.jl:388
   [15] top-level scope at none:0
   [16] include(::String) at ./client.jl:388
   [17] top-level scope at none:0
andreasnoack commented 6 years ago

You must be hitting the same issue in CuArrays. We could maybe overwrite the show methods to avoid scalar indexing.

vchuravy commented 6 years ago

Yes we are and this is how we work around it... https://github.com/JuliaGPU/GPUArrays.jl/blob/a305f78d8cd7310c0fa07310e8974d5350cc293b/src/abstractarray.jl#L53-L74

andreasnoack commented 6 years ago

In any case, it would be great to have our own array show methods since the fallbacks are extremely slow for distributed arrays.