diff mbox series

qemurunner: Fix stack trace generation in exception handler

Message ID 20241206-mathieu-qemurunner_exception-v1-1-351a8ea80621@bootlin.com
State New
Headers show
Series qemurunner: Fix stack trace generation in exception handler | expand

Commit Message

Mathieu Dubois-Briand Dec. 6, 2024, 4:42 p.m. UTC
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]

Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
---
 meta/lib/oeqa/utils/qemurunner.py | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)


---
base-commit: 942b6ab25f0c1df02920997b63db89187fbdeea1
change-id: 20241206-mathieu-qemurunner_exception-e9a1c49456d7

Best regards,
diff mbox series

Patch

diff --git a/meta/lib/oeqa/utils/qemurunner.py b/meta/lib/oeqa/utils/qemurunner.py
index 98a11e1a2c3c..6cab9aa6b202 100644
--- a/meta/lib/oeqa/utils/qemurunner.py
+++ b/meta/lib/oeqa/utils/qemurunner.py
@@ -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()