On Sun, Aug 8, 2010 at 2:05 AM, Khem Raj <[email protected]> wrote: > On Sun, Aug 8, 2010 at 1:44 AM, Khem Raj <[email protected]> wrote: >> On Tue, Jun 15, 2010 at 2:51 PM, Cliff Brake <[email protected]> wrote: >>> On Tue, Jun 15, 2010 at 5:42 PM, Cliff Brake <[email protected]> wrote: >>>> On Thu, Jun 3, 2010 at 5:17 AM, Richard Purdie <[email protected]> wrote: >>>>> On Wed, 2010-06-02 at 12:38 -0400, Cliff Brake wrote: >>>>>> I ran into some issues with srctree that are fixed by the following. >>>>>> Not sure if this is the correct, or valid fix, but perhaps someone can >>>>>> review: >>>>>> >>>>>> http://cgit.bec-systems.com/cgit.cgi/bitbake/commit/?h=cbrake/1.10-srctree-fixes&id=c6fe73d986d596dca7f76bd277cf279cd5c21308 >>>>> >>>>> This is just a bandaid over a bigger problem. >>>>> >>>>> The question is why the task isn't in that list. It should be either >>>>> returning success or failure once and that code should work. So it >>>>> sounds like a reference counting type issue and the question is why >>>>> srctree is breaking the refcounting? >>>>> >>>>> I'd really like to get to the underlying problem. Do you have a complete >>>>> event log for a case when this happens? Are the number of >>>>> starts/succeeds/fails balanced? I know you uncommented the "print event" >>>>> debug line and this info should help understand whats going on. >>>> >>>> cbr...@happy:/scratch/oe/oe-build/bitbake$ bitbake -DDDD autotools-demo > >>>> x2 >>>> Traceback (most recent call last): >>>> File "/scratch/oe/oe-build/bitbake/bin/bitbake", line 203, in <module> >>>> ret = main() >>>> File "/scratch/oe/oe-build/bitbake/bin/bitbake", line 194, in main >>>> return_value = ui_init(serverConnection.connection, >>>> serverConnection.events) >>>> File "/scratch/oe/oe-build/bitbake/lib/bb/ui/knotty.py", line 62, in init >>>> helper.eventHandler(event) >>>> File "/scratch/oe/oe-build/bitbake/lib/bb/ui/uihelper.py", line 31, >>>> in eventHandler >>>> del self.running_tasks[event.pid] >>>> KeyError: 19335 >>>> >>>> Logs are available below: >>>> >>>> http://bec-systems.com/oe/srctree_DDDD.txt >>>> http://bec-systems.com/oe/srctree_events.txt >>>> >>>> This is very easy to duplicate: >>>> >>>> cd <oe meta data>/recipes/ >>>> git clone git://git.bec-systems.com/autotools-demo >>>> cd - >>>> bitbake autotools-demo >>>> >>>> Note, you have to do a clean between bitbakes, or the problem goes away. >>> >>> As to unbalanced Start/Succeeded, the >>> >>> NOTE: package autotools-demo-1.1-r0: task do_populate_sysroot: Started >>> >>> is Started, but I don't ever see a Succeeded. >> >> yes thats the problem. The event that kills it is infact the task >> success event of do_populate_sysroot >> and this is the task thats rewired by srctree and is the master task >> to encapsulate all other tasks >> that need to be run in serial order >> >> NOTE: package autotools-demo-1.1-r0: task do_compile: Succeeded >> <bb.msg.MsgNote instance at 0x21d6950> >> NOTE: autotools-demo-1.1-r0: executing task do_install >> <bb.build.TaskStarted instance at 0x21d6a70> >> NOTE: package autotools-demo-1.1-r0: task do_install: Started >> <bb.build.TaskSucceeded instance at 0x21d6a28> >> NOTE: package autotools-demo-1.1-r0: task do_install: Succeeded >> <bb.build.TaskSucceeded instance at 0x21d6998> >> =================================> this is the last event >> FATAL: Unable to start to 'knotty' UI: 27221 >> NOTE: Tasks Summary: Attempted 2 tasks of which 0 didn't need to be >> rerun and 0 failed. >> FATAL: Traceback (most recent call last): >> File "/home/kraj/work/oe/bitbake/bin/bitbake", line 212, in <module> >> ret = main() >> File "/home/kraj/work/oe/bitbake/bin/bitbake", line 202, in main >> return_value = ui_init(serverConnection.connection, >> serverConnection.events) >> File "/home/kraj/work/oe/bitbake/lib/bb/ui/knotty.py", line 62, in init >> helper.eventHandler(event) >> File "/home/kraj/work/oe/bitbake/lib/bb/ui/uihelper.py", line 31, in >> eventHandler >> del self.running_tasks[event.pid] >> KeyError: 27221 > > > btw. I also changed srctree to not override do_populate_sysroot for > encapsulation but created a new > funcion and inserted it after do_populate_sysroot this time it > complete do_populate_sysroot but died > in similar fashion when event of successful completion of this new > task came in the end. > > So it seems something to do with the task the bb spawned and this > happens to be the task that > srctree used to encapsulate all other tasks it needed to.
hmmm srctree uses exec_task to execute the tasks it needs to inside this one mega task (encapsulation task) and thats causing this problem. If I change exec_task() call to exec_func() all works well. remains to be seen is whats difference between exec_func and exec_task I am going to sleep now and will find out tomorrow would much prefer if someone could clarify earlier :) RP, Chris ? > >> >> >> >>> >>> Thanks, >>> Cliff >>> _______________________________________________ >>> Bitbake-dev mailing list >>> [email protected] >>> https://lists.berlios.de/mailman/listinfo/bitbake-dev >>> >> > _______________________________________________ Bitbake-dev mailing list [email protected] https://lists.berlios.de/mailman/listinfo/bitbake-dev
