Issue 1:
To reproduce:

using Distributed
addprocs(4)
using SharedArrays
matrix = SharedArray{ComplexF64}(10, 20, 30)
remotecall_fetch(() -> reshape(matrix, (100, :)), 2)

The error is

ERROR: On worker 2:
MethodError: Cannot `convert` an object of type RemoteException to an object of type Matrix{ComplexF64}
Closest candidates are:
convert(::Type{T}, ::AbstractArray) where T<:Array at array.jl:532
convert(::Type{T}, ::LinearAlgebra.Factorization) where T<:AbstractArray at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.6/LinearAlgebra/src/factorization.jl:58
convert(::Type{T}, ::T) where T<:AbstractArray at abstractarray.jl:14
...
Stacktrace:
[1] setproperty!
@ ./Base.jl:34
[2] init_loc_flds
@ /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.6/SharedArrays/src/SharedArrays.jl:428
[3] init_loc_flds
@ /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.6/SharedArrays/src/SharedArrays.jl:420 [inlined]
[4] reshape
@ /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.6/SharedArrays/src/SharedArrays.jl:310
[5] reshape
@ ./reshapedarray.jl:118
[6] #1
@ ./REPL[5]:1
[7] #106
@ /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.6/Distributed/src/process_messages.jl:278
[8] run_work_thunk
@ /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.6/Distributed/src/process_messages.jl:63
[9] macro expansion
@ /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.6/Distributed/src/process_messages.jl:278 [inlined]
[10] #105
@ ./task.jl:406
Stacktrace:
[1] #remotecall_fetch#143
@ /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.6/Distributed/src/remotecall.jl:394 [inlined]
[2] remotecall_fetch(::Function, ::Distributed.Worker)
@ Distributed /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.6/Distributed/src/remotecall.jl:386
[3] remotecall_fetch(::Function, ::Int64; kwargs::Base.Iterators.Pairs{Union{}, Union{}, Tuple{}, NamedTuple{(), Tuple{}}})
@ Distributed /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.6/Distributed/src/remotecall.jl:421
[4] remotecall_fetch(::Function, ::Int64)
@ Distributed /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.6/Distributed/src/remotecall.jl:421
[5] top-level scope
@ REPL[5]:1

Julia version:

julia> versioninfo()
Julia Version 1.6.0
Commit f9720dc2eb (2021-03-24 12:55 UTC)
Platform Info:
OS: Linux (x86_64-pc-linux-gnu)
CPU: AMD EPYC 7742 64-Core Processor
WORD_SIZE: 64
LIBM: libopenlibm
LLVM: libLLVM-11.0.1 (ORCJIT, znver2)

This issue is not happening on julia 1.5.4.

Issue 2:
i can reshape a SharedArray on the master process, but not workers. i get no errors on workers when getting the size or sum of a SharedArray. so reshape seems to be broken. or does my mental model of how they're supposed to work need corrected?

julia> using Distributed

julia> addprocs(3)
3-element Array{Int64,1}:
2
3
4

julia> using SharedArrays

julia> s=SharedArray{UInt16}(48,48,48,3);

julia> reshape(s,(1,size(s)...));

julia> f = @spawnat 2 reshape(s,(1,size(s)...))
Future(2, 1, 16, nothing)

julia> fetch(f)
ERROR: On worker 2:
MethodError: Cannot `convert` an object of type RemoteException to an object of type Array{UInt16,5}
Closest candidates are:
convert(::Type{T<:Array}, ::AbstractArray) where T<:Array at array.jl:418
convert(::Type{T<:AbstractArray}, ::T<:AbstractArray) where T<:AbstractArray at abstractarray.jl:14
convert(::Type{T<:AbstractArray}, ::LinearAlgebra.Factorization) where T<:AbstractArray at /Users/arthurb/src/julia/usr/share/julia/site/v0.7/LinearAlgebra/src/factorization.jl:51
...
setproperty! at ./sysimg.jl:11
init_loc_flds at /Users/arthurb/src/julia/usr/share/julia/site/v0.7/SharedArrays/src/SharedArrays.jl:419
init_loc_flds at /Users/arthurb/src/julia/usr/share/julia/site/v0.7/SharedArrays/src/SharedArrays.jl:411 [inlined]
reshape at /Users/arthurb/src/julia/usr/share/julia/site/v0.7/SharedArrays/src/SharedArrays.jl:301
#5 at /Users/arthurb/src/julia/usr/share/julia/site/v0.7/Distributed/src/macros.jl:66
#117 at /Users/arthurb/src/julia/usr/share/julia/site/v0.7/Distributed/src/process_messages.jl:265
run_work_thunk at /Users/arthurb/src/julia/usr/share/julia/site/v0.7/Distributed/src/process_messages.jl:56
run_work_thunk at /Users/arthurb/src/julia/usr/share/julia/site/v0.7/Distributed/src/process_messages.jl:65
#110 at ./event.jl:92
Stacktrace:
[1] #remotecall_fetch#157(::Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{(),Tuple{}}}, ::Function, ::Function, ::Distributed.Worker, ::Distributed.RRID, ::Vararg{Any,N} where N) at /Users/arthurb/src/julia/usr/share/julia/site/v0.7/Distributed/src/remotecall.jl:379
[2] remotecall_fetch(::Function, ::Distributed.Worker, ::Distributed.RRID, ::Vararg{Distributed.RRID,N} where N) at /Users/arthurb/src/julia/usr/share/julia/site/v0.7/Distributed/src/remotecall.jl:371
[3] #remotecall_fetch#160(::Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{(),Tuple{}}}, ::Function, ::Function, ::Int64, ::Distributed.RRID, ::Vararg{Distributed.RRID,N} where N) at /Users/arthurb/src/julia/usr/share/julia/site/v0.7/Distributed/src/remotecall.jl:392
[4] remotecall_fetch at /Users/arthurb/src/julia/usr/share/julia/site/v0.7/Distributed/src/remotecall.jl:392 [inlined]
[5] call_on_owner at /Users/arthurb/src/julia/usr/share/julia/site/v0.7/Distributed/src/remotecall.jl:465 [inlined]
[6] fetch(::Future) at /Users/arthurb/src/julia/usr/share/julia/site/v0.7/Distributed/src/remotecall.jl:497
[7] top-level scope

julia> s.pids
3-element Array{Int64,1}:
2
3
4

julia> f = @spawnat 2 size(s)
Future(2, 1, 20, nothing)

julia> fetch(f)
(48, 48, 48, 3)

julia> f = @spawnat 2 sum(s)
Future(2, 1, 22, nothing)

julia> fetch(f)
0x0000000000000000

this is on a 0-day master and 0.6.2. thanks!