https://lists.openembedded.org/g/bitbake-devel/topic/73374817#11279 Preconditions/Environment ------------------------- Create multiple recipe using npm shrinkwrap files with common packages. Triggering Action/Cause ----------------------- Start the build. Expectation ----------- The fetch task is ok. Actual Result ------------- The fetch task fails. Reproducibility --------------- Always
Created attachment 4675 [details] Failing build log This is an example of build output during a failed build. When multiple "node" recipes attempt to fetch the same dependency simultaneously failures occur.
Created attachment 4676 [details] successful recipe fetch Example "node" recipe built in isolation fetching successfully.
Created attachment 4677 [details] failing recipe build Example "node" recipe fetch failure when built in parallel with other similar recipes with duplicate dependencies.
I suspect this is fix. If so please paste a link to the fix commit and close he defect.
Jean-Marie, Scott, What's the status of this bug? If there is a fix merged, please mark it as resolved and provide a link to the commit. Thanks, ../Randy
As far as I know this isn't fixed, I can't see a relevant commit for the npm fetcher class. My workflow only contains a single node recipe these days so I am no longer hitting the issue.
I have a patch on a private branch that fixes this, but it's more of a workaround than an actual fix to the npm fetcher. The patch just adds this line to npm.bbclass: do_fetch[lockfiles] += "${DL_DIR}/npm2_fetch.lock" I can submit the patch if people want.
I've a two stage fix for this. First one fixes the bad checksum problem, because of trying to download the files simultaneously. Second one is about making sure that downloaded check and verification are atomic. When first problem is fixed, one of the recipes might complete the download when other has decided file doesn't exist in download location. It ends up having downloaded false, but verified true, which confuses all the logic. I've sent two patches to e-mail list last week. Here they are: https://lists.openembedded.org/g/bitbake-devel/message/12764 https://lists.openembedded.org/g/bitbake-devel/message/12765
Changes landed on master: http://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/?id=8e6aaed8ffc9ff823056ad38ccc57c56f0afea26 http://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/?id=bd5a07fbcb6d12414975a38b0920eb9df79042fd