** 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
+ 
+ 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
+   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)
+   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
+  contract_url: https://contracts.canonical.com
+  log_level: debug

** Summary changed:

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

-- 
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
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to