qemurunner: Fix stack trace generation in exception handler

Qemurunner exception handling code currently formats the stack trace
using traceback.format_exception(), with parameters introduced in python
3.10. This will fail on platforms with an older python version.

Change this to the old parameter order, still supported in current
python versions.

https://docs.python.org/3/library/traceback.html#traceback.format_exception

Fixes [YOCTO #15675]

(From OE-Core rev: 5f9ecf5f210e967594069f172728fd5b4d5b4f1d)

Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Mathieu Dubois-Briand
2024-12-06 17:51:48 +01:00
committed by Richard Purdie
parent 975861e6a1
commit 0c8b34b55d

View File

@@ -746,8 +746,10 @@ class LoggingThread(threading.Thread):
def threadtarget(self):
try:
self.eventloop()
except Exception as e:
self.logger.warning("Exception %s in logging thread" % traceback.format_exception(e))
except Exception:
exc_type, exc_value, exc_traceback = sys.exc_info()
self.logger.warning("Exception %s in logging thread" %
traceback.format_exception(exc_type, exc_value, exc_traceback))
finally:
self.teardown()