Hello,

I have the following code example:
addprocs(1)

function test1()
    ref = @spawnat workers()[1] begin
        x = 1
    end
    y = fetch(ref)
    @show y
end

function test2()
    ref = @spawnat workers()[1] begin
        x = 1
    end
    x = fetch(ref)
    @show x
end

function main()
    test1()
    test2()
end

main()

giving the following output:
y => 1
ERROR: x not defined
 in test2 at /tmp/test.jl:12
 in main at /tmp/test.jl:21
 in include at /usr/bin/../lib64/julia/sys.so
 in include_from_node1 at ./loading.jl:128
 in process_options at /usr/bin/../lib64/julia/sys.so
 in _start at /usr/bin/../lib64/julia/sys.so
while loading /tmp/test.jl, in expression starting on line 24


Is this a valid error in the code or a bug in Julia?  The error seems to be 
caused when the variable that is local to the `@spawnat` block has its name 
mirrored by the variable being assigned to by the `fetch` call.

For reference, I am running version 0.3.6:
               _
   _       _ _(_)_     |  A fresh approach to technical computing
  (_)     | (_) (_)    |  Documentation: http://docs.julialang.org
   _ _   _| |_  __ _   |  Type "help()" for help.
  | | | | | | |/ _` |  |
  | | |_| | | | (_| |  |  Version 0.3.6
 _/ |\__'_|_|_|\__'_|  |  
|__/                   |  x86_64-redhat-linux


Thanks!

Sam

Reply via email to