Got it, it is the same problem I've been facing.

I have got two other solutions for this:

- artificially wait 1 second after the "toaster start" command is given to
make sure the observer settles. It's really poor design, and not
bullet-proof but you don't have to monitor log files. This is employed
right now with the toaster build control module.

- bitbake can be run directly with the toaster UI specified, and so you do
not have to manually start the observer. I tried to modify toaster start to
run the observer in the same command, but it involves some tricky logic for
sending it into background after the connection is confirmed, so you can
issue new commands, and not run into the race condition. this is still in
the works.

Meanwhile I'll take in your patch as to move things forward.

Alex


On Wed, Jun 18, 2014 at 4:14 PM, Lerner, Dave <[email protected]>
wrote:

> Hi Alex,
> The commit is an internal commit to our repos, not a commit in a Poky repo.
> -Dave
>
> commit 6a390954d1e6b92d82fea86b8041d6c8489c25ff
> Author: Dave Lerner <[email protected]>
> Date:   Tue Jun 17 14:34:48 2014 -0500
>
>     Show in the log that ToasterUi is ready to receive events.
>
>     Issue: TA53702
>
>     It was observed that a sequence in a script such as
>        bitbake --server-only ..
>        bitbake --observe-only ..
>        bitbake <some target>
>     could generate events from the server to the observer before
>     the observer was ready to read the events, and the early events
>     of builds were consistently dropped.  Adding a "ready" note in the
>     log allows the script to scan for that message before proceeding
>     to building a target.
>
>     Upstream Status: Pending
>     Signed-off-by: Dave Lerner <[email protected]>
>
> diff --git a/lib/bb/ui/toasterui.py b/lib/bb/ui/toasterui.py
> index b1c80cc..5f87a9d 100644
> --- a/lib/bb/ui/toasterui.py
> +++ b/lib/bb/ui/toasterui.py
> @@ -91,6 +91,7 @@ def main(server, eventHandler, params ):
>      errors = 0
>      warnings = 0
>      taskfailures = []
> +    first = True
>
>      buildinfohelper = BuildInfoHelper(server, build_history_enabled)
>
> @@ -98,6 +99,9 @@ def main(server, eventHandler, params ):
>      while True:
>          try:
>              event = eventHandler.waitEvent(0.25)
> +            if first:
> +                first = False
> +                logger.info("ToasterUI waiting for events")
>
>              if event is None:
>                  if main.shutdown > 0:
>



-- 
Alex Damian
Yocto Project
SSG / OTC
-- 
_______________________________________________
toaster mailing list
[email protected]
https://lists.yoctoproject.org/listinfo/toaster

Reply via email to