[poky] [PATCH 1/1] base.bbclass: add lock file for do_unpack task

Cui, Dexuan dexuan.cui at intel.com
Tue Jan 4 18:18:24 PST 2011


Darren Hart wrote:
> On 01/04/2011 03:36 AM, Yu Ke wrote:
>> This patch intend to fix the random unpack failure of
>> linux-libc-headers-yocto 
>> and linux-yocto.
>> 
>> The root cause of the unpack failure is that: these two recpies has
>> the same URL, thus 
>> has the same dest file during the fetch and unpack phase:
>> do_fetch  : create tar ball
>> ${DL_DIR}/git_git.pokylinux.org.linux-yocto-2.6.37.tar.gz do_unpack
>> : extract tar ball
>> ${DL_DIR}/git_git.pokylinux.org.linux-yocto-2.6.37.tar.gz  
>> fetch phase is protected by lockfile, so it works fine. but unpack
>> phase is not lock protected, thus there is race condition like: when
>> linux-yocto do_unpack is extracting the tar ball,
>> linux-libc-headers-yocto do_fetch starts to create tar ball thus
>> overwrite linux-yocto's  
>> tar ball and cause linux-yocto do_unpack failure
>> 
>> To fix this issue, do_unpack also need to be protected by lock
> 
> Nice work! My out-for-review trace-cmd and kernelshark recipes will
> suffer the same issue.

Thanks to Ke's fix!
Previously I met with the linux-libc-headers unpack failure everytime... Now the failure has gone with the fix. 

Thanks,
-- Dexuan


More information about the poky mailing list