<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 &#39;dirname&#39; 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 &lt;<a href="mailto:mark.hatle@windriver.com">mark.hatle@windriver.com</a>&gt;</div><div>    Signed-off-by: Richard Purdie &lt;<a href="mailto:richard.purdie@linuxfoundation.org">richard.purdie@linuxfoundation.org</a>&gt;</div></div><div>```</div><div>on top of that commit, I could see there are &quot;git config submodule&quot; being called concurrently in different processes, which does have a race condition, and will lead to the error observed by Stefan, although it&#39;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 &lt;<a href="mailto:richard.purdie@linuxfoundation.org">richard.purdie@linuxfoundation.org</a>&gt; 於 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>
&gt; From: Ming Liu &lt;<a href="mailto:liu.ming50@gmail.com" target="_blank">liu.ming50@gmail.com</a>&gt;<br>
&gt; <br>
&gt; A following issue was observed with gitsm:<br>
&gt; &gt; git -c core.fsyncobjectfiles=0 config submodule... failed with exit code 255, output:<br>
&gt; &gt; error: could not lock config file config: File exists<br>
&gt; <br>
&gt; Since all git submodules share a config file and Git creates a lock<br>
&gt; file (.git/config.lock) to synchronize access to it, but Git only tries<br>
&gt; exactly once and returns a error if it&#39;s already locked. This leads to<br>
&gt; a race condition if there are many &#39;git config submodule&#39; run in<br>
&gt; different processes.<br>
&gt; <br>
&gt; It could be fixed by introducing a bitbake file lock to protect config<br>
&gt; file from concurrent update from submodules.<br>
&gt; <br>
&gt; Reported-by: Stefan Agner &lt;<a href="mailto:stefan.agner@toradex.com" target="_blank">stefan.agner@toradex.com</a>&gt;<br>
&gt; Signed-off-by: Ming Liu &lt;<a href="mailto:liu.ming50@gmail.com" target="_blank">liu.ming50@gmail.com</a>&gt;<br>
&gt; ---<br>
&gt;  lib/bb/fetch2/gitsm.py | 19 +++++++++++++++----<br>
&gt;  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>