Open
Description
Not sure whether a bug or by design, but I have discovered a hanging behaviour that seems to be related to the cancellation of sibling computations in the event of an exception
Repro steps
open System
open System.Threading.Tasks
let test() =
async {
let worker i = async {
if i = 9 then
do failwith "error"
else
do! Task.Delay Int32.MaxValue |> Async.AwaitTask
}
return! Seq.init 10 worker |> Async.Parallel
} |> Async.RunSynchronously
test()
Expected behavior
Should fail immediately with an exception
Actual behavior
Hangs indefinitely
Known workarounds
Have the awaited task cancel cooperatively by passing the cancellation token.
Related information
I've been able to reproduce this in builds of F# 4.1 in Desktop CLR and mono.
Metadata
Metadata
Assignees
Labels
Type
Projects
Status
In Progress