New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Critical errors on running appstreamcli refresh-cache with merged components #105
Comments
|
Nice! Thanks for the detailed report, I hope I can resolve this rather quickly (will be a good candidate for Debian 9 too). One thing that's already weird is that merge-type components shouldn't reach GVariant serialization at all, so something odd is going on here. |
|
Thanks for the quick response. It would be really nice to have it fixed for Debian 9 indeed! |
|
Okay, I can't reproduce this, but I have a theory. Can you please run |
|
Please test if that pretty trivial patch resolves the issue for you :-) (I am fairly confident about that - in this case, you only have these merge components on your system, and zero other valid components, which is likely a bug in your metadata. Still, we should handle this case more gracefully.) If this patch doesn't resolve the issue, it's some other problem (in that case, please reopen the bug). |
|
|
I guess that file in
Can you please test if the patch works for you? |
|
Yes, I can confirm that patch fixed the issue. Thanks! |
At the moment I have a XML file in
/var/cache/app-info/xmls/org.gnome.Software-eos-extra.xml.gzthat I'm using from GNOME Software to extend the distro-wide collection XML so that we can customize a bit how we show certain apps in our modified version of GNOME Software: add thumbnails, relocate some apps in other categories...However, while GNOME Software works well with what we have without using the
merge="append"tag attribute described in https://www.freedesktop.org/software/appstream/docs/chap-CollectionData.html#sect-AppStream-XML, we started getting errors in our developer machines when runningapt-get update, when the Post-Invoke-Success50appstreamhook installed by the appstream package tries to runappstreamcli refresh-cache.After a while I figured out that, even if GNOME Software ignores that
mergetag, the right thing would probably be to add it to each<component>node there, so that appstreamcli would not complain in our developer machines (production machines do not use APT anyway, just OSTree), so I changed the file to look like this:After doing that, I get the following CRITICAL errors when running
appstreamcli refresh-cache:I've tried this both with appstream-0.10.4 and appstream-0.10.6 drom Debian Stable and Testing and the error persists. After installing debug symbols for appstream (0.10.6) and glib (2.50.2, with some modifications from endless) I could get a backtrace for each of those criticals, which you can see attached here: appstreamcli-backtraces.txt
Just to be sure this was not an Endless-specific thing, I've setup a chroot with Ubuntu Yakkety x86_64, placed the same file inside
/var/cache/app-info/xmlsand got pretty much the same error right after apt finished installing theappstreampackage (version 0.10.1):This is not a show-stopper for us at all since we don't really rely on appstreamcli on production systems, but this seems wrong so it would be nice to fix it.
PS: Here is the complete file I'm testing this with: org.gnome.Software-eos-extra.xml.gz
The text was updated successfully, but these errors were encountered: