While going through the discussion in #3219 I noticed that a particular computation seems to be hanging when run in F# Interactive 4.1
cc @matthid
Repro steps
In F# Interactive 4.1
openSystemopenSystem.ThreadingopenSystem.Threading.Taskslettest()=lettcs=new TaskCompletionSource<int>()letcts=new CancellationTokenSource()let_= cts.Token.Register(fun()-> tcs.SetResult 42)async{
cts.CancelAfter 500let!result= tcs.Task |> Async.AwaitTask
return result
}|>fun a -> Async.RunSynchronously(a, cancellationToken = cts.Token)function test does execute as expected.
Expected behavior
Should fail with OperationCanceledException
Actual behavior
Hangs indefinitely
Workarounds
In compiled code, use FSharp.Core nuget package 4.1.17 (containing a version of FSharp.Core.dll 4.4.1.0 that does not contain this problem). Avoid using FSharp.Core nuget package 4.2.1 (which contains this problem).
In F# Interactive code, use a latest update to F# Interactive and your compiler tools (e.g.Visual Studio 2017 Update 3)
Related information
This only occurs in F# interactive 4.1 (32bit and 64bit builds) in both windows and mono/linux. It does not happen in console applications running FSharp.Core 4.4.1.0. I can't reproduce the issue in F# Interactive 4.0.
While going through the discussion in #3219 I noticed that a particular computation seems to be hanging when run in F# Interactive 4.1
cc @matthid
Repro steps
In F# Interactive 4.1
function test does execute as expected.
Expected behavior
Should fail with OperationCanceledException
Actual behavior
Hangs indefinitely
Workarounds
In compiled code, use FSharp.Core nuget package 4.1.17 (containing a version of FSharp.Core.dll 4.4.1.0 that does not contain this problem). Avoid using FSharp.Core nuget package 4.2.1 (which contains this problem).
In F# Interactive code, use a latest update to F# Interactive and your compiler tools (e.g.Visual Studio 2017 Update 3)
Related information
This only occurs in F# interactive 4.1 (32bit and 64bit builds) in both windows and mono/linux. It does not happen in console applications running FSharp.Core 4.4.1.0. I can't reproduce the issue in F# Interactive 4.0.