Thanks Amit!  In the GitHub issue that you posted I'll add a link to back 
to this thread.

On Wednesday, April 29, 2015 at 10:40:54 PM UTC-5, Amit Murthy wrote:
>
> Simpler case.
>
> julia> function test2()
>            @async x=1
>            x = 2
>        end
>
> test2 (generic function with 1 method)
>
>
> julia> test2()
>
> ERROR: UndefVarError: x not defined
>
>  in test2 at none:2
>
>
> Issue created : https://github.com/JuliaLang/julia/issues/11062
>
>
> On Thu, Apr 30, 2015 at 8:55 AM, Amit Murthy <[email protected] 
> <javascript:>> wrote:
>
>> Yes, this looks like a bug. In fact the below causes an error:
>>
>> function test2()
>>       ref = @spawnat workers()[1] begin
>>                x=1
>>            end; 
>>       x=2
>> end
>>
>> Can you open an issue on github?
>>
>>
>> On Thu, Apr 30, 2015 at 7:07 AM, Sam Kaplan <[email protected] 
>> <javascript:>> wrote:
>>
>>> 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