[issue38019] AttributeError: 'NoneType' object has no attribute '_add_reader' / '_remove_reader'
Marat Sharafutdinov
report at bugs.python.org
Tue Sep 3 12:55:09 EDT 2019
New submission from Marat Sharafutdinov <decaz89 at 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 <report at bugs.python.org>
<https://bugs.python.org/issue38019>
_______________________________________
More information about the Python-bugs-list
mailing list