Many thanks for your proactivity, Giacomo!, it is always very helpful to
know beforehand that a proposed change really fixes the real end user
case — that's all that matters after all.

** Description changed:

  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
  ---------
  
- To be determined
+ 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

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

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

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/ubuntu-advantage-tools/+bug/2058133/+subscriptions


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

Reply via email to