Hi Dan,

It looks like you're running into the same issue I was, where the 
underlying HashDict cannot be serialized correctly to send to the other 
processes. 

I put up a pull request 
(https://github.com/JuliaLang/DataStructures.jl/pull/138) yesterday to 
hopefully fix this, feedback is appreciated. Apply these changes to your 
DataStructures.jl and see if that works.

Alternatively, as a temporory workaround, you can override the 
Base.(de)serialize methods in your own code.

Cheers,
Another Dan

On Tuesday, 27 October 2015 05:02:40 UTC-3, Daniel O'Malley wrote:
>
> I've recently encountered problems using pmap on a function that returns a 
> DataStructures.OrderedDict.
>
> import DataStructures
> @everywhere function f(x)
>     return DataStructures.OrderedDict(zip(["x"], [x]))
> end
> pmap(f, [1, 2])
>
> If the above code is run in a "julia -p 2" environment, it produce a 
> cascade of errors that seem to begin with
>
> ERROR: MethodError: `write` has no method matching 
> write(::SerializationState{TCPSocket}, ::Int32)
>
> In the original context that this example was trying to replicate, the 
> error was
>
> ERROR: MethodError: `read` has no method matching 
> read(::SerializationState{TCPSocket}, ::Type{Int32})
>
> Does anyone have advice on how to resolve this? Should these methods exist 
> in base julia? Am I doing something wrong?
>
> Thanks for your help!
>
> Dan
>

Reply via email to