| Summary: | Toaster fails to start a build with recent changes in when cookerdata is populated | ||||||
|---|---|---|---|---|---|---|---|
| Product: | [Build System, Metadata & Runtime] BitBake | Reporter: | Tim Orling <tim.orling> | ||||
| Component: | bitbake | Assignee: | Tim Orling <tim.orling> | ||||
| Status: | RESOLVED FIXED | QA Contact: | |||||
| Severity: | critical | ||||||
| Priority: | High | CC: | david.reyna, poky.bs.watcher, poky.watcher, randy.e.witt, randy.macleod, richard.purdie | ||||
| Version: | 3.2 | ||||||
| Target Milestone: | 3.2 M4 | ||||||
| Hardware: | x86 | ||||||
| OS: | Multiple | ||||||
| Whiteboard: | |||||||
| OS type for building Yocto: | --- | Type of Regression: | Regression (Used to work) | ||||
| Verified: | Documentation change: | Don't know | |||||
| Attachments: |
|
||||||
|
Description
Tim Orling
2020-10-07 19:21:04 UTC
In Comment 1 I meant to say "maxuiwait" has no effect. Question: what are the units on maxuiwait? http://git.yoctoproject.org/cgit/cgit.cgi/poky/tree/bitbake/lib/bb/server/process.py#n56 I realize I did not change the default server_timeout. Question: what are the units on server_timeout? http://git.yoctoproject.org/cgit/cgit.cgi/poky/tree/bitbake/lib/bb/server/process.py#n66 http://git.yoctoproject.org/cgit/cgit.cgi/poky/tree/bitbake/lib/bb/server/xmlrpcclient.py#n44 But this would only matter if we have a race condition or a slow process in XMLRPC protocol. More likely the problem is elswhere? The instrumentation I have so far is in this poky-contrib: http://git.yoctoproject.org/cgit/cgit.cgi/poky-contrib/log/?h=timo/fun-with-toaster-failures What I am working on now is using pdb or other debugging to try to step through and figure out what is happening. But TBH, we had a 3 day weekend and I brewed an Oatmeal Cream Stout. With sufficient instrumentation, we determined that server.runCmd("setEventMask"... threw BBHandledException in cookerdata.parseBaseConfiguration. This was the hint that was needed to realize the system was trying to parse before the environment was setup.
RP figured out that it was improper sequencing of events in toasterui.
diff --git a/bitbake/lib/bb/ui/toasterui.py b/bitbake/lib/bb/ui/toasterui.py
index 9260f5d9d7..ec5bd4f105 100644
--- a/bitbake/lib/bb/ui/toasterui.py
+++ b/bitbake/lib/bb/ui/toasterui.py
@@ -131,6 +131,10 @@ def main(server, eventHandler, params):
helper = uihelper.BBUIHelper()
+ if not params.observe_only:
+ params.updateToServer(server, os.environ.copy())
+ params.updateFromServer(server)
+
# TODO don't use log output to determine when bitbake has started
#
# WARNING: this log handler cannot be removed, as localhostbecontroller
@@ -162,8 +166,6 @@ def main(server, eventHandler, params):
logger.warning("buildstats is not enabled. Please enable INHERIT += \"buildstats\" to generate build statistics.")
if not params.observe_only:
- params.updateFromServer(server)
- params.updateToServer(server, os.environ.copy())
cmdline = params.parseActions()
if not cmdline:
print("Nothing to do. Use 'bitbake world' to build everything, or run 'bitbake --help' for usage information.")
https://patchwork.openembedded.org/patch/177299/ https://lists.openembedded.org/g/bitbake-devel/message/11757 Merged: http://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/?id=7cad26d585f67fa6bf873b8be361c6335a7db376 This fix also fixes CROPS toaster-container on "master". https://travis-ci.org/github/moto-timo/toaster-container/builds/736719631 |