Description of problem: Thomas Backlund discovered that appstream-builder crashed while attempting to use more than one thread when trying to generate AppStream metadata for Mageia repositories. The command he ran was: > appstream-builder --origin="Mageia.Org" --basename=appstream --cache-dir=/tmp/appstream-cache-cauldron-core-release-x86_64 --enable-hidpi --max-threads=8 --min-icon-size=32 --output-dir=/var/tmp/appstream-md-cauldron-core-release-x86_64 --packages-dir=/distrib/bootstrap/distrib/cauldron/x86_64/media/core/release/ --temp-dir=/tmp/appstream-tempdata-cauldron-core-release-x86_64 Version-Release number of selected component (if applicable): 0.6.13-1.mga6 How reproducible: Unsure
(By Thomas Backlund from comment #20 in bug 18669) > Hm, it seemn to not be thread-safe :/ > > dropping down to 2 threads make it not segfault ... but that makes initial > run take 15 minutes :/ (By Neal Gompa from comment #21 in bug 18669) > Hmm, interestingly, I can't reproduce on my system with the 8 thread command > (admittedly, I have only a 4 core system), but I'm going to try to find a > more powerful machine to see if I can reproduce it. > > I've also filed a bug upstream about it, to notify Richard Hughes about the > issue. (By Thomas Backlund from comment #22 in bug 18669) > Ok, in order to get it done I had to drop down to a single thread :/ > > So it took about ~16 minutes for core/release with its ~28000 rpms... > > Now that is not a problem for a stable release as /release repos only have > to been generated once, so the time is not an issue. > > And updates trees are way smaller than /release so they will be easier... > but we do need to figure out why it breaks down so easily... > > Anyway, there is now appstream metadata generated for i586 and x86_64 being > mirrored out so you can check if it behaves as you want...
CC: (none) => tmbSee Also: (none) => https://github.com/hughsie/appstream-glib/issues/177URL: (none) => https://github.com/hughsie/appstream-glib/issues/177
See Also: (none) => https://bugs.mageia.org/show_bug.cgi?id=18669
Keywords: (none) => UPSTREAM
Created attachment 9474 [details] From tmb: appstream-builder segfault, can also be reproduced on current cauldron
Version: Cauldron => 6
So, Richard Hughes (upstream developer of appstream-glib) has diagnosed this as a failure in libfontconfig. He has the same issues and runs the extraction in single threaded mode because fontconfig is terrible[1]. So, unfortunately, there's nothing that can be done from appstream-glib's point of view. [1]: https://github.com/hughsie/appstream-glib/issues/177#issuecomment-314058903
Status: NEW => RESOLVEDResolution: (none) => INVALID