It does seem like it might be a race condition of some sort - or at least an unhandled case - in Twisted's process handling.
It's in the writer path, so I wonder if the umask operation completes quickly enough, perhaps the output handle is in fact invalid by the time the buildbot parent gets to that section of code. The umask step looks like it's only used by the DMG builder, not for regular test builds. It's fairly uncommon - just twice so far across all branches under the new master. To be honest, we could probably just eliminate that step at this point from the DMG builds (not sure it serves much purpose) or maybe add a small sleep along with the umask to ensure the child process is around long enough for the parent to complete the setup. -- David On Thu, Dec 21, 2017 at 5:27 PM, Victor Stinner <victor.stin...@gmail.com> wrote: > Hi, > > What is the following failure? Can it be an internal buildbot bot? > > http://buildbot.python.org/all/#/builders/69/builds/75 > > error in RunProcess._startCommand > Traceback (most recent call last): > File "/Library/Frameworks/Python.framework/Versions/2.7/lib/ > python2.7/site-packages/buildslave/runprocess.py", > line 426, in start > self._startCommand() > File "/Library/Frameworks/Python.framework/Versions/2.7/lib/ > python2.7/site-packages/buildslave/runprocess.py", > line 550, in _startCommand > usePTY=self.usePTY) > File "/Library/Frameworks/Python.framework/Versions/2.7/lib/ > python2.7/site-packages/buildslave/runprocess.py", > line 572, in _spawnProcess > processProtocol, uid, gid, childFDs) > File "/Library/Frameworks/Python.framework/Versions/2.7/lib/ > python2.7/site-packages/twisted/internet/process.py", > line 747, in __init__ > parentFD, forceReadHack=True) > File "/Library/Frameworks/Python.framework/Versions/2.7/lib/ > python2.7/site-packages/twisted/internet/process.py", > line 156, in __init__ > if not stat.S_ISFIFO(os.fstat(self.fileno()).st_mode): > OSError: [Errno 9] Bad file descriptor > > Traceback (most recent call last): > File "/data/buildbot/venv/lib/python3.4/site-packages/ > twisted/internet/defer.py", > line 500, in errback > self._startRunCallbacks(fail) > File "/data/buildbot/venv/lib/python3.4/site-packages/ > twisted/internet/defer.py", > line 567, in _startRunCallbacks > self._runCallbacks() > File "/data/buildbot/venv/lib/python3.4/site-packages/ > twisted/internet/defer.py", > line 653, in _runCallbacks > current.result = callback(current.result, *args, **kw) > File "/data/buildbot/venv/lib/python3.4/site-packages/ > twisted/internet/defer.py", > line 1442, in gotResult > _inlineCallbacks(r, g, deferred) > --- <exception caught here> --- > File "/data/buildbot/venv/lib/python3.4/site-packages/ > twisted/internet/defer.py", > line 1386, in _inlineCallbacks > result = g.send(result) > File "/data/buildbot/venv/lib/python3.4/site-packages/ > buildbot/process/buildstep.py", > line 705, in run > results = yield self._start_deferred > builtins.TypeError: Can't convert 'bytes' object to str implicitly > > Victor > _______________________________________________ > Python-Buildbots mailing list > Python-Buildbots@python.org > https://mail.python.org/mailman/listinfo/python-buildbots > _______________________________________________ Python-Buildbots mailing list Python-Buildbots@python.org https://mail.python.org/mailman/listinfo/python-buildbots