Closed
Description
- uvloop version: 0.9.1
- Python version: 3.6.5
- Platform: macOS 10.13.3
- Can you reproduce the bug with
PYTHONASYNCIODEBUG
in env?: Same behavior irregardless ofPYTHONASYNCIODEBUG
.
Code for reproduction:
import asyncio
import sys
import uvloop
async def run_subprocess():
proc = await asyncio.create_subprocess_exec(
sys.executable, '-c', 'print(1)',
stdout=sys.stdout,
)
await proc.communicate()
def run(loop_factory):
loop = loop_factory()
asyncio.set_event_loop(loop)
try:
loop.run_until_complete(run_subprocess())
finally:
loop.close()
def main():
print('asyncio')
run(asyncio.new_event_loop)
print('uvloop')
run(uvloop.new_event_loop)
if __name__ == '__main__':
main()
Output:
asyncio
1
uvloop
Traceback (most recent call last):
File "hoge.py", line 32, in <module>
main()
File "hoge.py", line 28, in main
run(uvloop.new_event_loop)
File "hoge.py", line 19, in run
loop.run_until_complete(run_subprocess())
File "uvloop/loop.pyx", line 1364, in uvloop.loop.Loop.run_until_complete
File "hoge.py", line 10, in run_subprocess
stdout=sys.stdout,
File "/usr/local/Cellar/python/3.6.5/Frameworks/Python.framework/Versions/3.6/lib/python3.6/asyncio/coroutines.py", line 110, in __next__
return self.gen.send(None)
File "/usr/local/Cellar/python/3.6.5/Frameworks/Python.framework/Versions/3.6/lib/python3.6/asyncio/subprocess.py", line 225, in create_subprocess_exec
stderr=stderr, **kwds)
File "uvloop/loop.pyx", line 2368, in __subprocess_run
File "uvloop/handles/process.pyx", line 564, in uvloop.loop.UVProcessTransport.new
File "uvloop/handles/process.pyx", line 49, in uvloop.loop.UVProcess._init
File "uvloop/handles/process.pyx", line 38, in uvloop.loop.UVProcess._init
File "uvloop/handles/process.pyx", line 254, in uvloop.loop.UVProcess._init_options
File "uvloop/handles/process.pyx", line 456, in uvloop.loop.UVProcessTransport._init_files
ValueError: invalid stdout argument value 1