[bitbake-devel] trouble during parsing

Submitted by Jason Wessel on Feb. 25, 2013, 3:13 p.m.

Details

Message ID 512B7FA9.6030508@windriver.com
State New
Headers show

Commit Message

Jason Wessel Feb. 25, 2013, 3:13 p.m.
On 02/24/2013 08:28 PM, Flanagan, Elizabeth wrote:
> On Sun, Feb 24, 2013 at 6:12 PM, Flanagan, Elizabeth
> <elizabeth.flanagan@intel.com> wrote:
>> On Wed, Feb 20, 2013 at 6:31 AM, Chris Larson <clarson@kergoth.com> wrote:
>>>
>>> On Wed, Feb 20, 2013 at 5:54 AM, Andreas Müller
>>> <schnitzeltony@googlemail.com> wrote:
>>>>
>>>> with current bitbake master I get
>>>>
>>>> ERROR: Command execution failed: Traceback (most recent call
>>>> last):#########################################################
>>>> | ETA: 00:00:17
>>>> File "/home/andreas/oe-core/sources/bitbake/lib/bb/command.py", line
>>>> 92, in runAsyncCommand
>>>> self.cooker.updateCache()
>>>> File "/home/andreas/oe-core/sources/bitbake/lib/bb/cooker.py", line
>>>> 1330, in updateCache
>>>> if not self.parser.parse_next():
>>>> File "/home/andreas/oe-core/sources/bitbake/lib/bb/cooker.py", line
>>>> 1703, in parse_next
>>>> self.virtuals += len(result)
>>>> TypeError: object of type 'ExpansionError' has no len()
>>>
>>>
>>> Hmm, looks like it's returning the exceptions rather than raising them, for
>>> some reason, but that doesn't make much sense — the pool code always raises
>>> any exceptions from its imap iterator's next() method.
>>
>
> Ach, should have updated my email. Seems reverting
> 0a99563a4ea270594fd9a61da46f9387fb79dc66 cleared up the issue.

The real question is what are the expansion errors about here.  This is probably not the right way to fix it, but it at least allows you to see what is behind the expansion error:

Patch hide | download patch | download mbox

diff --git a/lib/bb/cooker.py b/lib/bb/cooker.py
index 448f899..b166425 100644
--- a/lib/bb/cooker.py
+++ b/lib/bb/cooker.py
@@ -1661,6 +1661,8 @@  class CookerParser(object):
         parsed = None
         try:
             parsed, result = self.results.next()
+            if isinstance(result, BaseException):
+                raise result
         except StopIteration:
             self.shutdown()
             return False