JuliaLang / JuliaLang/Distributed.jl
remove order dependency between "using" and "addprocs"
Nobody has claimed this yet.
- Dominant language
- Julia
- Stars
- 55
- Forks
- 19
- PR merge metrics
- No merged PRs in 30d
Description
The following sequence resulted in the worker segfaulting and terminating.
- using PTools
- addprocs(1)
- call a method in PTools. The method creates an anonymous function (in PTools code) and does a remotecall_fetch on worker 2 for executing the said anonymous function.
- worker 2 terminates at a deserialize call.
Flipping the order of addprocs and using results in proper execution.
Suggest that we keep track of modules loaded in process 1, and load the same modules on all workers whenever we do an addprocs
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Reproduce the reported sequence involving using PTools, addprocs(1), and remotecall_fetch of an anonymous function, then compare it with the reversed order. Investigate the module-loading path around addprocs and the worker's deserialize failure; done means workers execute the call without terminating regardless of the order.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- julia
- Domain
- distributed-systems
- Issue type
- Bug
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 28/100