# DistributedArrays Issues

**URL:** <https://discourse.julialang.org/t/distributedarrays-issues/1810>\
**Category:** General Usage\
**Tags:** question\
**Created:** [January 31, 2017, 10:34pm UTC](https://discourse.julialang.org/t/distributedarrays-issues/1810 "2017-01-31T22:34:18Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![goldfita](https://avatars.discourse-cdn.com/v4/letter/g/4491bb/32.png) [@goldfita](https://discourse.julialang.org/u/goldfita)\
**Post date:** [January 31, 2017, 10:34pm UTC](https://discourse.julialang.org/t/distributedarrays-issues/1810/1 "2017-01-31T22:34:18Z")

</div>

I’m experimenting with DistributedArrays and running into a few minor hiccups (Julia 0.5).

The first is that the first time in I include the file with the line `@everywhere using DistributedArray`, I get four warnings (for each core): `replacing module DistributedArrays`. I’m not sure what this means. I believe you’re supposed to load the module in every process.

The second issue is that if I close the DArray and sometime later remove all workers, I get the following error.

> ERROR (unhandled task failure): ArgumentError: stream is closed or unusable  
> in check\_open(::TCPSocket) at .\stream.jl:258  
> in uv\_write(::TCPSocket, ::Ptr{UInt8}, ::UInt64) at .\stream.jl:806  
> in flush(::TCPSocket) at .\stream.jl:855  
> in send\_msg\_(::Base.Worker, ::Base.MsgHeader, ::Base.CallMsg{:call\_fetch}, ::Bool) at .\multi.jl:327  
> in #remotecall\_fetch#608(::Array{Any,1}, ::Function, ::Function, ::Base.Worker, ::Tuple{Int64,Int64}, ::Vararg{Tuple{Int64,Int64},N}) at .\multi.jl:1065  
> in remotecall\_fetch(::Function, ::Base.Worker, ::Tuple{Int64,Int64}, ::Vararg{Tuple{Int64,Int64},N}) at .\multi.jl:1062  
> in #remotecall\_fetch#611(::Array{Any,1}, ::Function, ::Function, ::Int64, ::Tuple{Int64,Int64}, ::Vararg{Tuple{Int64,Int64},N}) at .\multi.jl:1080  
> in remotecall\_fetch(::Function, ::Int64, ::Tuple{Int64,Int64}, ::Vararg{Tuple{Int64,Int64},N}) at .\multi.jl:1080  
> in (::DistributedArrays.##28#30{Tuple{Int64,Int64}})() at .\task.jl:360  
> in sync\_end() at .\task.jl:311  
> in macro expansion at .\task.jl:327 [inlined]  
> in close\_by\_identity(::Tuple{Int64,Int64}, ::Array{Int64,1}) at C:\Users\goldfing\.julia\v0.5\DistributedArrays\src\core.jl:209  
> in (::DistributedArrays.##31#32{DistributedArrays.DArray{Float64,1,Array{Float64,1}}})() at .\event.jl:68

Looking at the source, I see that close doesn’t happen immediately; it gets scheduled. So, I assume if I’m going to clear out all the processes, I should never call close??? Is there a way to force it? I couldn’t find anything about it in the documentation.

The third issue is the symbol indexing shortcut doesn’t seem to work. If I use v[:lp], I get the following error. I don’t understand where it’s getting Tuple{Symbols} from. Getindex is clearly defined for Symbol in the code, and localpart(v) works just fine.

> indexing DistributedArrays.DArray{Float64,1,Array{Float64,1}} with types Tuple{Symbol} is not supported
