[bitbake-devel] [PATCH 1/1] bitbake: cookerdata: Avoid double exceptions for bb.fatal()
Richard Purdie
richard.purdie at linuxfoundation.org
Sun May 12 08:28:05 UTC 2019
On Thu, 2019-05-09 at 16:03 +0800, Robert Yang wrote:
> The bb.fatal() raises BBHandledException() which causes double exceptions,
> e.g.:
>
> Add 'HOSTTOOLS += "hello"' to conf/local.conf:
> $ bitbake -p
> [snip]
> During handling of the above exception, another exception occurred:
> [snip]
> ERROR: The following required tools (as specified by HOSTTOOLS) appear to be unavailable in PATH, please install them in order to proceed:
> hello
>
> Use "raise" rather than "raise bb.BBHandledException" to fix the double
> exceptions.
>
> [YOCTO #13267]
>
> Signed-off-by: Robert Yang <liezhi.yang at windriver.com>
> ---
> bitbake/lib/bb/cookerdata.py | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/bitbake/lib/bb/cookerdata.py
> b/bitbake/lib/bb/cookerdata.py
> index f8ae410..585edc5 100644
> --- a/bitbake/lib/bb/cookerdata.py
> +++ b/bitbake/lib/bb/cookerdata.py
> @@ -301,7 +301,9 @@ class CookerDataBuilder(object):
> if multiconfig:
> bb.event.fire(bb.event.MultiConfigParsed(self.mcdata
> ), self.data)
>
> - except (SyntaxError, bb.BBHandledException):
> + except bb.BBHandledException:
> + raise
> + except SyntaxError:
> raise bb.BBHandledException
> except bb.data_smart.ExpansionError as e:
> logger.error(str(e))
Hi Robert,
This doesn't sound right, where is this exception being printed a
second time? The point of "BBHandledException" is to say "don't print
any further traces for this exception". If this fixes the bug, it means
something somewhere is printing a trace for a second time when it
should pass through BBHandledException?
Cheers,
Richard
More information about the bitbake-devel
mailing list