if other_task throws an exception, but the parent coroutine is waiting for main_task, it deadlocks.
if other_task throws an exception, but the parent coroutine is waiting for main_task, it deadlocks.