Refresh hangs indefinitely, appstreamcli using 100% CPU
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
appstream (Ubuntu) |
Fix Released
|
Medium
|
Matthias Klumpp | ||
Xenial |
Fix Released
|
High
|
Unassigned |
Bug Description
[Impact]
* The cache refresh is blocked on a strdup on a non-NULL-terminated string in some very rare occasions (very rare because this bug is present for almost 3y without a single report).
* Fixing this bug resolves the issue for people who might experience it.
* See https:/
[Test Case 1]
* Run `sudo appstreamcli refresh --force`
* The AppStream cache should be updated, no change in behavior should be seen.
[Test Case 2]
* In case you were experiencing the almost-infinite hang when running `sudo appstreamcli refresh --force`, this issue should be fixed with the SRU.
[Regression Potential]
* Very low, since this only fixes the decompression code. There should be no sideeffects of that (given that the patch itself doesn't break anything, which it shouldn't, since it has been tested upstream for a while)
[Other Info]
* This fix has been applied upstream: https:/
* A smaller version of the patch (one-liner) is available, at the expense of not having reduced memory usage: https:/
####
/!\ Installing the bugfix from xenial-proposed, without going through APT:
To install the fixed packages manually, please execute the following commands (for amd64, adjust URLs for other architectures):
```
cd /tmp && mkdir asfix
cd asfix
wget https:/
wget https:/
sudo dpkg -i libappstream3*.deb
sudo dpkg -i appstream*.deb
```
description: | updated |
Changed in appstream (Ubuntu Xenial): | |
importance: | Undecided → Medium |
milestone: | none → xenial-updates |
Changed in appstream (Ubuntu): | |
milestone: | xenial-updates → none |
tags: |
added: verification-done removed: verification-needed |
summary: |
- Refresh hangs due to strdup on non-NULL terminated string + Refresh hangs indefinitely, appstreamcli using 100% CPU |
description: | updated |
Hmm, since LP doesn't allow me to add the upstream bug URL directly: https:/ /github. com/ximion/ appstream/ issues/ 35