Message292575
In my application, calling communicate() on a Popen instance is giving the following exception:
. . .
File "/usr/lib/python3.5/subprocess.py", line 1072, in communicate
stdout, stderr = self._communicate(input, endtime, timeout)
File "/usr/lib/python3.5/subprocess.py", line 1693, in _communicate
stdout = self._fileobj2output[self.stdout]
AttributeError: 'Popen' object has no attribute '_fileobj2output'
I have not been able to reproduce this in a simple example, but I imagine this could happen if Popen._communicate() raises an exception in the first 20 lines or so--this would cause _communication_started to be set True, even though _fileobj2output has not been initialized.
I suggest setting self._fileobj2output = None in Popen.__init__() and changing the relevant code in _communicate() from
if not self._communication_started:
self._fileobj2output = {}
to:
if self._fileobj2output is None:
self._fileobj2output = {} |
|
Date |
User |
Action |
Args |
2017-04-29 08:21:08 | Luke Campagnola | set | recipients:
+ Luke Campagnola |
2017-04-29 08:21:08 | Luke Campagnola | set | messageid: <1493454068.21.0.26238856169.issue30203@psf.upfronthosting.co.za> |
2017-04-29 08:21:08 | Luke Campagnola | link | issue30203 messages |
2017-04-29 08:21:07 | Luke Campagnola | create | |
|