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

Reply via email to