[New-bugs-announce] [issue39386] getting invalid data from async iterator

John-Mark Gurney report at bugs.python.org
Sun Jan 19 01:43:40 EST 2020


New submission from John-Mark Gurney <jmg at funkthat.com>:

If I create a coro from an async iterator, then wait_for it w/ a timeout, but shielded, so it won't get canceled, and then await upon it, it returns invalid data.

See the attached test case.

The reason I do the following is to make sure that an async iterator that I have written doesn't return data early, and needs to wait till later.  If I didn't shield it, then the async iterator would get cancelled, and I don't want this.

I'd expect either correct results to be returned, or an exception to be raised, but in this case, and the docs for wait_for ( https://docs.python.org/3/library/asyncio-task.html#asyncio.wait_for ), I'd expect the correct results to be returned.


In the attached case, this is the results that I get:
$python3.7 asyncitertc.py 
3.7.5 (default, Oct 18 2019, 23:59:39) 
[Clang 7.0.2 (clang-700.1.81)]
timed out
yielding 1
results: None
getting 2: 2

I do not have python 3.8 to test with.

----------
files: asyncitertc.py
messages: 360254
nosy: jmg
priority: normal
severity: normal
status: open
title: getting invalid data from async iterator
Added file: https://bugs.python.org/file48852/asyncitertc.py

_______________________________________
Python tracker <report at bugs.python.org>
<https://bugs.python.org/issue39386>
_______________________________________


More information about the New-bugs-announce mailing list