← Back to team overview

group.of.nepali.translators team mailing list archive

[Bug 2058133] Re: [SRU] update-manager crashes when ua security-status response is an error

 

This bug was fixed in the package update-manager - 1:22.04.20

---------------
update-manager (1:22.04.20) jammy; urgency=medium

  * Replace Popen to 'ua security-status --format=json' by the Ubuntu Pro API.
    The former is not stable enough and would break the program once in a
    while when something unrelated to Update Manager (Livepatch, for instance)
    went awry. The updates() end point from the API, on the other hand,
    does not raise exceptions. LP: #2058133.

 -- Nathan Pratta Teodosio <nathan.teodosio@xxxxxxxxxxxxx>  Fri, 22 Mar
2024 08:24:04 +0100

** Changed in: update-manager (Ubuntu Jammy)
       Status: Fix Committed => Fix Released

-- 
You received this bug notification because you are a member of नेपाली
भाषा समायोजकहरुको समूह, which is subscribed to Xenial.
Matching subscriptions: Ubuntu 16.04 Bugs
https://bugs.launchpad.net/bugs/2058133

Title:
  [SRU] update-manager crashes when ua security-status response is an
  error

Status in Canonical Livepatch Client:
  New
Status in ubuntu-advantage-tools package in Ubuntu:
  Invalid
Status in update-manager package in Ubuntu:
  Fix Released
Status in update-manager source package in Xenial:
  Fix Committed
Status in update-manager source package in Bionic:
  Fix Committed
Status in update-manager source package in Focal:
  Fix Committed
Status in update-manager source package in Jammy:
  Fix Released
Status in update-manager source package in Noble:
  Fix Released

