utils: Improve traceback from better_exec internal errors
PATCH 1/1 utils: Improve traceback from better_exec internal errors
If you break the internals of better_exec(), you get a very weird error about tb_next not being a method of None. Fix this by checking we can step back a trace level.
Signed-off-by Richard Purdie <[email protected]>
bitbake/lib/bb/utils.py +4 -2
@@ -323,8 +323,10 @@ def _print_exception(t, value, tb, realfile, text, context): exception = traceback.format_exception_only(t, value) error.append('Error executing a python function in %s:\n' % realfile) - # Strip 'us' from the stack (better_exec call) - tb = tb.tb_next + # Strip 'us' from the stack (better_exec call) unless that was where the + # error came from + if tb.tb_next is not None: + tb = tb.tb_next textarray = text.split('\n')