<div dir="ltr"><div dir="ltr"><div dir="ltr">Hi, Stefan:<div><br></div><div>Could you help confirm this? </div><div><br></div><div>Hi, Richard:</div><div><br></div><div>May I know how has the issue been fixed?</div><div><br></div><div>I updated the tip to:</div><div>```</div><div>commit 8c8ecec2a722bc2885e2648d41ac8df07bdf660d<br></div><div><div> gitsmy.py: Fix unpack of submodules of submodules</div><div> </div><div> If the submodule is in a subdirectory, it needs to have that structure</div><div> preserved. This means the unpack path needs to be in the 'dirname' of the</div><div> final path -- since the unpack directory name is specified in the URI.</div><div> </div><div> Additional specific test cases were added to ensure this is working properly</div><div> based on two recent error reports.</div><div> </div><div> Signed-off-by: Mark Hatle <<a href="mailto:mark.hatle@windriver.com">mark.hatle@windriver.com</a>></div><div> Signed-off-by: Richard Purdie <<a href="mailto:richard.purdie@linuxfoundation.org">richard.purdie@linuxfoundation.org</a>></div></div><div>```</div><div>on top of that commit, I could see there are "git config submodule" being called concurrently in different processes, which does have a race condition, and will lead to the error observed by Stefan, although it's not easy to be reproduced.</div><div><br></div><div>//Ming Liu</div><div><br></div><div><br></div></div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Richard Purdie <<a href="mailto:richard.purdie@linuxfoundation.org">richard.purdie@linuxfoundation.org</a>> 於 2019年1月25日 週五 下午12:18寫道:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On Fri, 2019-01-25 at 11:57 +0100, <a href="mailto:liu.ming50@gmail.com" target="_blank">liu.ming50@gmail.com</a> wrote:<br>
> From: Ming Liu <<a href="mailto:liu.ming50@gmail.com" target="_blank">liu.ming50@gmail.com</a>><br>
> <br>
> A following issue was observed with gitsm:<br>
> > git -c core.fsyncobjectfiles=0 config submodule... failed with exit code 255, output:<br>
> > error: could not lock config file config: File exists<br>
> <br>
> Since all git submodules share a config file and Git creates a lock<br>
> file (.git/config.lock) to synchronize access to it, but Git only tries<br>
> exactly once and returns a error if it's already locked. This leads to<br>
> a race condition if there are many 'git config submodule' run in<br>
> different processes.<br>
> <br>
> It could be fixed by introducing a bitbake file lock to protect config<br>
> file from concurrent update from submodules.<br>
> <br>
> Reported-by: Stefan Agner <<a href="mailto:stefan.agner@toradex.com" target="_blank">stefan.agner@toradex.com</a>><br>
> Signed-off-by: Ming Liu <<a href="mailto:liu.ming50@gmail.com" target="_blank">liu.ming50@gmail.com</a>><br>
> ---<br>
> lib/bb/fetch2/gitsm.py | 19 +++++++++++++++----<br>
> 1 file changed, 15 insertions(+), 4 deletions(-)<br>
<br>
This issue should already have been fixed with recent changes to the<br>
gitsm fetcher. Could you confirm which version of the code you were<br>
seeing this problem with?<br>
<br>
Cheers,<br>
<br>
Richard<br>
<br>
</blockquote></div>