Bug description:
  Impact
  ------

  Update Manager fails to launch in the LTS releases if the 'ua
  security-status' command fails. It tries to parse its output to
  generate the list of ESM-Apps and ESM-Infra updates that would be
  available if the system were attached to Ubuntu Pro.

  However, if ua finds some problem with unrelated stuff, such as
  Livepatch (as evidenced by the attached ubuntu-advantage.log), the
  command just raises an error, crashing Update Manager.

  Although Update Manager could catch the error, it would result in not
  showing Ubuntu Pro updates, simply because the information is not
  there.

  Better would be to ditch 'ua security-status' in favor of the Ubuntu
  Pro API. The updates() end point[1] will provide the information
  Update Manager wants even if the Ubuntu Advantage daemon has issues
  with other services such as Livepatch (as evidenced by #10), and it
  does not raise exceptions.

  [1] https://canonical-ubuntu-pro-client.readthedocs-
  hosted.com/en/latest/references/api/#u-pro-packages-updates-v1

  Test Plan
  ---------

  Attach your machine to Ubuntu Pro and make sure Livepatch is enabled
  in the output of 'ua status'. Then, simulate a failing Livepatch with

  --->
  mv /snap/bin/canonical-livepatch /snap/bin/canonical-livepatch.bak
  >/snap/bin/canonical-livepatch printf '%s\n' '#!/bin/sh' 'exit 1'
  chmod +x /snap/bin/canonical-livepatch
  <----

  Launch update-manager, it should open and not crash.

  Where problems could occur
  --------------------------

  In the Ubuntu Pro section of the updates, in form of wrong package
  data (e.g. package name, version number etc.) in the description pane
  when selecting a package. The section could not show at all, or the
  program could crash right away.

  Original bug report
  -------------------

  Below is a run in my computer. Please send a mail on what to do

  fuga2:~> update-manager -c -d
  Unexpected error(s) occurred.
  For more details, see the log: /var/log/ubuntu-advantage.log
  To file a bug run: ubuntu-bug ubuntu-advantage-tools
  Traceback (most recent call last):
    File "/usr/lib/python3/dist-packages/UpdateManager/backend/InstallBackendAptdaemon.py", line 448, in _on_finished
      self._action_done(action,
    File "/usr/lib/python3/dist-packages/UpdateManager/backend/__init__.py", line 365, in _action_done
      self.window_main.start_available()
    File "/usr/lib/python3/dist-packages/UpdateManager/UpdateManager.py", line 241, in start_available
      self.refresh_cache()
    File "/usr/lib/python3/dist-packages/UpdateManager/UpdateManager.py", line 459, in refresh_cache
      self._get_ua_security_status()
    File "/usr/lib/python3/dist-packages/UpdateManager/UpdateManager.py", line 285, in _get_ua_security_status
      s = json.load(p.stdout)
    File "/usr/lib/python3.10/json/__init__.py", line 293, in load
      return loads(fp.read(),
    File "/usr/lib/python3.10/json/__init__.py", line 346, in loads
      return _default_decoder.decode(s)
    File "/usr/lib/python3.10/json/decoder.py", line 337, in decode
      obj, end = self.raw_decode(s, idx=_w(s, 0).end())
    File "/usr/lib/python3.10/json/decoder.py", line 355, in raw_decode
      raise JSONDecodeError("Expecting value", s, err.value) from None
  json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
  ^CTraceback (most recent call last):
    File "/usr/bin/update-manager", line 125, in <module>
      Gtk.main()
    File "/usr/lib/python3/dist-packages/gi/overrides/Gtk.py", line 1687, in main
      with register_sigint_fallback(Gtk.main_quit):
    File "/usr/lib/python3.10/contextlib.py", line 142, in __exit__
      next(self.gen)
    File "/usr/lib/python3/dist-packages/gi/_ossighelper.py", line 237, in register_sigint_fallback
      signal.default_int_handler(signal.SIGINT, None)
  KeyboardInterrupt

  fuga2:~> ubuntu-bug ubuntu-advantage-tools
  fuga2:~> update.go:85: cannot change mount namespace according to change mount (/var/lib/snapd/hostfs/usr/local/share/doc /usr/local/share/doc none bind,ro 0 0): cannot open directory "/usr/local/share": permission denied
  update.go:85: cannot change mount namespace according to change mount (/var/lib/snapd/hostfs/usr/share/xubuntu-docs /usr/share/xubuntu-docs none bind,ro 0 0): cannot open directory "/var/lib": permission denied
  Gtk-Message: 11:23:47.656: Not loading module "atk-bridge": The functionality is provided by GTK natively. Please try to not load it.

  fuga2:~>

  ProblemType: Bug
  DistroRelease: Ubuntu 22.04
  Package: ubuntu-advantage-tools 31.2~22.04
  ProcVersionSignature: Ubuntu 5.15.0-100.110-generic 5.15.143
  Uname: Linux 5.15.0-100-generic x86_64
  ApportVersion: 2.20.11-0ubuntu82.5
  Architecture: amd64
  CasperMD5CheckResult: unknown
  CurrentDesktop: ubuntu:GNOME
  Date: Sun Mar 17 11:22:30 2024
  PackageArchitecture: all
  SourcePackage: ubuntu-advantage-tools
  UpgradeStatus: Upgraded to jammy on 2024-03-09 (7 days ago)
  apparmor_logs.txt: Mar 17 11:15:18 fuga2 kernel: audit: type=1400 audit(1710666917.933:11): apparmor="STATUS" operation="profile_load" profile="unconfined" name="ubuntu_pro_apt_news" pid=1057 comm="apparmor_parser"
  cloud-id.txt-error: Invalid command specified 'cloud-id'.
  livepatch-status.txt-error: Failed running command '/snap/bin/canonical-livepatch status' [exit(1)]. Message: error executing status: open /var/snap/canonical-livepatch/264/livepatchd.err: permission denied
  uaclient.conf:
   contract_url: https://contracts.canonical.com
   log_level: debug

To manage notifications about this bug go to:
https://bugs.launchpad.net/canonical-livepatch-client/+bug/2058133/+subscriptions