Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Distributed.RemoteChannel & DataFrames #1679

Closed
dwfmarchant opened this issue Jan 15, 2019 · 3 comments
Closed

Distributed.RemoteChannel & DataFrames #1679

dwfmarchant opened this issue Jan 15, 2019 · 3 comments

Comments

@dwfmarchant
Copy link

dwfmarchant commented Jan 15, 2019

I'm having a problem working with Distributed.RemoteChannel any time DataFrames is loaded. I've come up with this minimal example to reproduce the problem:

using DataFrames
using Distributed
addprocs(1)
out = RemoteChannel(()->Channel(1), 2)
println(out)

on mac, this results in:

ERROR: LoadError: StackOverflowError:
deserialize(::Distributed.ClusterSerializer{Sockets.TCPSocket}, ::Type{RemoteChannel{Channel{Any}}}) at /Users/osx/buildbot/slave/package_osx64/build/usr/share/julia/stdlib/v1.0/Distributed/src/remotecall.jl:310 (repeats 100 times)
Stacktrace:
 [1] #remotecall_fetch#149(::Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{(),Tuple{}}}, ::Function, ::Function, ::Distributed.Worker, ::Function, ::Vararg{Any,N} where N) at /Users/osx/buildbot/slave/package_osx64/build/usr/share/julia/stdlib/v1.0/Distributed/src/remotecall.jl:379
 [2] remotecall_fetch(::Function, ::Distributed.Worker, ::Function, ::Vararg{Any,N} where N) at /Users/osx/buildbot/slave/package_osx64/build/usr/share/julia/stdlib/v1.0/Distributed/src/remotecall.jl:371
 [3] #remotecall_fetch#152(::Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{(),Tuple{}}}, ::Function, ::Function, ::Int64, ::Function, ::Vararg{Any,N} where N) at /Users/osx/buildbot/slave/package_osx64/build/usr/share/julia/stdlib/v1.0/Distributed/src/remotecall.jl:406
 [4] remotecall_fetch at /Users/osx/buildbot/slave/package_osx64/build/usr/share/julia/stdlib/v1.0/Distributed/src/remotecall.jl:406 [inlined]
 [5] RemoteChannel(::Function, ::Int64) at /Users/osx/buildbot/slave/package_osx64/build/usr/share/julia/stdlib/v1.0/Distributed/src/remotecall.jl:108
 [6] top-level scope at none:0
 [7] include at ./boot.jl:317 [inlined]
 [8] include_relative(::Module, ::String) at ./loading.jl:1044
 [9] include(::Module, ::String) at ./sysimg.jl:29
 [10] exec_options(::Base.JLOptions) at ./client.jl:266
 [11] _start() at ./client.jl:425

Removing the using DataFrames runs no problem. The way it is crashes seems to vary depending on the platform I'm running it on. On linux (Ubuntu 16.04.4) it does not crash, but hangs on the RemoteChannel line while slowly ramping memory use to 100%.

@dwfmarchant
Copy link
Author

Actually, it looks like this might be a julia bug (JuliaLang/julia#30679).

@bkamins
Copy link
Member

bkamins commented Jan 17, 2019

@pszufe - can you have a look at it?

@dwfmarchant
Copy link
Author

This is fixed by JuliaLang/julia/pull/30880.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants