From 96f4eec8ba8420e840492b3193596b27e239e60f Mon Sep 17 00:00:00 2001 From: Thomas Nagy Date: Sat, 11 Nov 2017 10:33:20 +0100 Subject: [PATCH] Improve the deadlock error message --- waflib/Runner.py | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/waflib/Runner.py b/waflib/Runner.py index a575312f..96ad6e05 100644 --- a/waflib/Runner.py +++ b/waflib/Runner.py @@ -213,15 +213,13 @@ class Parallel(object): pass else: if cond: - msg = 'check the build order for the tasks' - for tsk in self.postponed: - if not tsk.run_after: - msg = 'check the methods runnable_status' - break lst = [] for tsk in self.postponed: - lst.append('%s\t-> %r' % (repr(tsk), [id(x) for x in tsk.run_after])) - raise Errors.WafError('Deadlock detected: %s%s' % (msg, ''.join(lst))) + deps = [id(x) for x in tsk.run_after if not x.hasrun] + lst.append('%s\t-> %r' % (repr(tsk), deps)) + if not deps: + lst.append('\n task %r dependencies are done, check its *runnable_status*?' % id(tsk)) + raise Errors.WafError('Deadlock detected: check the task build order%s' % ''.join(lst)) self.deadlock = self.processed if self.postponed: