From: Richard Purdie <richard.purdie@linuxfoundation.org>
To: bitbake-devel <bitbake-devel@lists.openembedded.org>
Subject: Re: [PATCH] BBHandler: Ensure parser state engine is correctly reset for new parsing
Date: Sat, 08 Dec 2012 00:29:18 +0000 [thread overview]
Message-ID: <1354926558.12928.48.camel@ted> (raw)
In-Reply-To: <1354885851.12928.25.camel@ted>
On Fri, 2012-12-07 at 13:10 +0000, Richard Purdie wrote:
> The classes variable in particular could be in an odd state if parsing of a
> previous recipe had abruptly ended.
>
> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
> ---
> diff --git a/bitbake/lib/bb/parse/parse_py/BBHandler.py b/bitbake/lib/bb/parse/parse_py/BBHandler.py
> index 2e0647b..c4e579d 100644
> --- a/bitbake/lib/bb/parse/parse_py/BBHandler.py
> +++ b/bitbake/lib/bb/parse/parse_py/BBHandler.py
> @@ -107,14 +107,15 @@ def get_statements(filename, absolute_filename, base_name):
> return statements
>
> def handle(fn, d, include):
> - global __func_start_regexp__, __inherit_regexp__, __export_func_regexp__, __addtask_regexp__, __addhandler_regexp__, __infunc__, __body__, __residue__
> + global __func_start_regexp__, __inherit_regexp__, __export_func_regexp__, __addtask_regexp__, __addhandler_regexp__, __infunc__, __body__, __residue__, __inpython__, classes
> __body__ = []
> __infunc__ = ""
> __classname__ = ""
> __residue__ = []
> -
> + __inpython__ = False
>
> if include == 0:
> + classes = [ None, ]
> logger.debug(2, "BB %s: handle(data)", fn)
> else:
> logger.debug(2, "BB %s: handle(data, include)", fn)
This patch doesn't work. To cut a long story short, "classes" is getting
cached inside the ast statement cache and shouldn't be. This is likely
the source of the problems.
Trying to fix that leads to a voyage of discovery of other breakage :(
Its likely going to end up with the EXPORT_FUNCTION implementation
needing rewriting, or at least how/where its getting its class lists
from.
Cheers,
Richard
prev parent reply other threads:[~2012-12-08 0:44 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-12-07 13:10 [PATCH] BBHandler: Ensure parser state engine is correctly reset for new parsing Richard Purdie
2012-12-08 0:29 ` Richard Purdie [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1354926558.12928.48.camel@ted \
--to=richard.purdie@linuxfoundation.org \
--cc=bitbake-devel@lists.openembedded.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.