[gnome-continuous-yocto/gnomeostree-3.28-rocko: 258/8267] bitbake: event/msg: Pass formatted exceptions
- From: Emmanuele Bassi <ebassi src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-continuous-yocto/gnomeostree-3.28-rocko: 258/8267] bitbake: event/msg: Pass formatted exceptions
- Date: Sat, 16 Dec 2017 20:10:29 +0000 (UTC)
commit a46d485856f25df569ca964e50640efa5919aed9
Author: Richard Purdie <richard purdie linuxfoundation org>
Date: Thu May 12 08:05:32 2016 +0100
bitbake: event/msg: Pass formatted exceptions
python3 can't cope with the previous approach we were using to pass
exceptions through the RPC. Avoid this by creating a formatted exception
on the sender side.
(Bitbake rev: d7db75020ed727677afbad07a90fb3eac0bf2c45)
Signed-off-by: Richard Purdie <richard purdie linuxfoundation org>
bitbake/lib/bb/event.py | 3 ++-
bitbake/lib/bb/msg.py | 5 +++--
2 files changed, 5 insertions(+), 3 deletions(-)
---
diff --git a/bitbake/lib/bb/event.py b/bitbake/lib/bb/event.py
index 5a03a31..29b14f6 100644
--- a/bitbake/lib/bb/event.py
+++ b/bitbake/lib/bb/event.py
@@ -610,8 +610,9 @@ class LogHandler(logging.Handler):
if hasattr(tb, 'tb_next'):
tb = list(bb.exceptions.extract_traceback(tb, context=3))
# Need to turn the value into something the logging system can pickle
- value = str(value)
record.bb_exc_info = (etype, value, tb)
+ record.bb_exc_formatted = bb.exceptions.format_exception(etype, value, tb, limit=5)
+ value = str(value)
record.exc_info = None
fire(record, None)
diff --git a/bitbake/lib/bb/msg.py b/bitbake/lib/bb/msg.py
index 786b5ae..6fdd1f5 100644
--- a/bitbake/lib/bb/msg.py
+++ b/bitbake/lib/bb/msg.py
@@ -90,8 +90,9 @@ class BBLogFormatter(logging.Formatter):
if self.color_enabled:
record = self.colorize(record)
msg = logging.Formatter.format(self, record)
-
- if hasattr(record, 'bb_exc_info'):
+ if hasattr(record, 'bb_exc_formatted'):
+ msg += '\n' + ''.join(record.bb_exc_formatted)
+ elif hasattr(record, 'bb_exc_info'):
etype, value, tb = record.bb_exc_info
formatted = bb.exceptions.format_exception(etype, value, tb, limit=5)
msg += '\n' + ''.join(formatted)
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]