runqueue: Improve handling of fakeworker failing to start
PATCH 1/1 runqueue: Improve handling of fakeworker failing to start
Currently if the fakeworker failes to start the output from bitbake is confusing. Improve the error handling to give a clear indication of what failed.
Patch from Chris Larson.
Signed-off-by Richard Purdie <[email protected]>
bitbake/lib/bb/runqueue.py +6 -1
@@ -1626,7 +1626,12 @@ class RunQueueExecuteTasks(RunQueueExecute): taskdep = self.rqdata.dataCache.task_deps[fn] if 'fakeroot' in taskdep and taskname in taskdep['fakeroot'] and not self.cooker.configuration.dry_run: if not self.rq.fakeworker: - self.rq.start_fakeworker(self) + try: + self.rq.start_fakeworker(self) + except OSError as exc: + logger.critical("Failed to spawn fakeroot worker to run %s:%s: %s" % (fn, taskname, str(exc))) + self.rq.state = runQueueFailed + return True self.rq.fakeworker.stdin.write("<runtask>" + pickle.dumps((fn, task, taskname, False, self.cooker.collection.get_file_appends(fn), taskdepdata)) + "</runtask>") self.rq.fakeworker.stdin.flush() else: