(solved) Task.Delay on Coroutine

UnityVersion : 2017.3.1f1

when I call
StartCoroutine(CoPP());
Unity just Freezed.

Is it bug? or not?
how to solve that problem?

public IEnumerator CoPP()
{
Debug.Log(1);
var task = HelloAsync();
Debug.Log(2);
yield return task;
Debug.Log(3);

Debug.Log(task.Result);
}

async Task HelloAsync()
{
await Task.Delay(TimeSpan.FromSeconds(1));

return 9999;
}

sorry that’s my mistake.that cause by my misundestand of task.

public static class TaskExtensions
{
public static IEnumerator AsIEnumerator(this Task task)
{
while (!task.IsCompleted)
{
yield return null;
}

if (task.IsFaulted)
{
throw task.Exception;
}
}
}

i can solve using this.

yield return task.AsIEnumerator();