From 34e72dd77387411b4db2d82a8e6a053b0cccdcfa Mon Sep 17 00:00:00 2001 From: Ross Burton Date: Thu, 14 Oct 2021 17:33:18 +0100 Subject: [PATCH] oe/utils: log exceptions in ThreadedWorker functions If the function a ThreadedWorker is executing raises an exception, don't use print() as that mostly disappears. Instead, output it to the logger. This is done using bb.mainlogger.debug directly instead of bb.debug() as this allows us to pass the exception instance directly, which is then incorporated into the log stream. Signed-off-by: Ross Burton Signed-off-by: Richard Purdie (cherry picked from commit 2f1ea25c222b344dd8b784b2bc73a6540ab30274) Signed-off-by: Anuj Mittal --- meta/lib/oe/utils.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/meta/lib/oe/utils.py b/meta/lib/oe/utils.py index a84039f585..2a8771dc28 100644 --- a/meta/lib/oe/utils.py +++ b/meta/lib/oe/utils.py @@ -480,7 +480,8 @@ class ThreadedWorker(Thread): try: func(self, *args, **kargs) except Exception as e: - print(e) + # Eat all exceptions + bb.mainlogger.debug("Worker task raised %s" % e, exc_info=e) finally: self.tasks.task_done() -- 2.40.1