[gnome-continuous-yocto/gnomeostree-3.28-rocko: 391/8267] bitbake: bb.cooker: show limited traceback for parsing ExpansionError
- From: Emmanuele Bassi <ebassi src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-continuous-yocto/gnomeostree-3.28-rocko: 391/8267] bitbake: bb.cooker: show limited traceback for parsing ExpansionError
- Date: Sat, 16 Dec 2017 20:21:40 +0000 (UTC)
commit a809f1c6afb8d3cf2309078103f5fbdbf071cf09
Author: Christopher Larson <chris_larson mentor com>
Date: Sat Apr 30 12:52:46 2016 -0700
bitbake: bb.cooker: show limited traceback for parsing ExpansionError
It's useful to see tracebacks for ExpansionErrors, but only if we skip the
leading bitbake-internal elements, otherwise we see elements of the expansion
process.
As one example:
Before:
ERROR: ExpansionError during parsing
/scratch/yocto-new/external-as-needed/poky/meta/recipes-core/glibc/glibc-locale_2.23.bb: Failure expanding
variable PV[:=], expression was ${@get_external_libc_version(d)} which triggered exception AttributeError:
'module' object has no attribute 'external'
After:
ERROR: ExpansionError during parsing
/scratch/yocto-new/external-as-needed/poky/meta/recipes-core/glibc/glibc-locale_2.23.bb
Traceback (most recent call last):
File "PV[:=]", line 1, in <module>
File
"/scratch/yocto-new/external-as-needed/meta-sourcery/recipes-external/glibc/glibc-external-version.inc", line
3, in get_external_libc_version(d=<bb.data_smart.DataSmart
object at 0x7f05d2566950>):
sopattern = os.path.join(d.getVar('base_libdir', True), 'libc-*.so')
> found_paths = oe.external.find_sysroot_files([sopattern], d)
if found_paths:
ExpansionError: Failure expanding variable PV[:=], expression was ${@get_external_libc_version(d)}
which triggered exception AttributeError: 'module' object has no attribute 'external'
(Bitbake rev: 7ff5b9eed82b7f4fd138fc6d746a0b79efbea98a)
Signed-off-by: Christopher Larson <chris_larson mentor com>
Signed-off-by: Richard Purdie <richard purdie linuxfoundation org>
bitbake/lib/bb/cooker.py | 7 +++++--
1 files changed, 5 insertions(+), 2 deletions(-)
---
diff --git a/bitbake/lib/bb/cooker.py b/bitbake/lib/bb/cooker.py
index 5b76b4d..219c79e 100644
--- a/bitbake/lib/bb/cooker.py
+++ b/bitbake/lib/bb/cooker.py
@@ -2147,8 +2147,11 @@ class CookerParser(object):
return False
except bb.data_smart.ExpansionError as exc:
self.error += 1
- _, value, _ = sys.exc_info()
- logger.error('ExpansionError during parsing %s: %s', value.recipe, str(exc))
+ bbdir = os.path.dirname(__file__) + os.sep
+ etype, value, _ = sys.exc_info()
+ tb = list(itertools.dropwhile(lambda e: e.filename.startswith(bbdir), exc.traceback))
+ logger.error('ExpansionError during parsing %s', value.recipe,
+ exc_info=(etype, value, tb))
self.shutdown(clean=False)
return False
except Exception as exc:
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]