Skip to content

Cannot use sys.stdout in create_subprocess_exec. #136

Description

@ojii
  • 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 of PYTHONASYNCIODEBUG.

Code for reproduction:

importasyncioimportsysimportuvloopasyncdefrun_subprocess():
proc=awaitasyncio.create_subprocess_exec(
sys.executable, '-c', 'print(1)',
stdout=sys.stdout,
)
awaitproc.communicate()
defrun(loop_factory):
loop=loop_factory()
asyncio.set_event_loop(loop)
try:
loop.run_until_complete(run_subprocess())
finally:
loop.close()
defmain():
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__returnself.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_filesValueError: invalid stdout argument value 1

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions