fn doesn't stop even though cancellation channel is signalled.