Page MenuHomePureOS Tracker

appstreamcli reporting GLib-CRITICAL error
Closed, DuplicatePublic


When I run apt update, aptstreamcli produces come GLib-CRITICAL errors. I can still use apt upgrade however.

# apt update
Hit:1 green InRelease

(appstreamcli:29242): GLib-CRITICAL **: 19:26:56.268: g_variant_builder_end: assertion '!GVSB(builder)->uniform_item_types || GVSB(builder)->prev_item_type != NULL || g_variant_type_is_definite (GVSB(builder)->type)' failed
(appstreamcli:29242): GLib-CRITICAL **: 19:26:56.269: g_variant_new_variant: assertion 'value != NULL' failed
(appstreamcli:29242): GLib-ERROR **: 19:26:56.269: g_variant_new_parsed: 11-13:invalid GVariant format string
Trace/breakpoint trap
Reading package lists... Done
E: Problem executing scripts APT::Update::Post-Invoke-Success 'if /usr/bin/test -w /var/cache/app-info -a -e /usr/bin/appstreamcli; then appstreamcli refresh-cache > /dev/null; fi'
E: Sub-process returned an error code

Event Timeline

jeremiah.foster updated the task description. (Show Details)
jeremiah.foster triaged this task as High priority.Dec 21 2018, 16:57
mak added a comment.Dec 21 2018, 17:12

I think this is an ancient bug - did you try a very old installation image of PureOS?

This appeared on a laptop that was shipped to me this week. I'll check the vintage of the software.

mak added a comment.Dec 21 2018, 17:48

Hmm yeah, then the PureOS version installed on that machine is likely very old.
In any case, after you update your system the issue will go away completely.

Cool. I have another Librem that was sent to me for testing, I'm going to look for this too on that one. I worry that some of the machines may be shipping with older software.

mak added a comment.Dec 21 2018, 18:51

Yeah, unfortunately the Librems are very often shipped with old software, Polywell didn't stay up-to-date with new releases. But issues like we had recently with the OEM setup of course also don't help with these issues.

I believe @kyle.rankin mentioned systems were shipping with the June release due to issues, but this was a month ago. How can I check the version shipped on my unit?

jeremiah.foster added a comment.EditedJan 1 2019, 10:01

The Librem's have a version that I think represents the physical device on the back, one of my Librems says "Librem 13, version 3." If you want to find the software version, or version of the overall OS, try this command (you may have to install inxi);

$ inxi -Fxrz

Which on my system produces;

System:    Host: sigmund Kernel: 4.18.0-2-amd64 x86_64 bits: 64 compiler: gcc v: 7.3.0 Console: tty 1 Distro: PureOS 
           base: Debian buster/sid 
Machine:   Type: Laptop System: Purism product: Librem 13 v3 v: 3.0 serial: <filter> 
           Mobo: Purism model: Librem 13 v3 v: 3.0 serial: <filter> BIOS: coreboot v: 4.7-Purism-4 date: 03/20/2018 
Repos:     Active apt repos in: /etc/apt/sources.list 
           1: deb green main
           Active apt repos in: /etc/apt/sources.list.d/debian.list 
           1: deb stretch main contrib non-free
           2: deb-src stretch main contrib non-free
           3: deb stretch-updates main contrib non-free
           4: deb-src stretch-updates main contrib non-free
           5: deb stretch/updates main contrib non-free
           6: deb-src stretch/updates main contrib non-free

You can see from output above that I'm running a 4.18 kernel. My distro is PureOS based on Debian Buster / Sid (so testing) and that my repos are PureOS 'green' mixed with Debian stretch. In the "Machine:" line I note that coreboot version is 4.78-Purism-4 from 03/20/2018. PureOS "green" may be a rolling release which means that the userland packages (and kernel potentially) are updated continually.

In particular coreboot has had some updates, there is a 4.9 version now: I wonder if we might investigate to determine what we have to do to spin up a new version of PureOS with a new coreboot version and get the distributor to flash it to the devices.