<div dir="ltr"><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Apr 28, 2014 at 8:35 AM, Christopher Larson <span dir="ltr"><<a href="mailto:kergoth@gmail.com" target="_blank">kergoth@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="gmail_extra"><div class="adM"><div class=""><div class="gmail_quote">On Mon, Apr 28, 2014 at 8:31 AM, Chris Larson <span dir="ltr"><<a href="mailto:kergoth@gmail.com" target="_blank">kergoth@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div class="gmail_extra"><div><div class="gmail_quote">
On Mon, Apr 28, 2014 at 8:27 AM, Christopher Larson <span dir="ltr"><<a href="mailto:kergoth@gmail.com" target="_blank">kergoth@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div style="overflow:hidden">Doing so was causing leakage between the execs of the main value and that of<br>
the subshell value, and was causing the cached subshell value to be used for<br>
the overall variable. At the least this could cause execs contamination<br>
between two variables that while differing, run the same subshell. Beyond<br>
that, it's possible we could have been using an incomplete cached value of<br>
a subshell for that of the main value.<br>
<br>
Before this, bb_codeparser.dat would change between parses with differing<br>
bbfile parse order. After, it does not change.<br>
<br>
The codeparser cache version is bumped, to ensure we don't use potentially<br>
incorrect cached values from previous runs.<br>
<br>
This should hopefully resolve the difficult-to-reproduce issues we've seen at<br>
Mentor Graphics where bitbake emits a script to run a task and misses<br>
dependent functions, resulting in 'command not found' failures. This issue has<br>
also been mentioned on the oe devel list, where someone hit a case where<br>
oe_runmake was missing from a do_install task (IIRC). Adding debug information<br>
showed that bitbake's information about the variable dependencies for this<br>
task is inaccurate in the failure cases.</div></blockquote></div><br></div>We're trying to confirm the fix, but given it's not really reproducible, and only seemed</div><div class="gmail_extra">to be hit during automated builds, it'll be difficult to say with certainty that the problem</div>
<div class="gmail_extra">is resolved. That said, I think it's clear from reading the code that this is the correct</div><div class="gmail_extra">thing, and the previous beahvior was just an unintentional oversight when the cache</div>
<div class="gmail_extra">usage was added.</div></blockquote></div><br></div></div>For reference, <a href="https://gist.github.com/kergoth/11301539" target="_blank">https://gist.github.com/kergoth/11301539</a> was used to track changes to</div>
<div class="gmail_extra">
bb_codeparser.dat to investigate this.</div></blockquote></div><br>Sorry for yet another email on this thread, but I wanted to thank Richard for his guidance</div><div class="gmail_extra">on this. His suggestion to look at the caching, specifically with an eye toward file parse</div>
<div class="gmail_extra">order, proved to be dead on, and valuable.</div><div class="gmail_extra">-- <br>Christopher Larson<br>clarson at kergoth dot com<br>Founder - BitBake, OpenEmbedded, OpenZaurus<br>Maintainer - Tslib<br>
Senior Software Engineer, Mentor Graphics
</div></div>