** Description changed: I'm running Ubuntu 22.04.5 LTS with KDE (sometimes called Kubuntu). After getting a list of proposed SW updates and allowing them via the standard Software Center (Plasma Discover), Discover crashed. The automatic bug reporting triggered, but failed to capture a crash dump for unknown reasons and would not proceed, so this is reported manually. When I restarted Discover, it crashed again. Rebooted, and it still crashed. The crash was not limited to Discover, but also happened if I ran "apt-get update". The error message pointed to the appstreamcli - utility crashing with a segmentation fault, so I also tried to run - "appstreamcli status". It also crashed with the following output (the - GLib-CRITICAL part being identical to the one I saw with "apt-get - update", not sure about the parenthesized expression at the start of the - error message): + utility crashing with a segmentation fault. This led me to try the + command "appstreamcli status", which crashed in a very similar way with + the following output (the GLib-CRITICAL part being identical to the one + I saw with "apt-get update", not so sure about the parenthesized + expression at the start of the error message): AppStream Status: Version: 0.15.2 OS metadata sources: - Software catalog data - Group: os-catalog - /var/lib/swcatalog/yaml - • YAML: 15 - /var/cache/app-info/xmls - • Collection XML: 0 - /var/lib/swcatalog/icons - • Iconsets: - ubuntu-jammy-security-main - ubuntu-jammy-main - ubuntu-jammy-security-restricted - ubuntu-jammy-security-universe - ubuntu-jammy-security-multiverse - ubuntu-jammy-universe - ubuntu-jammy-multiverse - ubuntu-jammy-updates-main - ubuntu-jammy-updates-restricted - ubuntu-jammy-updates-universe - ubuntu-jammy-updates-multiverse - ubuntu-jammy-backports-main - ubuntu-jammy-backports-restricted - ubuntu-jammy-backports-universe - ubuntu-jammy-backports-multiverse + Software catalog data + Group: os-catalog + /var/lib/swcatalog/yaml + • YAML: 15 + /var/cache/app-info/xmls + • Collection XML: 0 + /var/lib/swcatalog/icons + • Iconsets: + ubuntu-jammy-security-main + ubuntu-jammy-main + ubuntu-jammy-security-restricted + ubuntu-jammy-security-universe + ubuntu-jammy-security-multiverse + ubuntu-jammy-universe + ubuntu-jammy-multiverse + ubuntu-jammy-updates-main + ubuntu-jammy-updates-restricted + ubuntu-jammy-updates-universe + ubuntu-jammy-updates-multiverse + ubuntu-jammy-backports-main + ubuntu-jammy-backports-restricted + ubuntu-jammy-backports-universe + ubuntu-jammy-backports-multiverse - Data from locally installed software - Group: local-metainfo - /usr/share/applications - • Desktop Entry: 152 - /usr/share/metainfo - • MetaInfo XML: 134 + Data from locally installed software + Group: local-metainfo + /usr/share/applications + • Desktop Entry: 152 + /usr/share/metainfo + • MetaInfo XML: 134 Other metadata sources: - Group: flatpak-flathub-x86_64 - /var/lib/flatpak/appstream/flathub/x86_64/active - • Collection XML: 1 - /var/lib/flatpak/appstream/flathub/x86_64/active/icons - • Iconsets: - 128x128 - 64x64 - flatpak + Group: flatpak-flathub-x86_64 + /var/lib/flatpak/appstream/flathub/x86_64/active + • Collection XML: 1 + /var/lib/flatpak/appstream/flathub/x86_64/active/icons + • Iconsets: + 128x128 + 64x64 + flatpak Summary: (appstreamcli:18919): GLib-CRITICAL **: 04:09:35.743: g_strsplit: assertion 'string != NULL' failed Segmentation fault (core dumped) I'm not familiar with appstream at all, only having used it indirectly through the standard software update mechanism, but I suspected some kind of corruption of its datafiles, and managed to trace it to /var/lib/flatpak/appstream/flathub/x86_64/active/appstream.xml.gz. If I moved the file away, the crashes went away in all cases (Discover, apt-get, appstreamcli). The file didn't appear to be truncated or visibly corrupt after uncompressing it (47 MB in size over almost 700000 lines so not easy to check completely), but I tried refreshing it with "flatpak update --appstream". This recreated the file in a fresh directory (adjusting the active symlink to point at it) but the contents was the same and the crashes were the same. This was with the current metadata from Flathub on June 16 2026. Bisecting the file, I managed to narrow the problem down to one specific - component, named MegaMesh. It's component declaration starts like this: + component, named MegaMesh. Its component declaration starts like this: <component type="desktop-application"> - <id>net.atns.MegaMesh</id> - <name>MegaMesh</name> - <summary>3D model viewer</summary> - <project_license>GPL-3.0-or-later</project_license> + <id>net.atns.MegaMesh</id> + <name>MegaMesh</name> + <summary>3D model viewer</summary> + <project_license>GPL-3.0-or-later</project_license> ...and inside it, the following lines seems to be what triggered the crash inside appstreamcli: - <tags> - <tag>3D</tag> - <tag>model</tag> - <tag>viewer</tag> - <tag>obj</tag> - <tag>vulkan</tag> - </tags> + <tags> + <tag>3D</tag> + <tag>model</tag> + <tag>viewer</tag> + <tag>obj</tag> + <tag>vulkan</tag> + </tags> + It is the only component using that particular syntax, and removing + these tags from the component is enough to stop the crashes (although I + suspect they will reappear when the metadata is refreshed the next + time). The <tags> syntax is only used for one other component, + "Missingno", with a somewhat different syntax, and that component didn't + trigger the crash: - It is the only component using that particular syntax, and removing these tags from the component is enough to stop the crashes (although I suspect they will reappear when the metadata is refreshed the next time). The <tags> syntax is only used for one other component, "Missingno", with a somewhat different syntax, and that component didn't trigger the crash: - - <tags> - <tag namespace="flathub">emulator</tag> - </tags> + <tags> + <tag namespace="flathub">emulator</tag> + </tags> Maybe it's the absence of a namespace in the crashing case? Or that there are multiple <tag> instances within the <tags>? I'm attaching a bisected XML file that can be used to trigger the bug in a more convenient way, e.g. via the command "appstreamcli convert bisected_appstream.xml bisected_appstream.yaml". I realize that Flathub is not enabled by default in Ubuntu 22.04.5, but as the crash prevents software updates for the entire system, not just Flathub packages, the effects of the bug are pretty severe for a still- supported LTS release. Here's the version info: > lsb_release -rd Description: Ubuntu 22.04.5 LTS Release: 22.04 > apt-cache policy appstream appstream: - Installed: 0.15.2-2 - Candidate: 0.15.2-2 - Version table: - *** 0.15.2-2 500 - 500 http://se.archive.ubuntu.com/ubuntu jammy/main amd64 Packages - 100 /var/lib/dpkg/status + Installed: 0.15.2-2 + Candidate: 0.15.2-2 + Version table: + *** 0.15.2-2 500 + 500 http://se.archive.ubuntu.com/ubuntu jammy/main amd64 Packages + 100 /var/lib/dpkg/status
-- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/2156906 Title: appstreamcli segmentation fault prevents SW updates To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/appstream/+bug/2156906/+subscriptions -- ubuntu-bugs mailing list [email protected] https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
