The simplest workaround seems to be to use Ctrl-C when apt update hangs
at the end. It's already done most of the work, and this just aborts the
running of appstreamcli at the end. You can then go ahead and update any
binary packages built from the appstream source package (ie any of
appstream appstream-doc appstream-index gir1.2-appstream libappstream-
dev libappstream3 libappstreamqt-dev libappstreamqt1 that are already
installed). The use of appstreamcli in the postinst shouldn't hang
because the new versions of appstreamcli and libappstream.so.3 will
already be in place.

However, using Ctrl-C is possible only when using the command line. I'm
not sure what happens if someone is using Synaptic or Gnome Software. I
assume it would be necessary to use System Monitor to kill off
appstreamcli. I'm concerned that we could see breakage in a very large
number of Xenial installations, all of which would require manual
intervention to get them unstuck.

The fact that this is happening now, when it hasn't been reported in the
past 3 years, must be due to a subtle change in the execution
environment, maybe due to updates in other shared libraries that
appstreamcli uses. The problem is a result of reading uninitialized
memory, and in the past it must have been pure luck that the memory
always contained zeroes.

-- 
You received this bug notification because you are a member of Ubuntu
Desktop Bugs, which is subscribed to appstream in Ubuntu.
https://bugs.launchpad.net/bugs/1579712

Title:
  Refresh hangs indefinitely, appstreamcli using 100% CPU

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/appstream/+bug/1579712/+subscriptions

-- 
desktop-bugs mailing list
desktop-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/desktop-bugs

Reply via email to