New submission from Marat Sharafutdinov <deca...@gmail.com>:
I'm trying to use dwdiff (https://os.ghalkes.nl/dwdiff.html) to compare two text files. While running subprocess I'm getting the following errors: ``` Traceback (most recent call last): File "test_dwdiff.py", line 17, in <module> asyncio.run(main()) File "/home/decaz/.pyenv/versions/3.7.4/lib/python3.7/asyncio/runners.py", line 43, in run return loop.run_until_complete(main) File "/home/decaz/.pyenv/versions/3.7.4/lib/python3.7/asyncio/base_events.py", line 579, in run_until_complete return future.result() File "test_dwdiff.py", line 14, in main await asyncio.gather(*(dwdiff() for __ in range(25))) File "test_dwdiff.py", line 10, in dwdiff await process.communicate() File "/home/decaz/.pyenv/versions/3.7.4/lib/python3.7/asyncio/subprocess.py", line 187, in communicate loop=self._loop) File "/home/decaz/.pyenv/versions/3.7.4/lib/python3.7/asyncio/subprocess.py", line 166, in _read_stream output = await stream.read() File "/home/decaz/.pyenv/versions/3.7.4/lib/python3.7/asyncio/streams.py", line 633, in read block = await self.read(self._limit) File "/home/decaz/.pyenv/versions/3.7.4/lib/python3.7/asyncio/streams.py", line 646, in read self._maybe_resume_transport() File "/home/decaz/.pyenv/versions/3.7.4/lib/python3.7/asyncio/streams.py", line 417, in _maybe_resume_transport self._transport.resume_reading() File "/home/decaz/.pyenv/versions/3.7.4/lib/python3.7/asyncio/unix_events.py", line 498, in resume_reading self._loop._add_reader(self._fileno, self._read_ready) AttributeError: 'NoneType' object has no attribute '_add_reader' ``` and ``` Exception in callback SubprocessStreamProtocol.pipe_data_received(1, b'\xd0\x9f\xd...b8\xd1\x8f.\n') handle: <Handle SubprocessStreamProtocol.pipe_data_received(1, b'\xd0\x9f\xd...b8\xd1\x8f.\n')> Traceback (most recent call last): File "/home/decaz/.pyenv/versions/3.7.4/lib/python3.7/asyncio/events.py", line 88, in _run self._context.run(self._callback, *self._args) File "/home/decaz/.pyenv/versions/3.7.4/lib/python3.7/asyncio/subprocess.py", line 71, in pipe_data_received reader.feed_data(data) File "/home/decaz/.pyenv/versions/3.7.4/lib/python3.7/asyncio/streams.py", line 440, in feed_data self._transport.pause_reading() File "/home/decaz/.pyenv/versions/3.7.4/lib/python3.7/asyncio/unix_events.py", line 495, in pause_reading self._loop._remove_reader(self._fileno) AttributeError: 'NoneType' object has no attribute '_remove_reader' ``` The code is the following: ``` import asyncio async def dwdiff(): process = await asyncio.create_subprocess_exec( '/usr/local/bin/dwdiff', 'f1.txt', 'f2.txt', stdout=asyncio.subprocess.PIPE, stderr=asyncio.subprocess.PIPE, ) await process.communicate() async def main(): await asyncio.gather(*(dwdiff() for __ in range(25))) asyncio.run(main()) ``` Two text files f1.txt and f2.txt are attached as archive. Perhaps it relates to https://bugs.python.org/issue29704 ---------- components: asyncio files: f1_and_f2.zip messages: 351090 nosy: asvetlov, decaz, yselivanov priority: normal severity: normal status: open title: AttributeError: 'NoneType' object has no attribute '_add_reader' / '_remove_reader' type: behavior versions: Python 3.7 Added file: https://bugs.python.org/file48589/f1_and_f2.zip _______________________________________ Python tracker <rep...@bugs.python.org> <https://bugs.python.org/issue38019> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com