[Bug 2076084] Re: Additional drivers tab cause uncancellable operation that prevents the program from closing
Andreas Hasenack
2076084 at bugs.launchpad.net
Fri Oct 18 18:37:20 UTC 2024
I branched oracular off of 0.102, pushed to upstream. Then I changed
oracular to plucky in d/changelog in ubuntu/master, tagged that as
0.103, and pushed upstream too. So now we have ubuntu/master tracking
plucky, with your 0.103 changes, and I sponsored that for plucky. Given
plucky is not yet open, it's in the unapproved queue for now.
If this is wanted for Oracular, it needs to become an SRU at this point.
You have almost everything in place in the bug description: impact, test
plan. Just missing is the "Where problems could occur" section from the
template[1], and an MP or debdiff for oracular. These are the general
steps for a normal SRU[2].
1. https://canonical-sru-docs.readthedocs-hosted.com/en/latest/reference/bug-template/#reference-sru-bug-template
2. https://canonical-sru-docs.readthedocs-hosted.com/en/latest/howto/standard/
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to software-properties in Ubuntu.
https://bugs.launchpad.net/bugs/2076084
Title:
Additional drivers tab cause uncancellable operation that prevents the
program from closing
Status in software-properties package in Ubuntu:
In Progress
Status in software-properties source package in Oracular:
New
Status in software-properties source package in Plucky:
In Progress
Bug description:
Start software-properties-gtk, switch to additional drivers tab. The
program will start consuming 100% CPU for quite some time (many
seconds or minutes depending on the machine).
There is however no way to cancel the operation other than killing
software-properties. Trying to close the window or clicking Close
button hangs.
Test plans
----------
1. Start software-properties-gtk
1.1. Go to additional drivers tab.
1.2. Click close at the south-east corner or close the window via your window manager.
Expected. Window closes immediately.
4. Start software-properties-gtk
4.1. Go to additional drivers tab and wait.
Expected: The viewport will at the end say that either no drivers are available or show a list of drivers such as in the drivers-list.png attachment. The cancel/retry buttons are gone in the latter case.
2. Start software-properties-gtk and 'top' in a terminal
2.1. Go to additional drivers tab.
Expected: The 'python3' command starts consuming 100% CPU.
2.2. Click cancel.
Expected: The aforementioned process is no longer hogging the CPU, indicating that the driver scan really stopped. The button is now retry, clickable.
2.3. Click retry.
Expected: The 'python3' command starts consuming 100% CPU. The button is now cancel.
3. Start software-properties-gtk and 'top' in a terminal
3.1. Go to additional drivers tab.
3.2. Get the PID of the 'python3' process consuming 100% CPU and kill it with kill -29 PID
Expected: The viewport reports the error. Retry is clickable.
5. Start software-properties-gtk
5.1. Introduce a unconditional exception in /usr/lib/python3/dist-packages/UbuntuDrivers/detect.py:system_device_drivers, e.g.:
--->
--- /usr/lib/python3/dist-packages/UbuntuDrivers/detect.py
+++ /usr/lib/python3/dist-packages/UbuntuDrivers/detect.py
@@ -866,4 +866,5 @@
def system_device_drivers(apt_cache=None, sys_path=None, freeonly=False):
+print(fooo)
'''Get by-device driver packages that are available for the system.
<---
5.2. Go to additional drivers tab.
Expected: "An error occurred while searching for drivers."; In the terminal, the backtrace is shown:
--->
Traceback (most recent call last):
File "/home/nteodosio/canonical/ubuntu-pro/software-properties/softwareproperties/gtk/SoftwarePropertiesGtk.py", line 1456, in detect_drivers
raise(self.p.exception)
Exception: Traceback (most recent call last):
File "/home/nteodosio/canonical/ubuntu-pro/software-properties/softwareproperties/gtk/SoftwarePropertiesGtk.py", line 121, in run
multiprocessing.Process.run(self)
File "/usr/lib/python3.12/multiprocessing/process.py", line 108, in run
self._target(*self._args, **self._kwargs)
File "/home/nteodosio/canonical/ubuntu-pro/software-properties/softwareproperties/gtk/SoftwarePropertiesGtk.py", line 1437, in wrapper_system_device_drivers
devices = detect.system_device_drivers(cache)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/UbuntuDrivers/detect.py", line 919, in system_device_drivers
print(fooooo)
^^^^^^
NameError: name 'fooooo' is not defined
<---
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/software-properties/+bug/2076084/+subscriptions
More information about the foundations-bugs
mailing list