Can't "apt-get update" - appstreamcli stuck at 100% Processor Utilization

Bug #1583845 reported by Lonnie Lee Best
218
This bug affects 48 people
Affects Status Importance Assigned to Milestone
AppStream
New
Undecided
Unassigned
appstream (Ubuntu)
Fix Released
Undecided
Unassigned

Bug Description

I did a fresh install of Ubuntu 16.04 without being connected to the internet because when connected to the internet the install would lock up at the point that ubuntu was "Retrieving 56 of 56".

Installation (without internet) was successful, then I connected to the internet and tried to update:

The update-process seemed to be stuck, so I discovered that the command appstreamcli was at 100% processor utilization indefinitely.

When I kill that process the update fails. This is clearly a bug, but hopefully someone can suggest a work-around until it is fixed.

user@pc:~$ sudo apt-get update
Get:1 http://security.ubuntu.com/ubuntu xenial-security InRelease [94.5 kB]
Hit:2 http://us.archive.ubuntu.com/ubuntu xenial InRelease
Get:3 http://us.archive.ubuntu.com/ubuntu xenial-updates InRelease [94.5 kB]
Get:4 http://us.archive.ubuntu.com/ubuntu xenial-backports InRelease [92.2 kB]
Fetched 281 kB in 0s (387 kB/s)
Terminated
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 > /dev/null; fi'
E: Sub-process returned an error code

ProblemType: Bug
DistroRelease: Ubuntu 16.04
Package: appstream 0.9.4-1
ProcVersionSignature: Ubuntu 4.4.0-22.40-generic 4.4.8
Uname: Linux 4.4.0-22-generic x86_64
ApportVersion: 2.20.1-0ubuntu2
Architecture: amd64
Date: Thu May 19 19:08:30 2016
InstallationDate: Installed on 2016-05-19 (0 days ago)
InstallationMedia: Ubuntu 16.04 LTS "Xenial Xerus" - Release amd64 (20160420.1)
ProcEnviron:
 LANGUAGE=en_US
 TERM=xterm-256color
 PATH=(custom, no user)
 LANG=en_US.UTF-8
 SHELL=/bin/bash
SourcePackage: appstream
UpgradeStatus: No upgrade log present (probably fresh install)

Revision history for this message
Lonnie Lee Best (launchpad-startport) wrote :
Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in appstream (Ubuntu):
status: New → Confirmed
Revision history for this message
Jan Claeys (janc) wrote :

I have the same problem, and it happens with both apt-get and synaptic when I try to update the list of packages.

It has nothing to do with installing without an internet connection, as for me this just started happening tonight (it worked fine before).

A "workaround" is to remove the appstream package, which also removes the GNOME/Ubuntu Software package (the GUI software installer), which is fine for me (I never use those anyway), but probably not for "regular" users...

description: updated
description: updated
Revision history for this message
Jan Claeys (janc) wrote :

An strace of the appstreamcli process while it's stuck at 100% CPU shows nothing at all, so it looks like it got stuck in a loop doing "something" that needs no syscalls...

Revision history for this message
rot13 (pp) wrote :

I noticed the same problem on a fresh 16.04 install. I booted it again few days later, and noticed "appstreamcli refresh" process using 100% cpu. Running strace on it doesn't show any activity. Gdb shows that it seems to be looping in as_yamldata_parse_distro_data ():

(gdb) bt
#0 0x00007eff42d03c4c in as_yamldata_parse_distro_data ()
   from /usr/lib/x86_64-linux-gnu/libappstream.so.3
#1 0x00007eff42d05537 in as_metadata_parse_yaml ()
   from /usr/lib/x86_64-linux-gnu/libappstream.so.3
#2 0x00007eff42d05c55 in as_metadata_parse_file ()
   from /usr/lib/x86_64-linux-gnu/libappstream.so.3
#3 0x00007eff42d08d49 in as_data_pool_update ()
   from /usr/lib/x86_64-linux-gnu/libappstream.so.3
#4 0x00007eff42cfe272 in as_cache_builder_refresh ()
   from /usr/lib/x86_64-linux-gnu/libappstream.so.3
#5 0x00000000004049de in ascli_refresh_cache ()
#6 0x0000000000403ceb in as_client_run ()
#7 0x00007eff4292c830 in __libc_start_main (main=0x403490 <main>, argc=2,
    argv=0x7ffc131f67c8, init=<optimized out>, fini=<optimized out>,
    rtld_fini=<optimized out>, stack_end=0x7ffc131f67b8)
    at ../csu/libc-start.c:291
#8 0x0000000000403519 in _start ()

Revision history for this message
Matthias Klumpp (ximion) wrote :

Yes, this is already fixed in proposed-updates.
A more complete fix is in Yakkety, but the one in x-p-u will do the job just fine (see the bug report this one is a duplicate of for details).

Revision history for this message
Todd Bossaller (teche70) wrote :

Yes click on the bug link below and check out post #24 for the fix. It worked for me

Revision history for this message
Chuck Burgess (ashnazg) wrote :

Instructions for installing the patches to test (in Matthias' comment https://bugs.launchpad.net/ubuntu/+source/appstream/+bug/1579712/comments/24 on bug #1579712) *did* solve the issue for me.

Julian (gapplef)
information type: Public → Public Security
Julian (gapplef)
information type: Public Security → Private Security
information type: Private Security → Public
Revision history for this message
Joel (joelgomez3) wrote :
Revision history for this message
CANboat (canboat) wrote :
Frederick (fredisz)
Changed in appstream (Ubuntu):
status: Confirmed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.